herriman high computer programming 1a software development cycle things to know

10
Herriman High Computer Programmi Herriman High Computer Programmi ng 1A ng 1A Software Software Development Cycle Development Cycle Things to Know Things to Know

Upload: dwain-shields

Post on 21-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

Software Development Software Development CycleCycle

Things to KnowThings to Know

Page 2: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

The Phases of Software The Phases of Software DevelopmentDevelopment

Page 3: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

Analysis of RequirementsAnalysis of Requirements

A A requirementrequirement is single aspect of is single aspect of what you want the software to do.what you want the software to do.

Coming up with a clear, concise, set Coming up with a clear, concise, set of requirements is the first (and often of requirements is the first (and often hardest) part of planning a software hardest) part of planning a software project.project.

Clients often have an abstract idea Clients often have an abstract idea of what they want the end result to of what they want the end result to be, but little or no knowledge of what be, but little or no knowledge of what the software will actually do.the software will actually do.

Page 4: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

Analysis of RequirementsAnalysis of Requirements

Once a general set of requirements Once a general set of requirements is obtained from the client – the is obtained from the client – the scope of the development is outlined of the development is outlined in writing.in writing.

This document helps both the This document helps both the developer and the client to developer and the client to understand what the software will understand what the software will and will not do. and will not do.

The guiding parameters of this The guiding parameters of this document are functionality and cost. document are functionality and cost.

Page 5: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

DesignDesign

Once the requirements are established, a Once the requirements are established, a general outline of the project is created general outline of the project is created called a called a software design document.

In the document the high level design or main modules of the program are laid out in a block diagram showing how they will all fit together. At this point the hardware requirements,

computer language, and operating system should be decided.

Once this is completed the lower level design work – the specific functions of each module can be outlined.

Page 6: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

DevelopmentDevelopmentA.K.A. CodingA.K.A. Coding

After reviewing the design After reviewing the design documents the work is divided in documents the work is divided in modules/units.modules/units.

Now actual coding is started. Now actual coding is started. Since, in this phase the code is Since, in this phase the code is

produced, it is the main focus for produced, it is the main focus for the developer. the developer.

This is the longest phase of the This is the longest phase of the software development life cycle. software development life cycle.

Page 7: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

TestingTesting

Testing is an important phase Testing is an important phase coding/development coding/development process. process.

This part of the process ensures This part of the process ensures that defects are recognized as that defects are recognized as soon as possiblesoon as possible

Failure to rigorously test a Failure to rigorously test a software product at this point software product at this point can lead to costly and time can lead to costly and time consuming “fixes” or updates.consuming “fixes” or updates.

Page 8: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

DocumentationDocumentation

Documenting the internal design of Documenting the internal design of software for the purpose of future software for the purpose of future maintenance and enhancement is maintenance and enhancement is done throughout the done throughout the development/coding process.development/coding process.

This may consist of both internal This may consist of both internal comments within the program and comments within the program and external documents like users external documents like users guides.guides.

Page 9: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

Deployment/Release of the Deployment/Release of the SoftwareSoftware

Deployment starts after the code is Deployment starts after the code is appropriately tested, approved for release, and appropriately tested, approved for release, and sold. sold.

Deployment may involve installation, Deployment may involve installation, customization (setting up the software for a customization (setting up the software for a specific office or location), testing, and possibly specific office or location), testing, and possibly an extended period of evaluation where the an extended period of evaluation where the customer makes sure that the software meets customer makes sure that the software meets their needs and works out the “bugs.” their needs and works out the “bugs.”

This is also the time when training is provided This is also the time when training is provided by the developer to the client’s employees. by the developer to the client’s employees. Software training and support is important, as Software training and support is important, as software is only effective if it is used correctly.software is only effective if it is used correctly.

Page 10: Herriman High Computer Programming 1A Software Development Cycle Things to Know

Herriman High Computer Programming 1AHerriman High Computer Programming 1A

Support/MaintenanceSupport/Maintenance

Maintaining and supporting your Maintaining and supporting your product involves:product involves: Fixing faults or issues – “Bug fixing”Fixing faults or issues – “Bug fixing” Enhancing software to cope with newly Enhancing software to cope with newly

discovered requirements or adding new discovered requirements or adding new features - “updating”features - “updating”

These activities can take substantial These activities can take substantial time and effort and sometimes may time and effort and sometimes may even be extensive enough force even be extensive enough force redesign of the software in order to redesign of the software in order to fix major problems or to stay fix major problems or to stay competitive with other products.competitive with other products.