+ All Categories
Home > Documents > CSC 425: Advanced Software Project

CSC 425: Advanced Software Project

Date post: 04-Jan-2016
Category:
Upload: umay
View: 32 times
Download: 2 times
Share this document with a friend
Description:
CSC 425: Advanced Software Project. Dr. Chuck Lillie. Course Outline. Software Development Process Problem Definition Requirements Analysis Development Lifecycle Program Management Major Programming Project Project Definition and Planning Implementation Status Reports - PowerPoint PPT Presentation
Popular Tags:
23
CSC 425: Advanced Software Project Dr. Chuck Lillie
Transcript
Page 1: CSC 425:  Advanced Software Project

CSC 425: Advanced Software Project

Dr. Chuck Lillie

Page 2: CSC 425:  Advanced Software Project

Chart 2

Course Outline

Software Development Process– Problem Definition– Requirements Analysis– Development Lifecycle– Program Management

Major Programming Project– Project Definition and Planning– Implementation

Status Reports

– Project Presentation

Page 3: CSC 425:  Advanced Software Project

Chart 3

Software Development Activities

Problem DefinitionRequirements Analysis Implementation PlanningHigh-level Design (or Architecture)Detailed DesignCoding and DebuggingUnit TestingSystem TestingMaintenance

Page 4: CSC 425:  Advanced Software Project

Chart 4

Problem Definition

A clear statement of the problem Defines problem without any reference to solution Should be in user’s language

– Not in technical terms

Failure to define problem may cause you to solve the wrong problem

Page 5: CSC 425:  Advanced Software Project

Chart 5

Requirements Analysis

Helps ensure that the user rather than the programmer drives system’s functionality

Helps avoid arguments Minimizes changes to the system after

development begins Change is inevitable

– Set up change-control procedure– Use development approaches that accommodate

changes

Specifying requirements adequately is a key to project success

Page 6: CSC 425:  Advanced Software Project

Chart 6

Development Lifecycle Models

Waterfall (Pure Waterfall) Spiral (Spiral) Evolutionary (Evolutionary Prototype) Incremental (Staged Delivery) Commercial-off-the-shelf (COTS) Integration

(COTS) Rehost/port Reengineering Automated Application Generation (AAG) Maintenance

Page 7: CSC 425:  Advanced Software Project

Chart 7

Development Lifecycle Models -- Features

Requirements are defined first Multiple internal development cycles Multiple customer deliveries Functional content primary driver Process primary driver

Page 8: CSC 425:  Advanced Software Project

Chart 8

Development Lifecycle Models – Selection Criteria

Does the system have a precedent (I.E., Have similar systems been built before)?

Is the technology understood and stable? Are the requirements understood and stable? Are suitable COTS products available and ready to be

used in end products? Is this a large or complex project or product? Is the project fully funded at startup? Is the project cost or schedule constrained and

requirements cannot be reduced? Is there a need for engineering subprojects driven by risk

identification and mitigation? Is the existing system’s maintenance cost too high/is her

a need to facilitate future system enhancements?

Page 9: CSC 425:  Advanced Software Project

Chart 9

Waterfall

Description– An orderly sequence of steps from the initial software

concept through system testing– A review at the end of each phase– Document driven– Phases are discontinuous

Page 10: CSC 425:  Advanced Software Project

Chart 10

Waterfall

Advantages– Helps minimize planning overhead– Works well for projects that are well understood buy

complex– Works well when quality requirements dominate cost

and schedule– Works well if you have a technically weak staff

Disadvantages– Have to fully specify requirements at beginning of project– Waterfall model isn’t flexible– Generates few visible signs of progress until the very

end– Excessive amount of documentation

Page 11: CSC 425:  Advanced Software Project

Chart 11

Waterfall Model

StakeholdersNeeds

Analysis

SystemRequirements

Analysis

ArchitectureDesign

DetailedDesign

CodingAnd Testing

System Testing

Page 12: CSC 425:  Advanced Software Project

Chart 12

Spiral

Description Advantages Disadvantages

Page 13: CSC 425:  Advanced Software Project

Chart 13

Evolutionary

Description– Develop system concept as you move through the

project– Develop prototypes including real requirements

analysis, real design, and real maintainable code Advantages

– Manage changing requirements– Unsure of optimal architecture or algorithms– Produces steady, visible signs of progress

Disadvantages– Don’t know time required to complete project– Can become an excuse to do code-and-fix

Page 14: CSC 425:  Advanced Software Project

Chart 14

Refine prototype until acceptable

Evolutionary

Initial concept

Design and implement initial prototype

Complete and release prototype

Refine prototype until acceptable

Refine prototype until acceptable

Refine prototype until acceptable

Page 15: CSC 425:  Advanced Software Project

Chart 15

Incremental

Description– Also known as Staged Delivery– Deliver software in successive stages throughout the

project Advantages

– Put useful functionality into hands of customer early– Provides tangible signs of progress

Disadvantages– Won’t work without careful planning– Determining stage dependencies

Page 16: CSC 425:  Advanced Software Project

Chart 16

Incremental

Software concept

Requirements Analysis

Architectural Design

Stage 1: Detailed design,. Code, debug, test, and delivery

Stage 2: Detailed design,. Code, debug, test, and delivery

Stage n: Detailed design,. Code, debug, test, and delivery

Page 17: CSC 425:  Advanced Software Project

Chart 17

Commercial-off-the-shelf (COTS) Integration

Description Advantages Disadvantages

Page 18: CSC 425:  Advanced Software Project

Chart 18

Rehost/port

Description Advantages Disadvantages

Page 19: CSC 425:  Advanced Software Project

Chart 19

Reengineering

Description Advantages Disadvantages

Page 20: CSC 425:  Advanced Software Project

Chart 20

Automated Application Generation (AAG)

Description Advantages Disadvantages

Page 21: CSC 425:  Advanced Software Project

Chart 21

Maintenance

Description Advantages Disadvantages

Page 22: CSC 425:  Advanced Software Project

Chart 22

Backup Slides

Page 23: CSC 425:  Advanced Software Project

Chart 23

Waterfall Model

StakeholdersNeeds

Analysis

SystemRequirements

Analysis

SystemArchitecture

Design

SoftwareRequirements

Analysis

SoftwareItem n

HardwareItem n

SoftwareDetailedDesign

SoftwareIntegration

SoftwareArchitectural

Design

SoftwareCoding

And Testing

SoftwareQualification

Testing

HardwareComponent

Requirements

HardwareDesign

HardwareMake/BuyDecision

Fabrication/PurchaseAnd Assembly

HardwareQualification

Testing

SystemQualification

& ReleaseActivities

Software/HardwareComponent Integration

& Qualification


Recommended