Download presentation
Presentation is loading. Please wait.
Published byKristen Carlson Modified over 6 years ago
1
CS101 Introduction to Computing Lecture 20 SW 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
Any Other SW Design Methodologies?
Spaghetti Design Methodology 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 view Now 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: What needs to be done?
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 unambiguous specifications 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
Use Enhance Adapt Correct Concept & Feasibility User Requirements
Developer Specs Use Planning Enhance Design Adapt Implementation Integration Testing Correct Opr. & Maintenance Retirement
21
Phase it out when the time comes
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 Spiral model) in your future courses
28
Reading Assignments The Waterfall Lifecycle Model and its Derivatives
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 perform simple data analysis using spreadsheet SW
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.