Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS101 Introduction to Computing Lecture SW Development Methodology.

Similar presentations


Presentation on theme: "CS101 Introduction to Computing Lecture SW Development Methodology."— Presentation transcript:

1 CS101 Introduction to Computing Lecture SW Development Methodology

2 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 build SW systems of reasonable complexity

3 SW Life-Cycle ?

4 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 ahead of time generally results in: –Shorter delivery times –Reduced costs of development –Systems of higher quality

5 A Case in Point Didn’t discuss with the customer the specs of the HW & OS before developing a particular e-commerce SW Wrote it for the HW/OS that was easily available 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, before designing a SW system, write down the installation manual, and get it OK’d by the customer. Do the same with the Operation & Maintenance manual as well.

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

7 Development Concept Operation & Maintenance Decommissioning

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

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

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

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

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

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

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

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

16 Concept & Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing Opr. & Maintenance Retirement Coding Sub-subsystem Design

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

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

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

20 ?

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

22 Key Issues

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

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

25 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 may learn about some more models (e.g. the Spiral model) in your future CS courses

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

27 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

28 Midterm Monday, next week 50-minute duration Questions/problems: –Fill-in-the-blanks –Short answer –Detailed answer


Download ppt "CS101 Introduction to Computing Lecture SW Development Methodology."

Similar presentations


Ads by Google