Download presentation
Presentation is loading. Please wait.
1
The Software Development Cycle
2
Software Engineering The study of designing, developing, and maintaining software Margaret Hamilton, a computer scientist who helped develop the on-board flight software for the Apollo space program, coined the phrase “software engineering.” Her code prevented an abort of a moon landing! The software engineer oversees the life cycle of software development: initiation of the project, analysis of the specification, and design of the program, as well as implementation, testing, and maintenance of the final project.
3
Software Development Models
Prototyping Incremental Development Rapid Application Development Agile Software Development Waterfall Model There isn’t one correct way to design a computer program. How you write the program depends on the application.
4
Prototyping An application of a final system is built, tested, and reworked until it is acceptable. The complete system is then developed from the prototype.
5
Incremental Development
The software is designed, implemented, and tested a little bit at a time until the product is finished.
6
Rapid Application Development
The user is actively involved in the evaluation of the product and modifications are made immediately as the problems are found. Radical changes in the system are likely at any moment in the process.
7
Agile Software Development
The developers offer frequent releases of the software to the customer and new requirements are generated by the users. Short development cycles are common in this type of development
8
Waterfall Model The process of development is sequential and flows downward like a waterfall. Steps include: Conception Initiation Analysis Design Construction Testing Implementation Maintenance The waterfall model of software development came about in the 1960’s in order to bring structure and efficiency into the process of creating large programs. So what’s the best model? It depends on the situation. It varies from problem to problem, situation to situation, and even company to company. You should view the models of software engineering as tools in a toolbox in which the techniques that you apply depends on the project you are working on.
9
Program Specifications
Delivered from the design team; not written by the programmer Descriptions of program should indicated What it will look like How it should operate What it should accomplish The specifications are written description of the project. Typically the specs are based on the customer’s requirements. The first step in writing a program is to analyze the specifications, make sure you understand them, and clarify with the customer or the design team anything that is unclear. Great programmers have good communication skills so they can talk back and forth with the person who writes the specs to clarify any questions they may have.
10
Program Design Detailed plan for solving problem outlined in specifications Includes: Objects that will be used in the solution Data structures that will implement them Detailed list of tasks to be performed by the program A good design provides a fairly detailed overall plan at a glance, without including the Java code.
11
Program Implementation
Coding
12
Testing & Debugging Test Data
Typical values in each part of a domain of the program Types of Errors (Bugs) Compile-term error Run-time error Intent or Logic error Robustness Doesn’t give inaccurate answers for some input data Doesn’t crash if the input data are invalid Doesn’t allow execution to proceed if invalid data are entered Compile-time error: compiler is unable to translate the program into bytecode and prints an appropriate error message. A syntax error is a compile-time error caused by violating the rules of the programming language. Run-time error occurs during execution of the program. The Java run-time environment throws an exception which means that it stops execution and prints an error message. Typical causes of run-time errors include attempting to divide an integer by zero. Intent or logic error is one that fails to carry out the specification of the program.
13
Program Maintenance Upgrading the code as circumstances change
Adding new features Because new people will be added to projects, original programs must have clear and precise documentation.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.