Vous êtes sur la page 1sur 5

CSE314

Home Work 1

Part A

Q1. “A common process framework is established by defining a small number of


framework activities that are applicable to all software projects, regardless of their
size or complexity.” Justify this statement by comparing at least four SDLC
models.

Ans: Processes form the foundations of Software engineering. In order to plan and
manage a project, project manager needs to define a suitable process. Common
process framework is a generic process which defines the broad software
engineering activities regardless of the characteristics of the project. It provides all
the tactical information regarding the execution of the project by the firm. Taking
the example of the SDLC models we discuss on this.
A number of tasks set - each a collection of software engg. work tasks, project
milestones, work products and quality assurance points enable the framework
activities to be adapted to a characteristics of the software project and the project
team..Finally software quality assurance, configuration management and
measurement called the umbrella activities

Waterfall Model:- This is the most basic type of the SDLC model. Here we define
the basic requirements of the software at first and then take step by step approach
to developing the software, like designing, coding, implementing, integrating and
testing etc. The software development cycle is based on an designed architecture so
that the designer can have a clear idea of how the basic development is to revolve
around.

Prototyping Model:- The prototyping model is a throw away type model. Here the
task set include the gathering of the information by first getting a firsthand
knowledge of the user needs and then designing a throw away model of the
software. Now feedback from the user is taken and taking it into account the new
model is developed. All the quality assurance points are not taken into account
while writing the SRS. The umbrella activities are taken into account at the time of
finalizing the product.

Incremental Model:- This model combines the iterative nature of prototyping and
elements of the waterfall model. Basically in each step we increment our core
model ,that is the model we design at first to get us a first look in the final product.
At each project milestone the user is given a chance to get a look in the software
and then give his or her feedback. Quality assurance points are taken into account
in the finalizing the product.

Spiral Model:- This model also uses the same concept as that of the incremental
model taking into account the prototyping and sequential steps. But here the tasks
are specifically divides into a number of so called task regions. Each of the regions
is populated by set of works task called the task set, that are adapted to the
characteristics to the nature of the product to be undertaken. In all cases the
umbrella activities are taken into account.

Q2. “Deep Dive Analysis of Business Processes of an organization is necessary


before implementing them in software “. Justify with a suitable example?

Ans: Deep Dive is a technique to rapidly immerse a group or team into a situation
for problem solving or idea creation. It is often used for brainstorming product or
process development. It basically consist of the five basic steps:

i) Creation of Teams to work on the opportunities/ problems


ii) Brainstorming - of ideas and options in context of customer needs
iii) Rapid Prototyping of potential solutions
iv) Observing & Listening from Customers (internal and external)
v) Thinking of products in terms of verbs, rather than nouns

Suppose we are going to designed a software for media playing on the PCs.
Suppose the problem arose that the media player is not able to play the normal mp3
format. The customer now needs a rapid solution because most of the music needs
of the customer are stored in mp3 format. Now as per deep dive analysis we follow
the following steps:

I) Call the coding and the manufacturing team to see whether the problem
arose during the coding process or is it a mufacturng fault.

II) A list of possible solutions to be discussed. It may include replacing the


software, fixing the bug,converting customer files in supported formats
etc.
III) A rapid documentation of the potential solutions, their pros and cons are
to be discussed int his step.

IV) Taking the customer point of view.

V)

Q3. Suppose you are a software engineer, and a customer defines a set of general
objectives for software but does not identify detailed input, processing, or output
requirements. In other cases, you may be unsure of the efficiency of an algorithm,
the adaptability of an operating system, or the form that human/machine
interaction should take. Which software model, you should use to fulfill the
customer requirement. Elaborate the model properly.

Ans: The we shall use the prototyping model. Here at first we design a throw
away prototype of the software based on the initial set of directives given by the
user. The further development of the software is based on the feedback provided
by the user on the throw away model.
Part B
Q4. “Fixing a requirements error after delivery may cost up to 100 times the cost
of fixing an implementation error”. This statement is either true or false. If it is
false, modify this statement. If it is true, explain it with proper example.
Ans: YES, the statement is quite correct that fixing a requirement error after the
delivery can cost much more than fixing an implementation error.
When we develop a software for the user then we are given the responsibility of
making the software work properly once it has been delivered to the user. Before
getting delivered to the user if any inherent error occurs in the software then it is
much easier to fix it because it will be easier for the implementation team to find
out the error and resurrect it, without losing much time. Once the user has been
given the software and all the modules regarding the software have been
implemented and structured then it will be too time consuming and economicaly
unfeasble idea to fix the bug and restructure it. Also the requirement specifications
have to be re fixed again.
Q5. “Validation of requirements is a mandatory practice while requirement
engineering”. Support this term with appropriate examples.

Ans: Suppose you went to a restuarent and orderer a dish that was described as too
delicious on the menu,only to find out later that the cook went experimental on that
and you were left guessing what the dish was actually about. To avoid such
conditions in software engineering we have the validation of requirements.the main
issue here is the expectations of the user. While in the testing lab of the engineer
the software is working under the optimized conditions but in the real world
application it has to undergo a lot of hardships. So in order that our software is not
a failure in the normal conditions we need to know what the actual expectations of
the user is from the software and how can and to how much extent can it satisfy his
needs.So requirement analysis is all about feedback.Is the interpretation of the
requirement to the real life situations correct and are the requirements still valid .

Q6. “Nobody can express the customer’s requirement in a graphical representation.


It can be only in textual format.” Do you support the statement? Justify your
answer with proper example.

Ans: This statement is perfectly true. We can’t express the needs of the customer in
terms of graphical methods because we can’t correctly describe the data flow lines
in graphical mode. For this reason only we have the data flow diagrams because
they can cleary represent the flow of data.

Also the textual representation of the data gives us the flexiblity to modify the
contents whenever it is neccesary. It is much easier to do in textual mode than in
graphical mode.