Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
49 views

Module - 1 - Models Sample Problem Statements and Answers

The document provides an overview of several software process models including Waterfall, V-Model, Incremental/Iterative Models, RAD Model, Spiral Model, and Agile Models. For each model, it describes when they are generally used based on factors like project size and requirements clarity. It also provides examples of types of projects each model might be suitable for. The document then asks to recommend a model for several sample projects based on their characteristics and justification. Responses provide analyses for each project and recommend the best fitting model.

Uploaded by

pp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Module - 1 - Models Sample Problem Statements and Answers

The document provides an overview of several software process models including Waterfall, V-Model, Incremental/Iterative Models, RAD Model, Spiral Model, and Agile Models. For each model, it describes when they are generally used based on factors like project size and requirements clarity. It also provides examples of types of projects each model might be suitable for. The document then asks to recommend a model for several sample projects based on their characteristics and justification. Responses provide analyses for each project and recommend the best fitting model.

Uploaded by

pp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Software Process Models:

Waterfall model
 The Waterfall model is mostly used on smaller projects
where the requirements are very well known, clear and
fixed and there’s no need to change them quickly.
 It’s a well-structured approach.
 The stages are well-defined and easy to understand for all.
 Small or medium-sized projects with well-defined, unchanging
requirements.
 Projects that make use of a well-known technology stack and
tools.
 Waterfall model was used to develop enterprise applications like
Customer Relationship Management (CRM) systems, Human
Resource Management Systems (HRMS), Supply Chain
Management Systems, Inventory Management Systems, Point
of Sales (POS) systems for Retail chains etc.

The V model (Verification and Validation model)


 An extension of the waterfall model. All the requirements are
gathered at the start and cannot be changed.
 You have a corresponding testing activity for each stage. For
every phase in the development cycle, there is an associated
testing phase. highly disciplined, easy to understand, and
makes project management easier.
 The V model a good choice for software where downtimes and
failures are unacceptable.
 But it isn’t good for complex projects or projects that have
unclear or changing requirements.
 High confidence of customer is required for choosing the V-
Shaped model approach. Since, no prototypes are produced,
there is a very high risk involved in meeting customer
expectations.
 Application of V-Shaped model:
 This model is used in the medical development
field, as it is strictly disciplined domain.
The Incremental and Iterative Models:
 A good match for large projects.
 Major requirements must be defined; however, some details
can evolve with time.
 There is a need to get a product to the market early.
 A new technology is being used
 Initial versions of the software are generated early on.
 That facilitates customer evaluation and feedback.
 The incremental model is great for projects that have loosely-
coupled parts and projects with complete and clear requirements.
 The incremental model isn’t ideal for ongoing development as the
next sequence cannot begin until the previous stage has fully
completed.
 The iterative model allows you to see the results at the early
stages of development. This makes it easy to identify and fix any
functional or design flaws. It also makes it easier to manage risk
and change requirements.
 The deadline and budget may change throughout the development
process, especially for large complex projects. The iterative
model is a good choice for large software that can be easily
broken down into modules.

RAD model:
 Great for systems that need to be produced in a short time (2 to
3 months of time) and have known requirements.
 It should be used if there’s high availability of designers for
modelling and the budget is high enough to afford their cost
along with the cost of automated code generating tools.

Spiral model
o The Spiral methodology is suitable for large, complex, and
expensive projects.
o Its benefits are risk-management and stage-by-stage
development.
o Used for projects with unclear needs or projects still in research
and development.
o The introduction of a new service or product, as well as
research and development activity.
Agile models:
o Suit small- and medium-sized projects with rapid changes
required. (Start-up initiatives that require immediate feedback
from end-users.
o The customer is involved during each stage. Limited
planning is required to get started with a project.
o Businesses save both money and time as each iteration is
discussed closely between the customer and the
development team.
o Mid-sized projects in which business requirements cannot be
confidently translated into detailed software requirements.
o Large projects can be broken down into small functional parts
and developed incrementally over each iteration.
Which of the development process models would you follows for the
following projects. Give justifications.

a) A simple data processing project.


Ans: For above project go for waterfall model.
Justification: In the given project, the requirement will be fixed
and there is no near chance of changing it. Also for processing
data, those basic operations will be fixed and we have delivered all
the operations at a time. In waterfall model, we can very well
implement all specified requirements and deliver the whole
product at a time.

b) A new system comparing finger prints


Ans: For above project go for spiral model.
Justification: In the given project, requirement i.e. finger print data
will be added continuously so we need to consider it. Even
customer feedback i.e. usefulness of the project has to be checked
every time. In spiral model, for each set of requirement we can follow
up six activities and in turn that spiral way will be continuing till the
project is delivered.

c) An online inventory management system for an automobile


industry.
Ans: For above project go for incremental model.
Justification: In this project, we will be delivering new services
in every increment. Hence, in online Management Information
System at a time, it is not possible to deliver the entire module and
we cannot, even delay the delivery. So for this reason, we can
consider some features and deliver first increment. Later on, in
each increment we can add new features and deliver the entire
module increment by increment.
d) A new missile tracking system.
Ans: For this project go for waterfall model.
Justification: Here for missile tracking system the frequency
range for tracking missiles will be fixed. All data will be
provided at start only. Using this data, the entire system has to
deliver at a time only so waterfall model is useful here.
e) A satellite launching system. It is not known if the current
H/Wand S/W technology is nature enough to achieve the goals.

Ans: For this project go for prototype model.


Justification: Satellite launching system is very costly system and
current hardware and software are not matching. The basic idea
here is that instead of freezing is the requirement before any design or
coding can proceed. Throwaway prototype is build to help understand
the requirements. Development of the prototype obviously undergoes
design, coding and testing but each of these phases is not done very
formally or thoroughly.

f) An on-line inventory management for peripheral device


manufacturing company.
Ans: For this project go for waterfall model.
Justification
This software is not so much costly. The software team gets all the
information from the user and then analysis will be frozen. After the
analysis frozen system has developed.

g) A data entry system for office staff that have never used
computers before. The user interface and user friendliness are
extremely important.

Ans: For this project go for increment model.


Justification:
This software is also not so much costly. The basic idea is such that
the software is developed in increment, each increment adding some
functional capability to the system until the system is implemented.
At each step, extensions and design modifications can be made. An
advantage of this approach is that it can result in better testing because
testing each increment is likely to be easier then testing the entire
system as in the waterfall model.
h) Assume that a software development company is already
experienced in developing payroll software and has developed
similar software for several customers (organizations).
Assume that the software development company has received
a request from a certain customer (organization), which was
still using manually processing its payrolls.

The waterfall model seems an ideal choice here.


No other model seems a reasonable alternative.
Strengths:
a. Considering that the company is software development, it is
large and bureaucratic, requiring documentation and good project
visibility. Waterfall documentation satisfies this.
b. Since they have already developed the software many times, the
application type is well known to the company, so a thorough user
requirements analysis should be possible early on
c. The company has a good reputation to maintain in this area as
they have built the product many times, so quality control will be
essential. Waterfall emphasis of requirements-before-design and
design-before-coding will emphasise quality

i) Giving reasons for your answer based on the type of system


being developed, suggest the most appropriate software
process model which might be used as a basis for developing
the following systems:
 A virtual reality system to support software
maintenance;
 A university accounting system that replaces an existing
system;
 An interactive system for railway passengers that finds
train times from terminals installed in stations.
1. Virtual reality system This is a system where the requirements
will change and there will be an extensive user interface
component. Incremental development with, perhaps, some UI
prototyping is the most appropriate model. An agile process may
be used.
2. University accounting system This is a system whose
requirements are fairly well-known and are stable therefore the
waterfall model.

3. Interactive travel planning system This is a system with a


complex user interface but which must be stable and reliable. An
incremental development approach is the most appropriate as the
system requirements will change as real user experience with the
system is gained.

j) Give an example of a software project that would benefit from


using the spiral model. Explain your reasoning.
 A large scale, in-house project e.g. a flight control system
developed in house would be a candidate for the spiral
model.
 A small system or any form of contract software would be
unsuitable. E.g. a database conversion program developed
under contract.
k) Explain the difference between iterative and incremental
development.
 Iterative means that the waterfall model phases are executed
in multiple and successive cycles. Incremental means that at
the end of each iteration working software is produced
l) Describe the sort of project that would be an ideal application
for incremental approach?
 Any software project that has significant functionality that
must be delivered in a very tight (too tight) time frame is a
candidate for the incremental approach. The idea is to deliver
functionality in increments.
o E.g. A sophisticated software product that can be
released to the marketplace with only partial
functionality – new and improved version to follow.
o Situation where the incremental model would not be
suitable: for software controlling a nuclear power plant,
where everything has to work together from the
beginning, or an air traffic control system.
m) A well-understood data processing application
Iterative Waterfall model.
Justification: It is the most cost effective model of development for
well-understood application

n) A new software that would connect computers through


satellite communication. Assume that your team has no
previous experience in developing satellite communication
software.
For this project go for prototype model.
Justification: Satellite launching system is very costly system and
current hardware and software are not matching. The basic idea
here is that instead of freezing is the requirement before any design
or coding can proceed. Since the team members has no previous
experience in developing satellite communication software.

o) A software that would function as the controller of a telephone


switching system.
For this project go for prototype model or iterative model, based
on familiarity of development team in developing similar products.

p) A new library automation software that would link various


libraries in the city.
For this project go for prototype model or iterative model, based
on familiarity of development team in developing similar products.

q) An extremely large software that would provide, monitor, and


control cellular communication among its subscribers using a
set of revolving satellites.
For this project go for Spiral model, since the project is large,
based on familiarity of development team in developing similar
products.
r) A new text editor
For this project go for prototype model or iterative waterfall
model.

s) A compiler for a new language


For this project go for prototype model or iterative waterfall
model.

t) The graphical user interface part of a large software.


For this project go for prototype model since the users often change
their mind regarding various features of user interface.

Question?
Suggest a suitable life-cycle model for a software project which your
organisation has undertaken on behalf of certain customer who is
unsure of his requirements and is likely to change his requirements
frequently, since the business process of the customer (organisation)
is of late changing rapidly. Give the reasoning’s behind your answer.

Ans: For this project go for prototype model. The prototype can be
changed until the customer freezes the requirements and after that
development can be started.

You might also like