Software Waterfall Life Cycle

Slides:



Advertisements
Similar presentations
Software Engineering Key construction decisions Design challenges.
Advertisements

Software Engineering Key design concepts Design heuristics Design practices.
Lecture # 2 : Process Models
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Overview Traditional systems development life cycle (SDLC)
CSC 480 Software Engineering
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
Ch 3 System Development Environment
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
Alternate Software Development Methodologies
Software Construction
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
System Analysis and Design (SAD )
Chapter 1 The Systems Development Environment
Chapter 6: Design of Expert Systems
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
CS 425/625 Software Engineering Software Processes
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Systems.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 SOFTWARE LIFE-CYCLES Elements and Definitions. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.
Chapter 3 Software Processes.
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 2 The process Process, Methods, and Tools
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
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.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Development 1. Outline The code-compile-debug process for writing a program The software development process 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS540 Software Design Lecture 2 1 Lecture 2: Software Design Methods Anita S. Malik Adapted from Budgen (2003) Chapter 3 and Schach.
Installation and Maintenance of Health IT Systems
Project Life Cycles.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Developed by Reneta Barneva, SUNY Fredonia The Process.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Diagnosing Design Problems in Object Oriented Systems Adrian Trifu, Radu Marinescu Proceedings of the 12th IEEE Working Conference on Reverse Engineering.
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.
Software Engineering I. Introduction to Software Engineering Software models Formal Specification using ASML (Abstract State Machines Language) Software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Chapter 7 Preliminary Construction The broad scope of implementation Preliminary construction in the SDLC Preliminary construction activities Preliminary.
Software Design and Development Development Methodoligies Computing Science.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
ISTM 280, GWU1 Introduction to Systems Analysis and Design Lecture 1 Courtesy Subhasish Dasgupta.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Project Management Software development models & methodologies
Prototyping.
Software Life Cycle “What happens in the ‘life’ of software”
Software Processes (a)
Software Myths Software is easy to change
Systems Analysis and Design
Chapter 6: Design of Expert Systems
Software Development Process
Software life cycle models
Decision Time – Who will do what?
Presentation transcript:

Software Waterfall Life Cycle Concept Exploration Prototype Requirements Design Construction Testing The term software construction refers to the detailed creation of working, meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging. Delivery and Installation Operations and Maintenance

Spiral Model

www.extremeprogramming.org

Software Construction Standards for Construction Team coding and documentation standards File and variable naming standards Tool standards Web standards, accessibility standards Check-in, check out, version control standards From SWEBOK 2004

Software Construction Goal is to Minimize complexity Use standards Abstraction, low coupling, high cohesion Encapsulation, information hiding Separation of interface from implementation Anticipate change No literal values in code (control access to data) Incremental development Facilitate testing Code reviews, unit testing, automated testing The number of functional requirements for medium sized software projects can be hundreds. For large systems, it can be thousands. Each requirement is implemented in code, resulting in complex, hard to understand, error-prone code. For successful software projects, you need to minimize the complexity that any one person has to handle at any one time.

Code Complete http://www.cc2e.com/ Key Decisions Choice of programming language Programming conventions Your location on the technology wave Selection of major construction practices Version control tool and integration procedure IDE and tool set Pair programming versus individually Test-driven development versus traditional Unit testing tool Formal reviews Programmers more productive using a familiar language Programmers more production with high-level languages Some languages are better with specific types of problems

Construction Measurement Measuring progress Number of classes finished, LOC, test cases Number of requirements implemented Code metrics Complexity measures Code inspections Errors detected and fixed