MODELS PART 2 FOR 1ST YEAR
BSC COMPUTER SCIENCE
STUDENTS
Ushant Suman
, Software Lifecycle Models – Part 2
Target Audience – First year BSc computer science student with software
engineering or software system development as compulsory subject.
Reference book: Ian Somerville with some personal experience.
Topics to cover in this note –
a. Prototyping Model
b. V Model
c. *Agile Method(Extreme programming and Scrum)
d. RUP (Rational Unified Process)
e. Model University Exam question on software lifecycle models of BSC
computer science
*Important from exam point of view
As discussed in last notes the adherence to a software life cycle model is
must for any organization to develop professional software. In this note
we look into some more lifecycle model which is part of software
engineering course taught in various universities in first year of Bsc
computer science. At the end we will discuss some university model
questions which is important from exam point of view.
Prototyping Model
Before we go to prototyping model we understand what prototyping is with
the need of prototyping with the help of an analogy.
Real Life Analogy- Suppose you are planning to build a multistory mall with
many shops. Before the actual work start there will be many questions that will
be in your mind like, how many shops can be constructed, whether it is
economically viable to do so, who will be customers etc. To find out the answer
you can build the prototype of the building and try to find out the answer
before the actual work start. This will be logical and cost effective approach to
the problem. Similar scenario happens in software development also that is
where the prototyping comes into the picture.
, Definition- A prototype is initial version of actual software system which is
used to demonstrate concept, try out design option and find out more about
the possible solutions.
# A prototype may be considered as a toy implementation of a system with
limited functionality, low reliability or inefficient performance as compared to
actual software.
# Advantages of using prototyping in software development
process
a. Helpful in designing the GUI (Graphical User Interface) of the system-
With the help of prototype it become very easy to illustrate the input
data formats, messages, reports etc to the customer. For the user it
provides an opportunity to interact and provide feedback to the
development team.
b. Extremely helpful in functional requirement gathering- As prototyping
allows the user to interact with the system so the users may get new
ideas, areas of strength and weakness in the software so that
requirements of the users can be clearly understood with less scope of
ambiguity.
c. Minimize the technical risk- Prototyping helps in feasibility study of the
system. By developing a prototype, the team of developers get a fair idea
whether it is technically feasible to develop the product or not. So
technical risk associated with the project is minimized. This is particularly
useful when the development team or underlying technology is new.
Disadvantages of Prototyping
a. Non ability to capture non functional requirements- In prototyping it
may not be possible to meet or list the non functional requirement such
as response time, security, quality, standard etc. It is generally ignored
which may be responsible of failure of system during system validation.
b. Increase in maintenance cost of the system- In prototyping it generally
happens that system undergoes a series of changes which can cause
degradation in system structure or the system may not be robust. It may
increase the maintenance cost of the system exponentially.