Download - CSC 425: Advanced Software Project
![Page 1: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/1.jpg)
CSC 425: Advanced Software Project
Dr. Chuck Lillie
![Page 2: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/11.jpg)
Chart 11
Waterfall Model
StakeholdersNeeds
Analysis
SystemRequirements
Analysis
ArchitectureDesign
DetailedDesign
CodingAnd Testing
System Testing
![Page 12: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/12.jpg)
Chart 12
Spiral
Description Advantages Disadvantages
![Page 13: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/17.jpg)
Chart 17
Commercial-off-the-shelf (COTS) Integration
Description Advantages Disadvantages
![Page 18: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/18.jpg)
Chart 18
Rehost/port
Description Advantages Disadvantages
![Page 19: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/19.jpg)
Chart 19
Reengineering
Description Advantages Disadvantages
![Page 20: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/20.jpg)
Chart 20
Automated Application Generation (AAG)
Description Advantages Disadvantages
![Page 21: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/21.jpg)
Chart 21
Maintenance
Description Advantages Disadvantages
![Page 22: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/22.jpg)
Chart 22
Backup Slides
![Page 23: CSC 425: Advanced Software Project](https://reader035.vdocuments.us/reader035/viewer/2022062408/568139bb550346895da15e20/html5/thumbnails/23.jpg)
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