Professional Documents
Culture Documents
THAKKAR
SEM:5TH(CSE)
SUBJECT CODE:3150711
Q1. Explain Risk Management.
Risk Management:
A computer code project may be laid low with an outsized sort of risk. so
as to be ready to consistently establish the necessary risks which could
have an effect on a computer code project, it’s necessary to reason risks
into completely different categories. The project manager will then
examine the risks from every category square measure relevant to the
project.
There square measure 3 main classes of risks that may have an effect on
a computer code project:
Project Risks:
Project risks concern varies sorts of monetary fund, schedule, personnel,
resource, and customer-related issues. a vital project risk is schedule
slippage. Since computer code is intangible, it’s terribly tough to observe
and management a computer code project. it’s terribly tough to manage
one thing that can not be seen. For any producing project, like producing
cars, the project manager will see the merchandise taking form.
For example, see that the engine is fitted, at the moment the doors area
unit fitted, the automotive is obtaining painted, etc. so he will simply
assess the progress of the work and management it. The physical property
of the merchandise being developed is a vital reason why several
computer codes comes to suffer from the danger of schedule slippage.
Technical Risks:
Technical risks concern potential style,
implementation, interfacing, testing, and maintenance issues. Technical
risks conjointly embody ambiguous specifications, incomplete specification,
dynamic specification, technical uncertainty, and technical degeneration.
Most technical risks occur thanks to the event team’s lean information
concerning the project.
Business Risks:
This type of risk embodies the risks of building a superb product that
nobody needs, losing monetary fund or personal commitments, etc.
Q2. List different agile process model and explain any one
with suitanle example.
Agile Model
The meaning of Agile is swift or versatile."Agile process model" refers to a software
development approach based on iterative development. Agile methods break tasks into
smaller iterations, or parts do not directly involve long term planning. The project scope
and requirements are laid down at the beginning of the development process. Plans
regarding the number of
iterations, the duration and the scope of each iteration are clearly defined in advance.
Each iteration is considered as a short time "frame" in the Agile process model, which
typically lasts from one to four weeks. The division of the entire project into smaller
parts helps to minimize the project risk and to reduce the overall project delivery time
requirements. Each iteration involves a team working through a full software
development life cycle including planning, requirements analysis, design, coding, and
testing before a working product is demonstrated to the client.
Requirements gathering
Construction/ iteration
Deployment
Feedback
1. Requirements gathering: In this phase, you must define the requirements. You
should explain business opportunities and plan the time and effort needed to build
the project. Based on this information, you can evaluate technical and economic
feasibility
2. Design the requirements: When you have identified the project, work with
stakeholders to define requirements. You can use the user flow diagram or the high-
level UML diagram to show the work of new features and show how it will apply to your
existing system.
3. Construction/ iteration: When the team defines the requirements, the work begins.
Designers and developers start working on their project, which aims to deploy a
working product. The product will undergo various stages of improvement, so it
includes simple, minimal functionality.
5. Deployment: In this phase, the team issues a product for the user's work
environment.
6. Feedback: After releasing the product, the last step is feedback. In this, the team
receives feedback about the product and works through the feedback.
The names of the function should be written in camel case starting with small letters.
Indentation:
Proper indentation is very important to increase the readability of the code. For making
the code readable, programmers should use White spaces properly. Some of the
spacing conventions are given below:
On the other hand, Coding guidelines give some general suggestions regarding the
coding style that to be followed for the betterment of understandability and readability
of the code.
Software engineering can be viewed as a layered technology. Various layers are listed below.
This layer covers a broad array of tasks that include requirements analysis, design, coding,
testing, and maintenance phase of the software development. The tools layer provides
computerized or semi-computerized support for the process and the method layer.
Advantages of Scrum
The main advantage of Scrum is that the whole development process happens in short
iterations. Therefore, when it comes to project changes, you can adapt smoothly and in time.
Stakeholders can provide you with feedback immediately after a Sprint ends and before the next
one starts. So, the team can implement all the requirements immediately.
Through continuous feedback and regular testing, we increase the quality of the development
process.
Often, communication within the team ensures a common understanding of the project and its
solutions.
Disadvantages of Scrum
There are no deadlines for delivering products. Very often, this leads to long discussions
between the Product Owner/Scrum Master and the Project Manager as PMs keep demanding
new functionality.
Requirement Engineering
Feasibility Study
The key parameters which define the quality of any software products, which are also an
outcome of the Cocomo are primarily Effort & Schedule:
Schedule: Simply means the amount of time required for the completion of the job, which is,
of course, proportional to the effort put. It is measured in the units of time such as weeks,
months.
Organic
Semidetached
1.Organic: A development project can be treated of the organic type, if the project deals with
developing a well-understood application program, the size of the development team is
reasonably small, and the team members are experienced in developing similar methods of
projects. Examples of this type of projects are simple business systems, simple
inventory management systems, and data processing systems
Alpha testing is a type of acceptance testing, which is performed to identify all possible
bugs/issues before releasing the product to the end-user. Alpha test is a preliminary software
field test carried out by a team of users to find out the bugs that were not found previously by
other tests. Alpha testing is to simulate a real
user environment by carrying out tasks and operations that actual user might perform. Alpha
testing implies a meeting with a software vendor and client to ensure that the developers
appropriately meet the client's requirements in terms of the performance, functionality, and
durability of the software.
Beta Testing is a type of acceptance testing; it is the final test before shipping a product to the
customers. Beta testing of a product is implemented by "real users "of the software application
in a "real environment." In this phase of testing, the software is released to a limited number of
end-users of the product to obtain feedback on the product quality. It allows the real customers
an opportunity to provide inputs into the design, functionality, and usability of the product.
These inputs are essential for the success of the product. Beta testing reduces product failure
risks and increases the quality of the product through
customer validation. Direct feedback from customers is a significant advantage of beta testing.
This testing helps to tests the software in a real environment.
Code Review is a systematic examination, which can find and remove the vulnerabilities in the
code such as memory leaks and buffer overflows.
Technical reviews are well documented and use a well-defined defect detection process that
includes peers and technical experts.
Reviewers prepare for the review meeting and prepare a review report with a list of findings.
Technical reviews may be quite informal or very formal and can have a number of purposes but
not limited to discussion, decision making, evaluation of alternatives, finding defects and
solving technical problems.
Integration testing is the process of testing the interface between two software units or
module. It’s focus on determining the correctness of the interface. The purpose of the
integration testing is to expose faults in the
interaction between integrated units. Once all the modules have been unit tested, integration
testing is performed.
Advantages:
It is convenient for small systems.
Disadvantages:
There will be quite a lot of delay because you would have to wait for all the modules to be
integrated.
High risk critical modules are not isolated and tested on priority since all modules are tested at
once.
Advantages:
A principle advantage of this integration testing is that several disjoint subsystems can be
tested simultaneously.
Disadvantages:
In this testing, the complexity that occurs when the system is made up of a large number of
small subsystem.
Advantages:
Version Control:-
Software Version Control is a system or tool that captures the changes to a source code
elements: files, folders, images or binaries.
A version control system (also known as a Revision Control System) is a repository of files,
often the files for the source code of computer programs, with monitored access. Every change
made to the source is tracked, along with who made the change, why they made it, and
references to problems fixed, or enhancements introduced, by the change.
• Combines procedures and tools to manage the different versions of configuration objects
created during the software process.
Change Control:-
Change control is a systematic approach to managing all changes made to a product or system.
The purpose is to ensure that no unnecessary changes are made, that all changes are
documented, that services are not unnecessarily disrupted and that resources are used
efficiently.