CS-31001 (Se) - CS Mid Sept 2024
CS-31001 (Se) - CS Mid Sept 2024
CS-31001 (Se) - CS Mid Sept 2024
Q2.
a) What is the major change introduced in Iterative Waterfall Model that was not
present in Classical Waterfall Model and how does it benefit the overall SDLC process?
Solution:
Classical waterfall model is idealistic. It assumes that no defect is introduced (unintentionally)
during any development phase. But in reality, defects get introduced in almost every phase
of the life cycle. Also, defects usually get detected much later in the life cycle e.g., a design
defect might go unnoticed till the coding or testing phase.
Once a defect is detected, we need to go back to the phase where it was introduced and
redo some of the work done during that and all subsequent phases.
Therefore we need feedback paths in the classical waterfall model. In Iterative Waterfall
Model, at any point we can go back to any previous phase and start doing some reworks in
that phase and all subsequent phases in iterative manner. Hence Iterative Waterfall Model
gives facility to solve any defect introduced in any earlier SDLC phase.
b) What are the major features of Spiral Model, and generally what kind of software
development this Model facilitates?
Solution:
Spiral model consists of multiple loops or iterations. Starting from inner loop, each loop may
represent one SDLC phase (e.g., Requirement Analysis, Design, Construction etc.)l; also each
loop is divided in 4 quadrants - 1st quadrant Objective of the loop or iteration is identified, in
2nd quadrant associated risks and risk mitigation strategies are formulated, in 3rd quadrant
actual execution of the activities for that SDLC phase is carried out, in 4th quadrant the
output of the activities of current iteration or loop are jointly reviewed along wit customer
and plan is made for next iteration activities.
Generally Spiral model is selected for quite complicated software development which
undergoes many iterations and takes substantial amount of time for development
completion (I.e., in one iteration development of entire software is not possible because of
its high level of complexity and dependencies on several dynamic factors, also it may need
continuous risk analysis and risk mitigation strategies).
(3 + 2)
Q3.
a) What does the term Software Crisis indicate? Detail about Software Crisis
situations prevalent in Software Industry.
(b)Mention in detail how Software Crisis affects the software industry and what are
the impacts of this crisis situation.
(c) As per your Idea, what should be resolution approaches for this situation?
Solution:
(a) Considerable deviation of software project plans and their actual executions
characterized by overrun of software projects in terms of its schedule, effort, budget
indicates software crisis. The dynamic situation and lack of control of the execution of
software projects which defy any software project management and planning related rules
are great concerns of IT organizations, and are characteristics of Software Crisis.
(b) High uncertainty of meeting objectives of software projects, achieving its goals and
success, successful completion of the software projects, maintaining profitability of the
projects and organization - all are effect of software crisis on software industry. Client
dissatisfaction, challenges of retaining clients and obtaining their future projects, lack of
predictability of business growth and organization sustainability in dynamic and competitive
business environment - all are caused by the Software Crisis prevailing in the software
industry.
(2 + 2 + 1)
Q4.
Explain how does Structured Analysis and Design differ from Object-Oriented Design?
Which among these 2 different approaches for software development is gaining more
momentum in recent time and why? (3+2)
Solution:
Structure Analysis and Design is process and function based approach. Object oriented
Design is Object based approach.
Structure Analysis and Design focuses on identifying Context Diagram, entities, various level
DFDs, data flows etc. Object Oriented Design focuses on finding out Class Diagram, Object
Diagram, State Transition Diagrams, Sequence Diagrams, Activity Diagrams, Deployment
Views etc.
In recent decades Object Oriented Analysis and Design has got more prominence as it
represents the real word with existence of numeral objects and interaction between
them while doing Software Analysis and Design, classify the objects in proper classes, try
to leverage re-usability of behaviour for different hierarchy of objects/classes,
implement important properties like polymorphism, abstraction, inheritance etc.
Q5.
Answer either part A or part B of the following question:
A. Consider a software called Automobile Spare Parts Shop Automation Software
(AAS) which is required by a retail automobile spare parts shop. The retail shop deals
with a large variety of automobile spare parts procured from various manufacturers.
The shop owner maintains different parts in wall mounted and numbered racks.
Whenever new supplies arrive, the shop owner should be able to update the
inventory.
Whenever any sales occurs, the shop owner would enter the code number of the
parts and the corresponding quantities sold. AAS should print out the cash receipt,
and adjust the inventory.
The computer should also generate report of the revenue for any specified day
and month, when queried by the owner.
Draw the use-case diagram for the above software.
Draw the sequence diagrams for any three use cases.
Draw the class diagram.
Solution:
.
OR
B. Consider a software project scenario that has the following activities and their
duration in weeks.
Activity Duration Immediate Predecessor (s)
A 4 -
B 5 -
C 3 B
D 12 A
E 6 C
F 9 B
G 4 E,F
Solution: