Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 2 The Software Process
Stepan Potiyenko ISS Sr.SW Developer.
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
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Requirements.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Software Engineering CSE470 (Fall 2001) Instructors: Dr. B. Cheng (Sect. 1-3) Dr. W. McUmber (Sect. 4-6)
Developed by Reneta Barneva, SUNY Fredonia The Process.
Design, Implementation and Maintenance
Introduction to Computer Technology
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
S/W Project Management
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
1 CMPT 275 Software Engineering Software life cycle.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Chapter 2 The process Process, Methods, and Tools
N By: Md Rezaul Huda Reza n
Software Quality Assurance Activities
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Lecture 1 Introduction to Software Engineering
Software Requirements Engineering CSE 305 Lecture-2.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Software Engineering - I
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 4 프로세스 모델 Process Models
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Developed by Reneta Barneva, SUNY Fredonia The Process.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CSE 303 – Software Design and Architecture
Software Development Life Cycle (SDLC)
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
 System Requirement Specification and System Planning.
Advanced Software Engineering Dr. Cheng
Software Project Configuration Management
Lecture 3 Prescriptive Process Models
Software Engineering CSE470 (Fall 2000)
Software Life Cycle “What happens in the ‘life’ of software”
Advanced Software Engineering Dr. Cheng
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
LEVEL OF TESTING J.ALFRED DANIEL, AP/CSE.
Chapter 2 The Process.
Chapter 2 The Process.
Software Engineering I
Presentation transcript:

Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities: Throughout lifecycle

Dillon: CSE470: SE, Process2 Definition l Requirements definition and analysis »Developer must understand –Application domain –Required functionality –Required performance –User interface

Dillon: CSE470: SE, Process3 Definition (cont.) l Project planning »Allocate resources »Estimate costs »Define work tasks »Define schedule l System analysis »Allocate system resources to –Hardware –Software –Users

Dillon: CSE470: SE, Process4 Development l Software design »User interface design »High-level design –Define modular components –Define major data structures »Detailed design –Define algorithms and procedural detail

Dillon: CSE470: SE, Process5 Development (cont.) l Coding »Develop code for each module »Unit testing l Integration »Combine modules »System testing

Dillon: CSE470: SE, Process6 Maintenance l Correction - Fix software defects l Adaptation - Accommodate changes »New hardware »New company policies l Enhancement - Add functionality l Prevention - make more maintainable

Dillon: CSE470: SE, Process7 Umbrella Activities l Reviews - assure quality l Documentation - improve maintainability l Version control - track changes l Configuration management - integrity of collection of components

Dillon: CSE470: SE, Process8 Software Engineering Costs

Dillon: CSE470: SE, Process9 Software Engineering Costs

Dillon: CSE470: SE, Process10 Relative Costs to Fix Errors

Dillon: CSE470: SE, Process11 Waterfall Process Model Requirements Design Maintenance Coding Testing

Dillon: CSE470: SE, Process12 Prototyping Process Model Requirements Quick Design Prototype Evaluate Design

Dillon: CSE470: SE, Process13 When to use prototyping? l Help the customer pin down the requirements »Concrete model to “test out” »Often done via the user interface l Explore alternative solutions to a troublesome component »e.g., determine if an approach gives acceptable performance l Improve morale »Partially running system provides visibility into a project

Dillon: CSE470: SE, Process14 Spiral Process Model Planning Risk Analysis Engineering Customer Evaluation

Dillon: CSE470: SE, Process15 Process Models l Idealized views of the process l Different models are often used for different subprocesses »may use spiral model for overall development –prototyping for a particularly complex component –waterfall model for other components

Dillon: CSE470: SE, Process16 Capability Maturity Model l Level 1: Initial »success depends on people l Level 2: Repeatable »track cost, schedule, functionality l Level 3: Defined »use standardized processes l Level 4: Managed »collect detailed metrics l Level 5: Optimizing »continuous process improvement »“built-in” process improvement

Dillon: CSE470: SE, Process17 Why is software development so difficult ? l Communication »Between customer and developer –Poor problem definition is largest cause of failed software projects »Within development team –More people = more communication –New programmers need training l Project characteristics »Novelty »Changing requirements –5 x cost during development –up to 100 x cost during maintenance »Hardware/software configuration »Security requirements »Real time requirements »Reliability requirements

Dillon: CSE470: SE, Process18 Why is software development difficult ? (cont.) l Personnel characteristics »Ability »Prior experience »Communication skills »Team cooperation »Training l Facilities and resources »Identification »Acquisition l Management issues »Realistic goals »Cost estimation »Scheduling »Resource allocation »Quality assurance »Version control »Contracts

Dillon: CSE470: SE, Process19 Summary l Software lifecycle consist of »Definition (what) »Development (how) »Maintenance (change) l Different process models concentrate on different aspects »Waterfall model: maintainability »Prototype model: clarifying requirements »Spiral model: identifying risk l Maintenance costs much more than development

Dillon: CSE470: SE, Process20 Bottom Line l U.S. software is a major part of our societal infrastructure »Costs upwards of $200 billion/year l Need to »Improve software quality »Reduce software costs/risks