Vous êtes sur la page 1sur 13

Assigned by Miss Sanjida

Software Process Models


Software Engineering and Product Quality
Zahoor Soomro
Table of Contents
Question one ................................................................................................................................. 2
a) There are a number of general software Process Models which all incorporate the four
fundamental activities of software specification, development, validation and evolution. Explain
the purpose of each of these four activities. .................................................................................. 2
Software Development process ..................................................................................................... 2
Four Fundamental Activities .......................................................................................................... 2
General Process ............................................................................................................................. 3
B) The Spiral Model ....................................................................................................................... 3
Waterfall Model ............................................................................................................................ 4

C .................................................................................................................................................... 6
A distinctive feature of spiral model is its explicit consideration of risk. Explain what is meant by
the term ‘Risk’ in this context and identify three risks associated with a real world software
development project with which you are familiar. Also indicate the strategies that could be
employed to reduce each identified risk. ....................................................................................... 6
Question 2 ..................................................................................................................................... 7
Structured software development methods often include data flow diagram (DFDs) state
transition diagram (STDs) and entity relationship diagram (ERDs) to model different aspects of
systems. ........................................................................................................................................ 7
Data Flow Diagram ........................................................................................................................ 7
State Transition Diagram (STDs) ..................................................................................................... 7
Entity Relationship Model (ERD) .................................................................................................... 9
B. ................................................................................................................................................. 10
CASE tool ..................................................................................................................................... 10
Question 3 ................................................................................................................................... 11
Discuss the relationship between software engineering process and product quality, using diagram
for illustration. Based on your understanding and experience, you should include key activities in a
typical process for quality checks of design documents................................................................ 11
Q: Assume that you are a manager of software development team and would like to introduce the
concept of software process metrics to your team. Write a short report that could be used to
introduce the team to the concept of software process metrics. Your report should explain the
different classes of process metric that can be collected and should indicate how you will decide
what measurements to take and how to use the results. ............................................................. 12

Zahoor Soomro A Short Work/ Software Engineering


2|P ag e

Question one
a) There are a number of general software Process Models
which all incorporate the four fundamental activities of
software specification, development, validation and evolution.
Explain the purpose of each of these four activities.

Software Development process

Software development process is the process of specifying, designing, implementing and


testing software systems.

Four Fundamental Activities

1. Software Specification
Software specification is precisely written description of the software. The software
requires to be specified prior to the application development. The specifications are
essential for the external user and the interested parties. The analyst role is to
specify everything in black and white before the real development of any software.

2. Development
the software development is the collection of activities that may occur during the
process the research, new development, modification and research.
The development requires combination of different departments including
Marketing, Engineering, research and development.

3. Validation
The validation is the process of matching the requirements with the results. In this
process the acquired results are matched with requirements. This process depicts
the actual result and expected results. In other words it’s a testing phase. This is to
ensure the software should meet the requirements.

4. Evolution
The stage includes the process of practically implementing the developed software.
The evolution phase includes all the complexity and its usability. The evolution stage
is the main cause that will boost the cost at initial stage. This requires continuous
maintenance. This will include bug fix and software enhancements and adaption.
Finally the feedback is acquired from the users which will lead to the software
corrections if required.
3|P ag e

General Process

 Market Research
 Gathering Requirements for the proposed business solution
 Analysing the problem
 Devising plan or design for the software-based solution
 Implementation (coding) of software
 Testing the software
 Deployment
 Maintenance and bug fixing

(1. source: Wikipedia)

B) The Spiral Model

(www.designingprojectmanagement.com)
4|P ag e

1. Determine objectives

The main emphases are to determine and specify the objectives of the software
development and what other factors will be important to the software development.

2. Identify and resolve risk

The major emphases are placed to find out the expected cost that is going to incur in
terms of the risk involved in the project. The main importance here is to analyse the risk
that is involved in the software development and the success or failure of project.

3. Development and Test

The software development requires the specific requirements, facts and figures about
the project. The software development phase should be carefully handled because the
software requirements should be inculcated in the software so that the user
requirements can be specified in the software

4. Plan the next Iteration

To specify the test plan and development plan. In the end the software can be released.

Waterfall Model

(source: http://alicomputerservices.com/ComputerTech/wp-
content/uploads/2008/10/waterfall_model.png)
5|P ag e

The waterfall model is sequential software process. This model is called water fall
because it flows from top steady down like water.

1. Requirement

This stage is to collect the information regarding the requirements of the user.

2. Design

This phase is the phase of software design in which all the user requirements will be
considered as it.

3. Implementation

It is a systematic process of effectively integrating developed software in to the


organisation.

4. Verification

In this phase the software is tested and verified according to the requirement. The
requirement is measured on the software requirement.

5. Maintenance

The maintenance is the process of keeping software on the track to contentious


performance. If there is any error or any bug they need to be removed.

The chances of carrying forward with any bug in the software are very rare. This is
because of its strict process. If any error or bug found in the software that is removed
immediately then it can proceed to the next phase.
6|P ag e

C
A distinctive feature of spiral model is its explicit
consideration of risk. Explain what is meant by the term
‘Risk’ in this context and identify three risks associated with a
real world software development project with which you are
familiar. Also indicate the strategies that could be employed
to reduce each identified risk.

The spiral model strongly relies on the early risk assessment. It helps early identification of
risk. There may be several ideas of software development. Those all ideas could have
distinct features.

The software may provide impacts on the developer and clients. The risk analysis should be
made to find out that how the software will leave impacts on users.

How does each step in the project will affect its overall development?

The development of software should be based on the realistic ground. The proper feasibility
should be developed before the software development. The risk can be minimized if the
proper budget is settled sown for the software development.

The proper evaluation of software is strongly required. If it is not properly evaluated it will
result to inexperienced software developer.
7|P ag e

Question 2
Structured software development methods often include data
flow diagram (DFDs) state transition diagram (STDs) and
entity relationship diagram (ERDs) to model different aspects
of systems.

Data Flow Diagram

Data flow Diagram is a modelling technique which analyse the data process. The data starts
from input, process and finally goes to the output. The major importance of DFD model is
that it shows step by step process of data. This is a structure of data modelling which
depicts graphical representation of data.

(Source: Edward flow chart)

State Transition Diagram (STDs)

State diagram is a diagram which shows the behaviour of systems. The basic idea is to define a
machine that has a number of states. (www.cs.unc.edu)

The machine receives events from the outside world, and each event can cause the machine to
transition from one state to another.
8|P ag e

Here the machine is a bottle in a bottling plant. It begins in the empty state. In that state it can
receive squirt events. If the squirt event causes the bottle to become full, then it transitions to the
full state, otherwise it stays in the empty state (indicated by the transition back to its own state).
When in the full state the cap event will cause it to transition to the sealed state. The diagram
indicates that a full bottle does not receive squirt events, and that an empty bottle does not receive
cap events. Thus you can get a good sense of what events should occur, and what effect they can
have on the object. (www.cs.unc.edu)

The State Transition Diagrams (STDs) are used to define the functional detail for a system.
Example:

Source: www.cs.unc.edu
9|P ag e

Entity Relationship Model (ERD)

An ERD is a model that identifies the concepts or entities that exist in a system and the relationships
between those entities. Source: Report of DFL Electronics)

Entity-Relationship Model (ERM) is a conceptual representation of data. The diagram


defines the relationship of entities. The relationship of entities is defined through graphical
representation.

The ERD model tries to capture most of the tables used in data base system. But it will not
capture all o them.

(www.edrawsoft.com/images/software/chenerd-full.png)
10 | P a g e

B.

CASE tool

Computer Assisted Software Engineering Tools are set of programs and aids that assist
analysts, software engineers, and programmers during all phases of system development
life cycle.(www.educ.queensu.ca/~compsci/units/casetools.html)

The implementation of new system requires a lot of tasks to be completed first. The
required tasks need to be accomplished efficiently.

The tools help to provide software development defects free, high quality and maintainable.

Risk

Inadequate standardization

Linking CASE tools from different vendors may be difficult if the products do not use
standardized methods. The file formats can be converted but usually not considered
economical.

Unrealistic Expectations:

Organisations adapt CASE tools to reduce development costs. The cost varies from one
project to another. The expectations related to cost some time lead to the wrong
unexpected budgeting issues.

Quick Implementation:

The implementation of CASE technologies can involve significant change to the


development environment. The tools must not be adapted for the first time if the project is
of significant importance and the deadline is short. In short the CASE tools can be adapted if
the proposed project is less complex.
11 | P a g e

Question 3

Discuss the relationship between software engineering process and product


quality, using diagram for illustration. Based on your understanding and
experience, you should include key activities in a typical process for quality
checks of design documents.

The software engineering is the systematic, quantifiable, disciplined approach to the


maintenance of software and its development (executive editors, Alain Abran, James W. Moore;
editors, Pierre Bourque, Robert Dupuis. (2004). the field of software engineering is you as compared to other
field of engineering. Software engineering requires maintaining quality, easy to maintain and should be
affordable.

Software engineering and product quality are both important and vital issues in the world of Information
Technology. If the software does not meet the specified requirements of user it will not be treated as product
with quality.

The following illustration indicates the relationship of important phases during the software development
process.

If the quality is not maintained during the software development then it will lead to the undesirable results
and improper deployment of software resultant to the less sustaining outcomes.

Illustration 1

The relationship between software engineering and product


12 | P a g e

Illustration 2

Q: Assume that you are a manager of software development team and would
like to introduce the concept of software process metrics to your team. Write a
short report that could be used to introduce the team to the concept of software
process metrics. Your report should explain the different classes of process
metric that can be collected and should indicate how you will decide what
measurements to take and how to use the results.

The software development is a serious and tricky activity for any organisation.

As a manager of IT organisation /department the personal preferences will be to deliver the


metrics system during software development phases. The effective manager should follow
the metrics system to ensure the consistency of software development . Although there may
be several limitations related to the software development the continuous development
through metric system will get the desired results.

(Note: this work was assigned in the class, therefore proper referencing could not be
followed. However all efforts are made to make sure there should be due referencing for
the work)

Vous aimerez peut-être aussi