1 / 12

Software Development

Software Development. “Good” Software. When developing software, we strive for software that is correct (meets requirements) reliable (bug-free) easily maintained (corrections and upgrades) reusable. Procedural vs. OO.

shoup
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. “Good” Software When developing software, we strive for software that is • correct (meets requirements) • reliable (bug-free) • easily maintained (corrections and upgrades) • reusable

  3. Procedural vs. OO • A procedural approach to software looks at the problem in terms of functionality • An OO approach to software looks at the problem in terms of “things”

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

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

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

  7. Example – The game of Chess • Procedural – what are the rules? • OO – what chess pieces are there and how do they move?

  8. More Chess • Procedural – envision a 2-D matrix for the board and functions that move a piece from one square to the next • OO – envision chess pieces and board and their attributes

  9. Software Development Life Cycle (cont’d) • Implementation Phase • Convert the design to code • Procedural -- functions • OO -- objects • Compile and remove all syntax errors

  10. Software Development Life Cycle (cont’d) • Testing Phase • Unit Testing: Test each unit (e.g., function, object) for logic errors and make corrections • Procedural – function test driver • OO – object test driver • System Testing: Test the entire program to make sure that it conforms to the requirements

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

  12. 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

More Related