You are on page 1of 12

ASSIGNMENT

ON
SOFTWARE
ENGINEERING

Submitted By:-
Rahul Srivastava
MSc (CS)
3rd Semester
J.K.I.A.P.T
Question No.1 : Identify the different stages through
which a software product undergoes during its life-time?

Answer : The different stages through which a software


product undergoes during its lifetime i.e. the period of time
that starts when a software product is conceived and ends
when the product is no longer available for use , are as
follows:-
1. requirement phase
2. design phase
3. implementation phase
4. test phase
5. installation and check out phase
6. operation and maintenance phase
7. retirement phase

Question No.2 : Explain the problems that might be faced


by an organization if it does not follow any lifecycle
model?

Answer : We have to explain the problems that might be


faced by an organization if it does not follow any life cycle
model.
Generally a student system is primarily meant for
demonstration purposes & not used for solving any real world
problem of any organization. But on the other hand an
industrial strength software system is built to solve some
problem of client & is used by the clients organization for
operating some part of business i.e. it may be use to manage
inventories, finances, monitor patients, air traffic control etc.
In other words , important activities depends on the correct
functioning of the system. And malfunctioning of such a
system can have huge impact in terms of financial or business
lose, inconvenience to users, loss of property & life.
Consequently, the software system needs to be of high quality
w.r.t properties like dependability, reliability, user-
friendliness, etc.
This requirement of high quality has many rampifications.
First, it requires that the software be thoroughly tested before
being used which increases the cost considerably. Second,
building high quality software requires that the development
be broken into phases such that output of each phase is
evaluated & reviewed so bugs can be removed. This desire to
partition the overall problem into phases & identify defects
early requires more documentation , standards, processes, etc.
So we need to follow any software life cycle model for
implementation of any industrial strength software system.

Question No.3 : Identify different phases of waterfall


model ?

Answer : The different phases of waterfall model are as


follows:-
1. Requirement analysis & specification
2. Design
3. Implementation & unit testing
4. Integration & system testing
5. Operation & maintenance
Question No.4 : Identify two basic role of system?

Answer : Two basic role of system analyst are as follows:-


1. Develop analysis model to analyse the requirement in the
software.
2. Detect and resolve conflict that arise due to unclear and
unstated requirement.

Question No.5 : Differentiate between structured analysis


and structured design ?

Answer :

Structure Analysis : The structure analysis technique uses


function based decomposition while modeling the problem. It
focuses on the function perform in the problem domain &
data consumed and produced by these functions. The
structured analysis helps an analyst to decide what type of
information to be obtained at different points in analysis and it
help organize information so that the analyst is not
overwhelmed by the complexity of the problem. It is a top
down refinement approach, which was originally called
structured analysis and specification and was proposed for
producing the specifications. For example DFD & Data
Dictionary.

Structure Design : Structured design methodology views


every software system as having some inputs that are
converted into desired output by the s\w system. The s\w is
viewed as a transformation function that transform the given
inputs into the desired outputs. And central problem of
designing s\w system is considered to be properly designing
this transformation function. Due to this view of s\w the
structure design methodology is primarily function oriented &
relies heavily on functional abstraction & functional
decomposition. There are four major steps in this strategy :
1. Restate the problem as a data flow diagram.
2. Identify the input & output data elements.
3. First level factoring.
4. Factoring of input, output & transform branches.

Question No.6 : Identify why different modules making of


a software product are almost never integrated in one
shot?

Answer : We have to explain why different modules of a


software product are almost never integrated in one shot.
When we are going to develop any industrial strength
software i.e. software for a client, which may be used in
various real time analysis. Then the software require, should
be of high quality. Building high quality software require that
the development be broken into phases such that output of
each phase is evaluated & reviewed so bugs can be removed.
This desire to partition the overall problem into phases &
identify defects early requires more documentation ,
standards, processes, etc. Thus making of a software product
are almost never integrated in one shot.
Question No.7 : Mention at least two reasons as to why
waterfall model can be consider impractical and can not
be used in real projects ?

Answer : We have to mention reasons as to why waterfall


model can be consider impractical and can not be used in real
project.
1. Each phase of development process are sequential and
Real project are rarely sequential. Which is impractical.
2. The model expects complete & accurate
requirements early in the process, which is
unrealistic.
3. It is difficult to define all requirement at the
beginning project. Which is also unrealistic.

Question No.8 : Identify three reasons for necessity of


developing prototype during software development ?

Answer : We have to identify three reasons for necessity of


developing prototype during software development.
1. In waterfall model the working software is not available
until late in the process, thus delaying the discovery of
serious error. So we use prototype as a usable program.
The developer use this prototype to refine the
requirements and prepare the final specification
document.
2. The code of the prototype is thrown away; however the
experience gathered from developing the prototype
which is used in developing actual software.
3. The development of prototype might involve extra cost,
but overall cost might turnout to be lower than that of an
equivalent system developed using the waterfall model.

Question No.9 : Write down the two advantage of using


spiral model ?

Answer : We have to write two advantage of spiral model.


1. An important feature of the spiral model is that each
phase is completed with a review by the people
concerned with the project (designers and
programmers).
2. Important software projects have failed because project
risks were neglected & nobody was prepared when
something unforeseen happened. Barry Boehm
recognized this and tired to incorporate the “project
risk” factor into a life cycle model

Question No.10 : Identify the problems one would face if


he tries to develop a large software product without using
software engineering principle ?

Answer : We have to explain the problems one would face if


he tries to develop a large software product without using s\w
engineering principle.
Generally a student system is primarily meant for
demonstration purposes & not used for solving any real world
problem of any organization. But on the other hand an
industrial strength software system is built to solve some
problem of client & is used by the clients organization for
operating some part of business i.e. it may be use to manage
inventories, finances, monitor patients, air traffic control etc.
In other words , important activities depends on the correct
functioning of the system. And malfunctioning of such a
system can have huge impact in terms of financial or business
lose, inconvenience to users, loss of property & life.
Consequently, the software system needs to be of high quality
w.r.t properties like dependability, reliability, user-
friendliness, etc.
This requirement of high quality has many rampifications.
First, it requires that the software be thoroughly tested before
being used which increases the cost considerably. Second,
building high quality software requires that the development
be broken into phases such that output of each phase is
evaluated & reviewed so bugs can be removed. This desire to
partition the overall problem into phases & identify defects
early requires more documentation , standards, processes, etc.
So we need to follow any software Engineering for
implementation of any industrial strength software (Large)
system.
Question No.11 : Identify two important techniques that
the software engineering use to tackle the problem of
exponential growth of problem complexity with its size ?

Answer : The two important techniques are as follows:

1. Control Flow Based Design :


As the size and complexity of the program kept on
increasing, the exploratory programming style proved to
insufficient. Programmers found it very difficult, not only
to write cost effective and correct program but also
understand and maintained program written by other. To
over come this problem, programmer pay particular
attention to the design of the programs “control flow
structure” in order to help develop program having good
control flow structure, the flow chart technique was
developed.
2. Data Flow Oriented Design :
As computer becomes faster and more powerful with
the application of VLSI technique & new architectural
concepts, more complex s\w product were needed.
Therefore a more powerful technique is proposed as data
flow oriented technique. The program structured is
designed from its DFD representation. DFD has proven to
be as generic technique which can be used to all models of
systems.
Question No.12 : State five symptoms of the present
software crisis ?

Answer : Five symptoms of the present s/w crisis are:


1. 4 digit data format was shortened to 2 digit data
format, like 1964 was shortened to 2-digit format,
like 64. The developer could not visualize the
problem of year 2000. This problem is known as
Y2K problem.
2. The “Star Wars” program of U.S.A produced
“patriot missile” which failed several time to hit
scud missile due to a small timing error in the
systems clock accumulated to the point that after
14 hours ,the tracking system was no longer
accurate.
3. In 1996, a U.S consumer group embarked on 18
month, $1 million project to replace its customer
database. The new system was delivered on time
but did not worked as promised.
4. “One little bug, one big crash” of Ariane-5space
rocket, developed at the cost of $7000 M over a 10
year period. The space rocket was destroyed after
39 seconds of its launch. The reasons was very
simple. When the guidance systems own computer
tried to convert own piece of data –the sideway
velocity of rocket- from a 64 bit format to 16 bit
format ; the number was to big , and an overflow
error resulted after 36.7 seconds.
5. “Microsoft released window XP on oct 25,2001 &
on the same day, which may be record, the
company posted 18 megabyte of patches on its
website for bugs fixes.

Question No.13 : Suggest atleast two possible solution to


the present software crisis ?

Answer : We have to mention the possible solutions to the


present software crisis.
1. Adequate training in software engineering should be
provided for our software engineers.
2. We should improve our productivity of producing
industrial strength software.
3. The software which we have to develop should not be
too much large. Its functionality should be in one
direction.
Question No.14 : Identify atleast two basic characteristics
that differentiate a simple program from a software
product ?

Answer : The characteristics that differentiate a simple


program from a software product are as follows:
1. Program are developed by individuals for their personal
use while software product have multiple user.
2. Program are small in size & have limited functionality
while software product have large size & with lot of
functionality.
3. Programs have lack of good user interface while
software product have good user interface.
4. Program have lack of documentation while product have
good user manuals & proper documentation.
5. Software product = Program + Documentation +
Operating procedures.