CS101 Introduction to Computing Lecture 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
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
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
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas The primarily goal of a system is to create value for the organization. Many failed systems were abandoned.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Introduction to Software Engineering Dr. Basem Alkazemi
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
Oct. 9, 2003CS WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Systems.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
The Waterfall Model A Case Study
March 22, 2004CS WPI1 CS 509 Design of Software Systems Lecture #9 Monday, March 22, 2004.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
SDLC and Related Methodologies
Sharif University of Technology Session # 4.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Effective Methods for Software and Systems Integration
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
© The McGraw-Hill Companies, An Introduction Chapter 1 Software Project Management 4 th Edition Robert Hughes and Mike Cotterell.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
SDLC – A Brief Introduction
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
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.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
1 Introduction to Software Development Process Lecture - 2.
1 Instructor: S. Masoud Sadjadi sadjadi At cs Dot fiu Dot edu Software Engineering and Project Communications.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 6 System Engineering Overview of System Engineering.
Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
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.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Software Engineering Lecture # 1.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Software Lifecycle Models Place of Testing in Software Lifecycle 1.
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.
SDLC and Related Methodologies
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Systems Analysis & Design N106
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
Dr. Samer Odeh Hanna (PhD)
Software life cycle models
CS101 Introduction to Computing Lecture 20 SW Development Methodology
SDLC and Related Methodologies
Presentation transcript:

CS101 Introduction to Computing Lecture SW Development 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 build 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 ahead of time generally results in: –Shorter delivery times –Reduced costs of development –Systems of higher quality

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.

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

Development Concept 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 going to discuss each of these steps in some detail

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

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

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 Architecture: Decompose the problem into subsystems and define their relationships Detailed Design: Decompose further such that one person can manage each sub-subsystem

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

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

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

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

?

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

Key Issues

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

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

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

Reading Assignments The Waterfall Lifecycle Model and its Derivatives

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

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