CSC340: Tutorial 1 Software Lifecycles - PowerPoint PPT Presentation

About This Presentation
Title:

CSC340: Tutorial 1 Software Lifecycles

Description:

The Development Life Cycle ... The development life cycle is a process by which a information system is ... The traditional life cycle (TLC) for information ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 32
Provided by: yua6
Category:

less

Transcript and Presenter's Notes

Title: CSC340: Tutorial 1 Software Lifecycles


1
CSC340 Tutorial 1Software Lifecycles
  • TA Yuan An
  • Date 900-1000am, Fri. Oct. 3, 2003
  • Location BA1130

2
In This Tutorial
  • The stages in the waterfall life cycle
  • About prototyping and incremental life cycles
  • The importance of project management
  • How users may be involved in a project
  • The role of CASE tools in systems development

3
The Development Lifecycle
  • Starting an information system
  • Reasons for development of an information system
  • Why does an information system fail?
  • Project Lifecycle
  • Waterfall life cycle model
  • Waterfall life cycle with iteration
  • Prototyping
  • Evaluation of prototyping

4
Starting an Information Systems
  • Many reasons for development of information
    systems
  • Problem driven competition, crisis
  • Change-driven new needs, growth, change in
    business, change in environment
  • Opportunity-driven new technology
  • Part of previous plan
  • .
  • But failure does happen.

5
Why Does an Information System Fail?
  • End users perspective
  • No system what system? I havent seen a
    system.
  • Unusable
  • Insufficient power
  • Clients perspective
  • Too expensive
  • Too late
  • Change of mind
  • Change of requirements
  • Developers perspective
  • Wrong requirements
  • Insufficient resources
  • Incomplete requirements
  • Impossible requirements
  • Blame the others

6
Problems Causing Failures
  • Quality problems
  • The wrong problem is addressed.
  • Wider influence are neglected.
  • Analysis is carried out incorrectly.
  • Project undertaken for the wrong reasons.
  • Process problems
  • Requirements drift.
  • External events change the environment.
  • Implementation is not feasible.
  • Poor project management.

7
Avoiding the Problems
  • We need to adopt strategies and procedures that
    will minimize the occurrence of the problems.
  • There is no such thing as a right or a wrong
    strategy or procedure which produces a quality
    system.
  • One major source of difficulty is the inherent
    complexity of software development.

8
A General Perspective
Building computerized information Systems can be
viewed as a form of problem Solving.
9
Problem Solving Model
  • Main phases are
  • Data gathering
  • Problem redefinition
  • Finding ideas
  • Finding solutions
  • Implementation
  • These focus on understanding what the problem is
    about
  • Concerned with understanding more about the
    nature of the problem and possible solutions

10
The Development Life Cycle
  • The information systems development process is a
    partially ordered collection of actions, carried
    out by one or more developers, testers, users, or
    other information systems in order to accomplish
    a task.
  • The development life cycle is a process by which
    a information system is developed, tested,
    installed and maintained throughout its useful
    history.
  • The concept of lifecycle is a useful project
    management tool. A lifecycle consists of phases,
    each of which is a process.

11
The Breakdown of Costs
  • For large software systems, involving gt10k lines
    of code, the breakdown of costs between different
    phases is as follows
  • Requirements Analysis 5
  • Design 10
  • Programming-in-the-small 15
  • Integration 10
  • Maintenance and Evolution 60
  • Small software systemslt5k LOC
  • Specification 10
  • Decomposition 20
  • Coding 20
  • Optimization 15
  • Testing 25
  • Validation 10
  • Systems analysis and design more important.

12
What is Described by a Life Cycle?
  • The lifecycle describes the temporal, causal and
    I/O relationships between different lifecycle
    phases.
  • The lifecycle concept includes the concept of
    feedback (returning to a previous phase) as well
    as moving forward to the next phase.
  • In the past, the lifecycle concept was applied to
    the management of complex systems that had some
    sort of physical hardware as their end product,
    e.g., missiles, communication networks,
    spacecraft, etc.

13
What Does a Life Cycle Consist of?
  • A series steps through which the product
    progresses.
  • A life cycle specifies
  • The various phases of the process.
  • The order in which they are carried out.
  • The guidance for project management.
  • Next The Waterfall Life Cycle

14
The Waterfall Life Cycle Model
15
Waterfall Life Cycle
  • The traditional life cycle (TLC) for information
    systems development is also known as the
    waterfall life cycle model
  • So called because of the difficulty of returning
    to an earlier phase
  • The model shown here is one of several more or
    less equivalent alternatives
  • Typical deliverables are shown for each phase

16
Waterfall Model (cont)
  • Consists of a set of phases that a project
    progresses through in a sequential order.
  • Each phase must be completed before the project
    can progress to the next phase.
  • At the end of each phase is some form of gateway,
    usually a formal review where that decision is
    made.
  • There is no overlap between phases.
  • Straight forward, simple to understand and use.
  • Deliverables are frozen at the end of each phase
    and serve as the baseline for the following
    phases.
  • You do not see the software until the end of the
    project (big bang software development).
  • Changes are not supposed to happen or are limited
    or are tightly controlled.

17
TLC Deliverables
  • System Engineering
  • High Level Architectural Specification
  • Requirements Analysis
  • Requirements Specification
  • Functional Specification
  • Acceptance Test Specifications

Life cycle deliverables (adapted from
Sommerville, 1992).
18
TLC Deliverables
  • Design
  • Software architecture specification
  • System test specification
  • Design specification
  • Sub-system test specification
  • Unit test specification

Life cycle deliverables (adapted from
Sommerville, 1992).
19
TLC Deliverables
  • Construction
  • Program code
  • Testing
  • Unit test report
  • Sub-system test report
  • System test report
  • Acceptance test report
  • Completed system

Life cycle deliverables (adapted from
Sommerville, 1992).
20
TLC Deliverables
  • Installation
  • Installed System
  • Maintenance
  • Change requests
  • Change request report

Life cycle deliverables (adapted from
Sommerville, 1992).
21
Problems with TLC
  • Real projects rarely follow such a simple
    sequential life cycle
  • Iterations are almost inevitable
  • Time elapses between system engineering and the
    final installation
  • The design is unresponsive to business changes
    during the project

22
The Waterfall Life Cycle with Iteration
Iteration added to solve some of the problems
23
Strengths of TLC
  • Tasks in phases may be assigned to specialized
    teams
  • Project progress evaluated at the end of each
    phase
  • Manage projects with high levels of risks
  • Next Prototyping

24
PrototypingAdvantages
  • Early demonstrations of system functionality help
    identify any misunderstandings between developer
    and client
  • Client requirements that have been missed are
    identified
  • Difficulties in the interface can be identified
  • The feasibility and usefulness of the system can
    be tested, even though, by its very nature, the
    prototype is incomplete

25
Prototyping
26
PrototypingProblems
  • The client may perceive the prototype as part of
    the final system
  • The prototype may divert attention from
    functional to solely interface issues
  • Prototyping requires significant user involvement
  • Managing the prototyping life cycle requires
    careful decision making

27
Unified Software Development Process
  • Captures many elements of best practice
  • Main phases
  • Inception is concerned with determining the scope
    and purpose of the project
  • Elaboration focuses requirements capture and
    determining the structure of the system
  • Construction's main aim is to build the software
    system
  • Transition deals with product installation and
    rollout

28
(No Transcript)
29
User Involvement
  • Users can be involved in various ways
  • As part of the development team (DSDM)
  • Via a consultative approach
  • In fact gathering

30
Computer Aided Software Engineering
  • CASE tools typically provide a range of features
    including
  • checks for syntactic correctness
  • repository support
  • checks for consistency and completeness
  • navigation to linked diagrams
  • layering
  • requirements tracing
  • report generation
  • system simulation
  • performance analysis
  • code generation

31
The Spiral Life Cycle Model
Write a Comment
User Comments (0)
About PowerShow.com