CS101 Introduction to Computing Lecture 20 SW Development Methodology

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
CSC 480 Software Engineering
Chapter 2 – Software Processes
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Systems.
SDLC and Related Methodologies
Introduction to Systems Analysis and Design Trisha Cummings.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
CS101 Introduction to Computing Lecture SW Development Methodology.
Prototyping. Introduction *Overview *What is the process *Changing roles of end users *What tools facilitate prototyping *Impact on traditional methodology.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Software Production Chapter 2: Identifying Software Development Activities.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Software Engineering Lecture # 1.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
MANAGEMENT INFORMATION SYSTEM
SDLC and Related Methodologies
Software Development - Methodologies
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Chapter 1: Introduction to Systems Analysis and Design
Chapter 6 The Traditional Approach to Requirements.
Unit 6 Application Design Sample Assignment.
Business System Development
Systems Analysis & Design N106
Information Technology Project Management – Fifth Edition
Classical Waterfall Model
Life Cycle Models PPT By :Dr. R. Mall.
Systems Analysis and Design
Models of Software Development Life Cycle (SDLC)
Systems Analysis and Design
UNIFIED PROCESS.
Methodologies For Systems Analysis.
Dr. Samer Odeh Hanna (PhD)
Methodologies For Systems Analysis.
Introduction to Systems Analysis and Design
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Systems Development Life Cycle
CSC 354 – System Development Life Cycles & Processes, Fall 2013
Chapter 1: Introduction to Systems Analysis and Design
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
SDLC and Related Methodologies
Software Engineering Lecture 17.
Information Systems Development (ISD) Systems Development Life Cycle
Software Development Chapter 1.
Requirements Engineering
Chapter 1: Introduction to Systems Analysis and Design
Lecture 23 CS 507.
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

CS101 Introduction to Computing Lecture 20 SW Development Methodology

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

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

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

SW Life-Cycle?

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

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.

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

Concept Development Operation & Maintenance Decommissioning

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

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

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

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

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

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

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

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

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

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

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

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

?

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

Key Issues

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

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

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

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

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

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