Computer Science Notes

Notes From CS Undergrad Courses FSU

This project is maintained by awa03

Software Development Process

1) Discuss the software that needs to be written 2) Write some code 3) Test the code to identify the defects 4) debug to find causes of defects 5) fix the defects 6) If not done, return to steps 1 or 3

Hypothesis

- Software development process increases flexibility and efficiency - Upfront investment for greater return

Feasibility - Process Step

- A feasibility study precedes the decision to begin a project - What is the scope of the project? - Is the Project feasible? - What is the benefit of the project? - What are the risks? - What are the costs / timeline?
A feasibility study leads to a decision: go or no-go

Project scope

- market and user research, identifying objectives

Technical Feasibility

- evaluating existing technology, surveying literature, and consulting.

Risk

- potential risks in early and late phases of development - Requirements define the functions of the system from the clients view point. They must be developed in a manner that is understandable by the client and the development staff. Requirements may be set incrementally, especially for large projects. Failure to agree on the requirements is one of the leading causes of software projects failing.

Implementation and testing

- The design is realized as a set of programs or program units - These software components may be written by the development team, acquired from elsewhere or modified from existing libraries or components

Integration

- Individual components or modules developed during the implementation phase are integrated.

Testing

- System testing the components are integrated and tested again ensuring that the integration is successful

Maintenance

- Bug fixes - Content Updates and Events - Customer Support - Analytics and Data Analysis

The Downsides of Process Model - Waterfall

- It is a sequential approach. The development team works through the process - The main drawback is the difficulties accommodating change.

Process Model - Spiral

1) Plan Objectives 2) Risk Analysis 3) Develop the next version of the product 4) Plan the next phase

![[spiral_model_PNG.png]]