1 / 30

CS101 Introduction to Computing Lecture 20 SW Development Methodology

CS101 Introduction to Computing Lecture 20 SW Development Methodology. During the last lecture …. We discussed the role of programming languages in computing

mikef
Télécharger la présentation

CS101 Introduction to Computing Lecture 20 SW Development Methodology

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. CS101 Introduction to ComputingLecture 20SW Development Methodology

  2. During the last lecture … • We discussed the role of programming languages in computing • We also discussed the differences among low- & high-level, interpreted & compiled, and structured & object-oriented programming languages • We also discussed the object-oriented and the structured methodologies for SW design

  3. Spaghetti Design Methodology Any Other SW Design Methodologies? The most popular software design (programming) methodology

  4. Today’s Lecture • Development process of reasonably complex SW systems does not consist of “coding” only • We will become familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity

  5. SW Life-Cycle?

  6. SW Life-Cycle • The sequence of phases a SW goes through from the concept to decommissioning • It is important to think about all those phases before the design work starts • Thinking about the future phases generally results in: • Shorter delivery times • Reduced costs of development • A system of higher quality

  7. A Case in Point • I didn’t discuss with the customer the specs of the HW & OS before developing a particular e-commerce SW • I wrote it for the HW/OS that was easily available to me • Unfortunately that HW/OS combination differed from what was easily available to the client • Result: Huge amount of rework. Higher cost. Delayed delivery. Lower quality. • Therefore, now before designing a SW system, I first write down the installation manual, and get it OK’d by the customer. I do the same with the Operation & Maintenance manual as well.

  8. Let us now take a look at a very simple SW life-cycle

  9. Concept Development Operation & Maintenance Decommissioning

  10. That was a very simple viewNow we look at a more detailed view of the life-cycle for a SW system of a reasonable size

  11. Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  12. During the rest of the lecture we are now going to discuss each of these steps in some detail

  13. Concept&Feasibility Concept: What needs to be done? User Requirements Feasibility: Preliminary exploration of possible solutions, technologies, suppliers Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  14. The user documents as much as he knows about the job the system must do Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  15. Developer analyses users requirement, performs further investigation, and produces unambiguousspecifications Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  16. Detailed plan specifying the required resources and expected deliverables Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  17. Concept&Feasibility User Requirements Developer Specs Architecture: Decompose the problem into subsystems and define their relationships Planning Design Detailed Design: Decompose further such that one person can manage each sub-subsystem Implementation Integration Testing Opr. & Maintenance Retirement

  18. Concept&Feasibility User Requirements Developer Specs Planning Design Design Coding Implementation Integration Testing Opr. & Maintenance Retirement

  19. Concept&Feasibility Bring the sub-subsystems together to form subsystems and test. Bring subsystems together to form the system and test User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  20. Concept&Feasibility User Requirements Developer Specs Use Planning Enhance Design Adapt Implementation Correct Integration Testing Opr. & Maintenance Retirement

  21. Concept&Feasibility User Requirements Developer Specs Planning Design Phase it out when the time comes Implementation Integration Testing Opr. & Maintenance Retirement

  22. ?

  23. Concept&Feasibility User Requirements Test Developer Specs Test Planning Test Design Test Implementation Test Integration Testing Acceptance Test Opr. & Maintenance Retirement

  24. Key Issues

  25. Customer’s lack of knowledge about requirements Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  26. Lag Concept&Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement

  27. Other Life-Cycle Models • The sequence of phases (or the life-cycle mode) that I showed is just one example of the several sequences that SW developers follow • This one is called the “Waterfall” model • You will learn about some more models (e.g. the Spiralmodel) in your future courses

  28. Reading Assignments The Waterfall Lifecycle Model and its Derivatives www.cs.qub.ac.uk/~J.Campbell/myweb/misd/node3.html

  29. In Today’s Lecture • We became familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity • We looked at a couple of problems related to the Waterfall SW development model

  30. Next Lecture: 2nd In the Productivity SW Series Spreadsheets • We will become familiar with the basic features and functions of spreadsheets • We will become able to performsimple data analysis using spreadsheet SW

More Related