Software Development Life Cycles (SDLC) BY Touseef Tahir.

Slides:



Advertisements
Similar presentations
Lecture 4 Process and Method: An Introduction to the Rational Unified Process.
Advertisements

CS487 Software Engineering Omar Aldawud
Information Resources Management January 23, 2001.
Ch 3 System Development Environment
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Object-Oriented Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 1 The Systems Development Environment
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
The Rational Unified Process
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Object Oriented Design and Analysis Rational Unified Process.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Chapter 2 The Rational Unified Process. Outline Waterfall Process Rational Unified Process RUP Best Practices Iterative and Incremental Development Process.
4. Software Processes Software Engineering. Objectives To introduce software process models To describe three generic process models and when they may.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
The Rational Unified Process 1 EECS810: Software Engineering.
PRJ566 Project Planning & Management Software Architecture.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
The principles of an object oriented software development process Week 04 1.
The Systems Development Environment Systems Analysis and Design II.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development Framework
Software Development.
Testing Tools & Standards
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Introduction to Software Engineering
Object Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Software Development Life Cycles (SDLC) BY Touseef Tahir

SDLC-Software development life cycle Process Project Software engineering System engineering

Zero Assignment 1 Write a report on Extreme programming, formal methods, agile software development life cycles. Deadline : subject:?

The spiral model

Risk Management A process that ◦Identifies a risk of business loss ◦Assesses the risk’s potential impact ◦Determines how to handle the risk Protects physical assets from damage Protects nonphysical assets from software, network-related risks 38

Rapid application development Use Prototypes ◦Evolutionary prototypes ◦Throw-away prototypes Phases ◦Requirements planning ◦RAD design workshop ◦Implementation Why to use RAD ◦Quick development of software

The Rational Unified Process RUP is a method of managing OO Software Development It can be viewed as a Software Development Framework which is extensible and features: ◦Iterative Development ◦Requirements Management ◦Component-Based Architectural Vision ◦Visual Modeling of Systems ◦Quality Management ◦Change Control Management

RUP Features Online Repository of Process Information and Description in HTML format Templates for all major artifacts, including: ◦RequisitePro templates (requirements tracking) ◦Word Templates for Use Cases ◦Project Templates for Project Management Process Manuals describing key processes

The Phases

An Iterative Development Process... Recognizes the reality of changing requirements ◦Casper Jones’s research on 8000 projects  40% of final requirements arrived after the analysis phase, after development had already begun Promotes early risk mitigation, by breaking down the system into mini-projects and focusing on the riskier elements first Allows you to “plan a little, design a little, and code a little” Encourages all participants, including testers, integrators, and technical writers to be involved earlier on

An Incremental Development Process... Allows for software to evolve, not be produced in one huge effort Allows software to improve, by giving enough time to the evolutionary process itself Allows interim progress to continue through the stubbing of functionality Allows for the management of risk, by exposing problems earlier on in the development process

Goals and Features of Each Iteration Each iteration is risk-driven The primary goal of each iteration is to slowly chip away at the risk facing the project, namely: ◦performance risks ◦integration risks (different vendors, tools, etc.) ◦conceptual risks (ferret out analysis and design flaws)

Risk Management Identification of the risks Iterative/Incremental Development The prototype or pilot project

The Development Phases Inception Phase Elaboration Phase Construction Phase Transition Phase

Inception Phase Initial requirements capture Cost Benefit Analysis Initial Risk Analysis Project scope definition Defining a candidate architecture Development of a disposable prototype Initial Use Case Model (10% - 20% complete) First pass at a Domain Model ◦Class diagram in UML ◦Model  Semantics  code (Forward Engineering)

Elaboration Phase Requirements Analysis and Capture ◦Use Case Analysis  Use Case (80% written and reviewed by end of phase)  Use Case Model (80% done)  Scenarios ◦ Sequence and Collaboration Diagrams ◦ Class, Activity, Component, State Diagrams ◦Glossary (so users and developers can speak common vocabulary) ◦Domain Model ◦Risk Assessment Plan revised ◦Architecture Document

Construction Phase Focus is on implementation of the design: ◦cumulative increase in functionality ◦greater depth of implementation ◦greater stability begins to appear ◦analysis continues, but design and coding predominate

Transition Phase The transition phase consists of the transfer of the system to the user community It includes shipping, installation, training, technical support and maintenance Development team begins to shrink Control is moved to maintenance team Alpha, Beta, and final releases Software updates Integration with existing systems (legacy, existing versions, etc.)

CASE-Computer Aided Software Engineering

In the early days… Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders, etc. – Computers weren’t powerful enough or advanced yet to support higher-level functioning

But now… Software engineering often follows specific standardized methods There are lots of diagrams and documentation involved So now computers can be used to deal with the higher-level aspects of software engineering

Computer Aided Software Engineering What is a CASE Environment? ◦CASE is the use of computer-based support in the software development process. What is a CASE Tool? ◦A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within a software development process.

Goal of using CASE tools Supply basic functionality, do routine tasks automatically Enhance productivity ◦Generate code pieces automatically Increase software quality Intuitive use Integration with other tools

What could be called a CASE tool? Project management softwares System design tools Code storage Compilers Translation tools Test software

But generally… Code generation tools (Visual Studio.NET) Code analysis (Borland Audits) Development of data models (UML editors) Cleaning up code (refactoring tools) Bug tracker Version control (CVS, etc.)

They do THAT? CASE tools do more than just output code Can be used to generate SE documents ◦Database schema ◦Data flow diagrams ◦Entity relationship diagrams ◦Program specifications ◦User documentation

Tool typeExamples Planning toolsPERT tools, estimation tools, spreadsheets Editing toolsText editors, diagram editors, word processors Change management tools Requirement Traceability tools, change control systems Configuration management tools Version management systems, System building tools Prototyping toolsVery high level language, user interface generator Language processing tools Compliers, interpreters Program analysis toolsCross reference generators, static analyzers, dynamic analyzers Testing toolsTest data generators, file comparators Debugging toolsInteractive debugging systems Documentation toolsPay layout programs, image editors Reengineering toolsCross-reference systems, program restructuring systems