1 / 14

Software Development

Software Development. Software Development Life Cycle. Five phases: Analysis Design Implementation Testing Maintenance. Software Development Life Cycle (con’t). Analysis Phase Formally specify (document) what the problem is Make sure that you and the “client” agree

cbrandon
Télécharger la présentation

Software Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Development

  2. Software Development Life Cycle Five phases: • Analysis • Design • Implementation • Testing • Maintenance

  3. Software Development Life Cycle (con’t) • Analysis Phase • Formally specify (document) what the problem is • Make sure that you and the “client” agree • Develop system test cases

  4. Software Development Life Cycle (con’t) • Design Phase • Formally specify (document) how the problem is to be solved • Make sure that the design conforms to the requirements (i.e., will produce what was specified in the analysis phase)

  5. Software Development Life Cycle (con’t) • Implementation Phase • Convert the design to code • Compile and remove all syntax errors

  6. Software Development Life Cycle (con’t) • Testing Phase • Unit Testing: Test each unit (e.g., function, object) for logic errors and make corrections • System Testing: Test the entire program to make sure that it conforms to the requirements

  7. Software Development Life Cycle (con’t) • Maintenance Phase • Fix bugs found by the customer • Make modifications ($$!) • Add new features ($$!)

  8. So How Does the S/W Life Cycle Apply to My Projects? • Follow the first four phases, but anticipate the last (Maintenance) • Complete the Analysis • Complete the Design • Do a combination of Implementation and Testing

  9. Procedural Method for CMSC 202 Project Development • Analysis Phase • Write, in paragraph form, a general statement of the problem • Draw a detailed picture of the user interface • Define in detail each of the program inputs and outputs (possibly use a formal notation such as BNF) • Ask questions!

  10. Project Development (con’t) • Design Phase (Procedural) • Using top-down stepwise refinement, draw a hierarchy diagram of the solution • Define the inputs and outputs for each module in the diagram • For each module in the diagram, write the pseudocode • Make sure that the pseudocode actually implements the requirements! (Do hand-traces of the pseudocode.)

  11. Project Development (con’t) • Implementation & Testing Phases: A Combination Approach • Write the “skeleton” C++ code for the main (top) module: • any #include’s • all function prototypes • the main function code • “dummies”/”stubs” for all functions

  12. Project Development (con’t) • Make sure that the code follows the pseudocode exactly! • Compile the code and remove any syntax errors • Run the “skeleton” • Code a single function, compile, and remove any syntax errors • Run the program and remove any logic errors

  13. Project Development (con’t) • Code each function, one at a time, compiling, removing syntax errors, running the entire program, and removing logic errors • Typically, it is best to add functions in the following order: • output function(s) • input function(s) • follow the calling order

  14. Project Development (con’t) • Make sure that the final program meets all project requirements! • Go back and review the project assignment for compliance • Test all possibilities for input values, legal, illegal, and boundary values (choose representative data if the set of possibilities is too large)

More Related