Development Process and Product Life Cycle

Slides:



Advertisements
Similar presentations
Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSC System Analysis and Design
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Object-oriented Analysis and Design
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
© 2005 course technology1 1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Web Development Process Description
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.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
LECTURE 1 What does a Business Analyst do? IFS 231 Business Analysis.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Chapter – 9 Checkpoints of the process
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The principles of an object oriented software development process Week 04 1.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Chapter 1: Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, 4th Edition
TIM 58 More on Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Identify the Risk of Not Doing BA
IEEE Std 1074: Standard for Software Lifecycle
UNIFIED PROCESS.
Unified Process (UP).
Business analysis Lecturer: Kotlik Andrey Valeriyevich
The Open Group Architecture Framework (TOGAF)
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Engineering Processes
Chapter 2 Software Processes
Chapter 2 – Software Processes
Software engineering -1
Baisc Of Software Testing
Chapter 1: Introduction to Systems Analysis and Design
Chapter 2 Process Models
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Development Process and Product Life Cycle

Process

Process and Roles

System Development Process Basic Activities

The Software Process in Reality

Requirements of Development Process Today

Waterfall

V Model

Development Process – shorter life cycle

Evolutionary development…

Prototyping Model Used in combination with Waterfall Model

The incremental and iterative models

SDLCs (systems development lifecycle) Initiation: Make the business case for the project. Work also begins on the user experience and on drafts of architectural proof of concepts. The prototyping effort during the Initiation phase should be risk-driven and limited to gaining confidence that a solution is possible. Discovery: Conduct investigation leading to an understanding of the solution’s desired behavior. (On iterative projects, requirements analysis peaks during this phase but never disappears entirely.) During this phase, architectural proofs of concept are also constructed. Construction: Complete the analysis and design, code, integrate, and test the software. (On iterative projects, these activities are performed for each iteration within the phase. Design and coding appear in all phases, but peak during this phase.)

SDLCs (systems development lifecycle) Final Verification and Validation (V&V): Perform final testing before the product or service is transitioned into production. (While final testing occurs in this phase, testing activities may occur throughout the SDLC—for example, before design or as a replacement for it.) Closeout: Manage and coordinate deployment into production and close the IT project.

B.O.O.M (Business Object Oriented Modeling) Step 1: Initiation The objectives of the Initiation phase are to develop the business case for the project, establish project and product scope, and explore solutions, including the preliminary architecture. The BA assists the project manager by identifying stakeholders, business services and processes, and IT services affected by the project. By the end of this phase, key functionality is identified, such as key system use cases (user tasks) and IT services. When a non-agile process is used, these requirements are baselined and subsequent changes to scope are managed in a controlled manner using a change-management process. The Initiation phase poses a conundrum for the BA. The purpose of this phase is to get a rough cut at the business case for a proposed IT project. The trouble is that without knowing the requirements, it’s impossible to estimate the cost of the project; at the same time, without a business justification for the project, it is difficult to justify much requirement analysis. The answer is to do just enough research to be able to create a ballpark estimate. In this book, you’ll do this using a number of UML techniques that keep you focused on high-level needs. These techniques are as follows:

Techniques Business use cases: A tool for identifying and describing end-to-end business processes affected by the project. Activity diagrams: Used to help you and stakeholders form a consensus regarding the workflow of each business use case. Actors: These describe the users and external systems that will interact with the proposed IT system. System use cases: Used to help stakeholders break out the end-to-end business processes into meaningful interactions with the IT system.

The Aims : Model business use cases 1b) Model system use cases i) Identify business use cases (business use-case diagram) ii) Scope business use cases (activity diagram) 1b) Model system use cases i) Identify actors (role map) ii) Identify system use-case packages (system use-case diagram) iii) Identify system use cases (system use-case diagram) 1c) Begin structural model (class diagrams for key business classes) 1d) Set baseline (BRD/Initiation)

Step 2: Discovery The main objective of the Discovery phase is to understand the solution’s desired behavior and baseline the architecture. This and the previous phase are the key phases for theBA. Requirements analysis peaks during this phase. (In iterative processes, analysis continues throughout the lifecycle; in waterfall processes, it is completed in this phase.) Some system use cases are selected for development during this phase in order to demonstrate architectural proofs of concept. BA responsibilities during this phase focus on eliciting detailed requirements from stakeholders, lyzing and documenting them for verification by stakeholders and for use by solution providers. You will exploit a number of UML and complementary techniques to assist in requirements elicitation, analysis, and documentation during this phase.

Techniques System use-case descriptions (specifications), storyboarding the interaction between users and the proposed IT system as each system use case is played out State-machine diagrams describing the lifecycle of key business objects Class diagrams describing key business concepts and business rules that apply to business objects such as accounts, investments, complaints, claims, and so on

Behavioral analysis i) Describe system use cases (use-case description template) ii) Describe state behavior (state-machine diagram) 1. Identify states of critical objects 2. Identify state transitions 3. Identify state activities 4. Identify superstates 5. Identify concurrent states

Structural analysis (object/data model) (class diagram) i) Identify entity classes ii) Model generalizations iii) Model transient roles iv) Model whole-part relationships v) Analyze associations vi) Analyze multiplicity vii) Link system use cases to the structural model viii) Add attributes ix) Add lookup tables x) Distribute operations xi) Revise class structure

Specify testing (test plan/decision tables) i) Specify white-box testing quality level ii) Specify black-box test cases iii) Specify system tests Specify implementation plan (implementation plan) Set baseline for development (BRD/Discovery)

Step 3: Construction Business-analysis activity during this phase depends on the lifecycle approach being used. On waterfall projects, where all the analysis is done up front, there is no requirements gathering or analysis during this phase; however, the BA is involved in supporting quality assurance and validating that the technical design meets the requirements (for example, by reviewing test plans and design specifications). On iterative projects, where requirements analysis and solution development take place over a number of iterations, the steps described for the Discovery phase (steps 2a through 2e) are carried out during each iteration of the Construction phase.

Step 4: Final Verification and Validation (V&V) The business analyst supports final testing before the completed solution is deployed, reviewing test plans and results and ensuring that all requirements are tested.

Step 5: Closeout The business analyst supports the deployment process, reviewing transition plans and participating in a post-implementation review (PIR) to evaluate the success of the change.

Using Babok (Business Analysis Body of Knowledge) The Business Analysis Body of Knowledge Version 2.0 (BABOK 2) describes businessanalysis through a set of areas of expertise, referred to as knowledge areas (KAs). “Knowledge areas define what a practitioner of business analysis needs to understand and the tasks a practitioner must be able to perform.”

Knowledge Area (KA) Definition Task KA Business Analysis Planning and Monitoring “covers how business analysts determine which activities are necessary in order to complete a business analysis effort. It covers identification of stakeholders, selection of business analysis techniques, the process that will be used to manage requirements, and how to assess the progress of the work.” 2.1 Plan Business Analysis Approach 2.2 Conduct stakeholders Analysis 2.3 Plan Business Analysis Activities 2.4 Plan Business Analysis Communication

Knowledge Area (KA) Definition Task KA Elicitation “describes how business analysts work with stakeholders to identify and understand their needs and concerns, and understand the environment in which they work. The purpose of elicitation is to ensure that a stakeholder’s actual underlying needs are understood, rather than their stated or superficial desires.” 3.2 Conduct Elicitation Activity

Knowledge Area (KA) Definition Task KA Requirements Management and Communication “describes how business analysts manage conflicts, issues, and changes in order to ensure that stakeholders and the project team remain in agreement on the solution scope, how requirements are communicated to stakeholders, and how knowledge gained by the business analyst is maintained for future use.” 4.3 Maintain Requirements for Reuse 4.4 Prepare Requirements Package 4.5 Communicate Requirements

Knowledge Area (KA) Definition Task KA Enterprise Analysis “describes how business analysts identify a business need, refine and clarify the definition of that need, and define a solution scope that can feasibly be implemented by the business. This knowledge area describes problem definition and analysis, business case development, feasibility studies, and the definition of solution scope.” 5.2 Assess Capability Gaps 5.4 Define Solution Scope

Knowledge Area (KA) Definition Task KA Requirements Analysis “describes how business analysts prioritize and progressively elaborate stakeholder and solution requirements.... It involves analyzing stakeholder needs to define solutions that meet those needs, assessing the current state of the business to identify and recommend improvements, and the verification and validation of the resulting requirements.” 6.2 Organize Requirements 6.3 Specify and Model Requirements 6.5 Verify Requirements 6.6. Validate Requirements

Knowledge Area (KA) Definition Task KA Solution Assessment and Validation “describes how business analysts assess proposed solutions to determine which solution best fits the business need, identify gaps and shortcomings in solutions, and determine necessary workarounds or changes to the solution. It also describes how business analysts assess deployed solutions to see how well they meet the original need so that the sponsoring organization can assess the performance and effectiveness of the solution.” 7.2 Allocate Requirements 7.3 Assess Organizational Readiness 7.5 Validate Solution

Unified Process (UP)

Inception This subsection covers the purpose, activities, work products, and milestone of the Inception phase. The purpose of the Inception phase is to ensure that the project is both valuable and feasible (scope and business value). For any truly new piece of software, or even for the novel adaptation of an existing system, at some moment in the mind of the developer, the architect, the analyst, or the end user, an idea for some application springs forth. This idea may represent a new business venture, a new complementary product in an existing product line, or perhaps a new set of features for an existing software system. It is not the purpose of the Inception phase to ompletely define this idea. Rather, this phase’s purpose is to establish the vision for the idea and validate its assumptions. Even for the refinement of an existing system, there is still value in the Inception phase. In such cases, Inception is brief but still focuses on ensuring business value and technical feasibility.

Elaboration This subsection covers the purpose, activities, work products, and milestone of the Elaboration phase. Purpose Once the scope of what is to be built is understood and agreed to, attention turns to developing the overall architecture framework that will provide the foundation for all the iterations that follow. The intent is to identify architectural flaws early and to establish common policies that yield a simpler architecture. The Elaboration phase is when such architectural discovery takes place, choices are made, and the architecture evolves across multiple iterations. This evolution is driven by the mitigation of the highest risks and the implementation of the requirements with the highest priority and the most architectural significance.

Construction This subsection covers the purpose, activities, work products, and milestone of the Construction phase. Purpose Once the architecture has stabilized, the focus shifts from understanding the problem and identifying key elements of the solution to the development of a deployable product. The Construction phase is when you move from discovery into production, where production can be thought of as “a controlled methodological process of raising product quality to the point where the product can be shipped”

Transitions This subsection covers the purpose, activities, work products, and milestone of the Transition phase. Purpose : The Transition phase is when you ensure that the software is acceptable to its end users. Activities During the Transition phase, the product is provided to the user community for evaluation and testing (e.g., alpha testing, beta testing, and so on). The development team then incorporates the feedback received. The focus of Transition is on fine-tuning the product; addressing configuration, installation, and usability issues; and addressing issues raised by the early adopters. Supporting documentation also undergoes final development, as does any applicable training material. Any production-related issues, such as packaging and marketing materials, are also handled. The resulting product then undergoes acceptance testing. It is important to note that even though testing has been performed throughout the lifecycle, end-user testing and final acceptance testing is still important as such testing ensures that the developed product fulfills its acceptance criteria at both the development and target installation sites.