2012 Unit 1 Solution
2012 Unit 1 Solution
Ans.
Requirement elicitation
Requirement analysis
Requirement documentation
Review
Requirement analysis: This is more the organizing of answers to the first part. Which
solution is optimal? What are the trade-offs of various possible implementations. In this part
there may be the odd question but it isn't the main point as this is about seeing which solution
may be better under various constraints, e.g. which is the fastest or cheapest. This is more
about how is something to be done and why does that way make more sense than another.
8. Reuse requirements
2. Define the term software engineering. Explain the difference between software
engineering and other traditional engineering disciplines.
Ans. Software Engineering is the study and application of engineering to the design,
development, and maintenance of software.
In this model, the software development activities move to the next phase only after the
activities in the current phase are over. However, like is the case with a waterfall, one cannot
return to the previous stage. The phases of this model are:
Advantages
1. There is minimum planning overhead for the steps that are to follow.
2. There is certain amount of discipline that is enforced as one has to only look into one
phase of the process at any given point of time.
3. The project does not slip on its schedule.
4. The number of resources working on the project does not keep on increasing with each
passing day, as the planning for the same is done at the start of the phase itself.
Disadvantages
1. The inability of making changes to the system, once the system requirements have been
frozen.
The spiral model was introduced, due to the shortcomings in the waterfall and prototype
models of software engineering. It is a combination of the said two models of software
development. From the name of the model, it can be derived that the activities of software
development are carried out like a spiral. To explain the model further, the entire software
development process is broken down into small projects. The phases of the spiral model are
as follows:
Planning Phase
Risk Analysis Phase
Engineering Phase
Coding and Implementation Phase
Evaluation Phase
Advantages
Disadvantages
1. The client may have to spend a lot of time with the development team to fix the
issues that have cropped up in the software
2. This also leads to the over involvement of the customer in the process of software
development
4. Explain in detail the prototype model. What are the advantage and disadvantage of
developing a prototype of a system.
Ans. In this model, it is assumed that all the requirements may not be known at the start of the
development of the system. This model allows the users to interact and experiment with a
working model of the system known as prototype. The prototype gives the user an actual feel of
the system.
At any stage, if the user is not satisfied with the prototype, it can be discarded and an entirely
new system can be developed. Using the prototype, the client can get an actual feel of the
system.
So, this case of model is beneficial in the case when requirements cannot be freezed initially.
This prototype is developed based on the currently known requirements.
2. Quick design: When requirements are known, a preliminary design or quick design for the
system is created. It is not a detailed design and includes only the important aspects of the
system, which gives an idea of the system to the user.
3. Build prototype: Information gathered from quick design is modified to form the first
prototype, which represents the working model of the required system.
4. User evaluation: Next, the proposed system is presented to the user for thorough evaluation
of the prototype to recognize its strengths and weaknesses such as what is to be added or
removed.
5. Refining prototype: Once the user evaluates the prototype and if he is not satisfied, the
current prototype is refined according to the requirements. That is, a new prototype is developed
with the additional information provided by the user. The new prototype is evaluated just like the
previous prototype. This process continues until all the requirements specified by the user are
met. Once the user is satisfied with the developed prototype, a final system is developed on the
basis of the final prototype.
6. Engineer product: Once the requirements are completely met, the user accepts the final
prototype. The final system is evaluated thoroughly followed by the routine maintenance on
regular basis for preventing large-scale failures and minimizing downtime.
Advantages
1. Provides a working model to the user early in the process, enabling early assessment and
increasing user's confidence.
2. The developer gains experience and insight by developing a prototype there by resulting in
better implementation of requirements.
3. The prototyping model serves to clarify requirements, which are not clear, hence reducing
ambiguity and improving communication between the developers and users.
Disadvantages
1. If the user is not satisfied by the developed prototype, then a new prototype is developed.
This process goes on until a perfect prototype is developed. Thus, this model is time
consuming and expensive.
2. The developer loses focus of the real purpose of prototype and hence, may compromise
with the quality of the software. For example, developers may use some inefficient
algorithms or inappropriate programming languages while developing the prototype.
3. Prototyping can lead to false expectations. For example, a situation may be created where
the user believes that the development of the system is finished when it is not.
4. The primary goal of prototyping is speedy development, thus, the system design can suffer
as it is developed in series without considering integration of all other components.
5. Define DFD and ER diagram with example.
ANS.