topic 2: software development life cycleportal.unimap.edu.my/portal/page/portal30/lecturer...

29
EKT 421 :SOFTWARE ENGINEERING TOPIC 2: Software Development Life Cycle School of Computer & Communication Engineering Semester: 2-2015/2016

Upload: dotram

Post on 27-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

EKT 421 :SOFTWARE ENGINEERING

TOPIC 2:Software Development Life

Cycle

School of Computer & Communication Engineering

Semester: 2-2015/2016

Learning Outcome

By the end of this session, you should be able to:

1.Describe various models in the software development process;2.Explain the importance of software reuse;3.Identify suitable strategies for application development; and4.Discuss the non-traditional software development process.

Content

1)Software Development Process Model ; traditional vs non-traditional

2)Software Reuse3)Strategy for Application Development4)Non-Traditional Development Process.

TRADITIONAL SPM

CODE-AND-FIX MODEL

THIS MODEL WAS FOUND TO BE INADEQUATE BECAUSE:

•Computers started becoming popular and its application domain extended considerably, from science and engineering to business, industry, service, military, and government.

•Developers became different from users.

•Developers spent considerable time and effort to understand user requirements

•Applications often became so complex and large that the software had to be developed by a group of persons, rather than a single person.

•Large software products and their development by a group of persons invariably led to frequent malfunctioning of the software products during testing (by the developers) and use (at the user sites).

•The changing requirements of a customer often called for modification and enhancement of an existing piece of software.

H2O FALL

Waterfall model phases

There are separate identified phases in the waterfall model: Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance

The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase.

8

Waterfall model problems

Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. Therefore, this model is only appropriate when the requirements

are well-understood and changes will be fairly limited during the design process.

Few business systems have stable requirements.The waterfall model is mostly used for large systems

engineering projects where a system is developed at several sites. In those circumstances, the plan-driven nature of the waterfall

model helps coordinate the work.

9

VARIATIONS

Variations in Software Life Cycle Phases

EVOLUTIONARY

PROTOTYPING

Throw away prototyping Evolutionary prototyping

WHAT IS THE DIFFERENCES BETWEEN THROW AWAY AND EVOLUTIONARY?

Prototype development

May be based on rapid prototyping languages or toolsMay involve leaving out functionality

Prototype should focus on areas of the product that are not well-understood;

Error checking and recovery may not be included in the prototype; Focus on functional rather than non-functional requirements such

as reliability and security

Throw-away prototypes

Prototypes should be discarded after development as they are not a good basis for a production system: It may be impossible to tune the system to meet non-functional

requirements; Prototypes are normally undocumented; The prototype structure is usually degraded through rapid change; The prototype probably will not meet normal organisational quality

standards.

SPIRAL

Spiral model sectors

Objective setting Specific objectives for the phase are identified.

Risk assessment and reduction Risks are assessed and activities put in place to reduce the key

risks.Development and validation

A development model for the system is chosen which can be any of the generic models.

Planning The project is reviewed and the next phase of the spiral is planned.

Spiral model usage

Spiral model has been very influential in helping people think about iteration in software processes and introducing the risk-driven approach to development.

In practice, however, the model is rarely used as published for practical software development.

QUESTIONS

1.Name 4 traditional software process models[spm] (C1)l State their differences and similaritiesl State characteristics of each modell State their weaknessesl How can they be enhanced?

Software Reuse

Benefits of Reuse

•Increased system reliability•Reduced overall project risk•Effective use of specialist•Embodiment of organizational standards in reusable components•Reduction in software development time

Questions on REUSE

l Is reuse suitable to be adopted for a development only for a large system? Explain with a flowchart.

l State the benefits of reuse

Strategy forApplication Development

Non-Traditional Development Process

WIN-WIN SPIRAL MODEL

l The WinWin Spiral Model uses Theory W (win-win) to develop software and system requirements, and architectural solutions, as win conditions negotiated among a project's stakeholders (user, customer, developer, maintainer, interfacer).

l The WinWin negotiation tool is a Unix workstation-based groupware support system that allows stakeholders to enter win conditions, explore their interactions, and negotiate mutual agreements on the specifics of the new project being contracted.

The Rational Unified Process

A modern generic process derived from the work on the UML and associated process.

Brings together aspects of the 3 generic process models discussed previously.

Normally described from 3 perspectives A dynamic perspective that shows phases over time; A static perspective that shows process activities; A practive perspective that suggests good practice.

Phases in the Rational Unified Process

RUP phases

Inception Establish the business case for the system.

Elaboration Develop an understanding of the problem domain and the system

architecture.Construction

System design, programming and testing.Transition

Deploy the system in its operating environment.

RUP iteration

In-phase iteration Each phase is iterative with results developed incrementally.

Cross-phase iteration As shown by the loop in the RUP model, the whole set of phases

may be enacted incrementally.

QUESTIONS

1. Name the non-traditional SPM2. Given the following applications/problems, choose the most suitable SPM and justifya) Automated land mowerb) Driver-less Vehiclec) Beriani Rice Order & Despatcherd) Pet Cafe Management Systeme) Kuala Perlis-Langkawi Bridge Monitoring

System