Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.

Slides:



Advertisements
Similar presentations
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Advertisements

Software Project Management
CS487 Software Engineering Omar Aldawud
Lifecycle models For more info on these models – see text
CSE 470 : Software Engineering The Software Process.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Process
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
April 30, April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Chapter 2 Process Models
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
The Process of Interaction Design
Lecturer: Dr. AJ Bieszczad Chapter 33-1 Planning and managing the project Tracking project progress Project personnel and organization Effort and schedule.
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Lecturer: Dr. AJ Bieszczad Chapter 22-1 Process includes: all major process activities resources used, subject to set of constraints (such as schedule)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Four P’s People – software engineers People – software engineers Product – software to be produced Product – software to be produced Process – framework.
Chapter 2 The process Process, Methods, and Tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
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 Engineering Environment  A quality focus: constant incremental improvement  Process: framework to organize development activities  Methods:
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 4 프로세스 모델 Process Models
Project Management in the Software Development Environment CIS490.
Project & Risk Management For next class -- Pressman: 3, , 5.8, , 6.6 Introductions Software Development Processes Software Maturity Models.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering If prescriptive process models strive for structure.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
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.
PROJECT PLANNING & MANAGEMENT Brittany Hamilton. PROGRESS TRACKING Do we understand customer’s needs? Can we design a system to solve customer’s problems.
PLANNING AND MANAGING THE PROJECT CODY STANISH. 3.1 TRACKING PROGRESS Do you understand the customer’s needs? Can you design a system to solve customer’s.
Systems Development Life Cycle
Advanced Software Engineering Dr. Cheng
Methodologies and Algorithms
Software Process Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Requirements and the Software Lifecycle
Introduction to Software Engineering
Methodologies For Systems Analysis.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Process Models Coming up: Prescriptive Models.
Chapter 2 Process Models
Chapter 2 Process Models
Incremental Waterfall
Chapter 2 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 2 Process Models.
Software Processes Process should be
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Chapter 4 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Chapter 2 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Chapter 2 Software Processes
Presentation transcript:

Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as schedule) resources used, subject to set of constraints (such as schedule) intermediate and final products intermediate and final products Sub-processes, with hierarchy or links Sub-processes, with hierarchy or links entry and exit criteria for each activity entry and exit criteria for each activity sequence of activities, so timing is clear sequence of activities, so timing is clear guiding principles, including goals of each activity guiding principles, including goals of each activity constraints for each activity, resource or product constraints for each activity, resource or product

Reasons for modeling a process To form a common understanding To form a common understanding To find inconsistencies, redundancies, omissions To find inconsistencies, redundancies, omissions To find and evaluate appropriate activities for reaching process goal To find and evaluate appropriate activities for reaching process goal To tailor a general process for the particular situation in which it will be used To tailor a general process for the particular situation in which it will be used

Examples of process models Waterfall model Waterfall model Prototyping Prototyping V-model V-model Operational specification Operational specification Transformational model Transformational model Phased development: increments and iteration Phased development: increments and iteration Spiral model Spiral model

Tools and techniques for process modeling Example: Lai notation Example: Lai notation activity activity sequence sequence process model process model resource resource control control policy policy organization organization

Desirable properties of process modeling tools and techniques Facilitates human understanding and communication Facilitates human understanding and communication Supports process improvement Supports process improvement Supports process management Supports process management Provides automated guidance in performing the process Provides automated guidance in performing the process Supports automated process execution Supports automated process execution

The Waterfall Model

The Incremental Model

The RAD Model

Evolutionary Models: Prototyping communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback

Evolutionary Models: The Spiral

Spiral model (Barry Boehm) Important features: Important features: — Risk analysis — Prototyping — Iterative framework allowing ideas to be checked and evaluated — Explicitly encourages alternatives to be considered Good for large and complex projects but not simple ones Good for large and complex projects but not simple ones

The Star lifecycle model Suggested by Hartson and Hix (1989) Suggested by Hartson and Hix (1989) Important features: Important features: — Evaluation at the center of activities — No particular ordering of activities. Development may start in any one — Derived from empirical studies of interface designers

The Star Model (Hartson and Hix, 1989) Evaluation Conceptual/ formal design Requirements specification Prototyping task/functional analysis Implementation

A Lifecycle for RAD (Rapid Applications Development) JAD workshops Project set-up Iterative design and build Engineer and test final prototype Implementation review

Evolutionary Models: Concurrent

Still Other Process Models Component based development—the process to apply when reuse is a development objective Component based development—the process to apply when reuse is a development objective Formal methods—emphasizes the mathematical specification of requirements Formal methods—emphasizes the mathematical specification of requirements AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML) Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

inception The Unified Process (UP) inception elaboration

UP Phases

UP Work Products

Tracking project progress Do you understand customer problem and needs? Do you understand customer problem and needs? Can you design a system to solve customer problem or satisfy customer needs? Can you design a system to solve customer problem or satisfy customer needs? How long will it take you to develop the system? How long will it take you to develop the system? How much will it cost to develop the system? How much will it cost to develop the system?

Project deliverables Documents Documents Demonstrations of function Demonstrations of function Demonstrations of subsystems Demonstrations of subsystems Demonstrations of accuracy Demonstrations of accuracy Demonstrations of reliability, performance or security Demonstrations of reliability, performance or security

Milestones and activities Activity: takes place over a period of time Activity: takes place over a period of time Milestone: completion of an activity -- a particular point in time Milestone: completion of an activity -- a particular point in time Precursor: event or set of events that must occur in order for an activity to start Precursor: event or set of events that must occur in order for an activity to start Duration: length of time needed to complete an activity Duration: length of time needed to complete an activity Due date: date by which an activity must be completed Due date: date by which an activity must be completed

Slack or float time Slack time = available time - real time = latest start time - earliest start time

Project personnel Key activities requiring personnel: Key activities requiring personnel: requirements analysis requirements analysis system design system design program design program design program implementation program implementation testing testing training training maintenance maintenance quality assurance quality assurance

COCOMO model: stages of development application composition: application composition: prototyping to resolve high-risk user interface issues prototyping to resolve high-risk user interface issues size estimates in object points size estimates in object points early design: early design: to explore alternative architectures and concepts to explore alternative architectures and concepts size estimates in function points size estimates in function points postarchitecture: postarchitecture: development has begun development has begun size estimates in lines of code size estimates in lines of code

Table Application point complexity levels. For ScreensFor Reports Number and source of data tables Number of views contained Total < 4 (<2 server, <3 client) Total < 8 (2-3 server, 3-5 client) Total 8+ (>3 server, >5 client) Number of sections contained Total < 4 (<2 server, <3 client) Total < 8 (2-3 server, 3- 5 client) Total 8+ (>3 server, >5 client) <3simple medium0 or 1simple medium 3 - 7simplemediumdifficult2 or 3simplemediumdifficult 8 +mediumdifficult 4 +mediumdifficult

Table Complexity weights for application points. Object typeSimpleMediumDifficult Screen123 Report258 3GL component--10

Evaluating models Mean magnitude of relative error (MMRE) Mean magnitude of relative error (MMRE) absolute value of mean of absolute value of mean of [(actual - estimate)/actual] goal: should be.25 or less goal: should be.25 or less Pred(x/100): percentage of projects for which estimate is within x% of the actual Pred(x/100): percentage of projects for which estimate is within x% of the actual goal: should be.75 or greater for x =.25 goal: should be.75 or greater for x =.25

Risk management requirements Risk impact: the loss associated with the event Risk impact: the loss associated with the event Risk probability: the likelihood that the event will occur Risk probability: the likelihood that the event will occur Risk control: the degree to which we can change the outcome Risk control: the degree to which we can change the outcome Risk exposure = (risk probability) x (risk impact)

Three strategies for risk reduction avoiding the risk: change requirements for performance or functionality avoiding the risk: change requirements for performance or functionality transferring the risk: transfer to other system, or buy insurance transferring the risk: transfer to other system, or buy insurance assuming the risk: accept and control it assuming the risk: accept and control it risk leverage = difference in risk exposure divided by cost of reducing the risk

Boehm’s top ten risk items Personnel shortfalls Personnel shortfalls Unrealistic schedules and budgets Unrealistic schedules and budgets Developing the wrong functions Developing the wrong functions Developing the wrong user interfaces Developing the wrong user interfaces Gold-plating Gold-plating Continuing stream of requirements changes Continuing stream of requirements changes Shortfalls in externally-performed tasks Shortfalls in externally-performed tasks Shortfalls in externally-furnished components Shortfalls in externally-furnished components Real-time performance shortfalls Real-time performance shortfalls Straining computer science capabilities Straining computer science capabilities

Project plan contents project scope project scope project schedule project schedule project team organization project team organization technical description of system technical description of system project standards and procedures project standards and procedures quality assurance plan quality assurance plan configuration management plan configuration management plan documentation plan documentation plan data management plan data management plan resource management plan resource management plan test plan test plan training plan training plan security plan security plan risk management plan risk management plan maintenance plan maintenance plan

Anchoring milestones Objectives: Why is the system being developed? Objectives: Why is the system being developed? Milestones and schedules: What will be done by when? Milestones and schedules: What will be done by when? Responsibilities: Who is responsible for a function? Responsibilities: Who is responsible for a function? Approach: How will the job be done, technically and managerially? Approach: How will the job be done, technically and managerially? Resources: How much of each resource is needed? Resources: How much of each resource is needed? Feasibility: Can this be done, and is there a good business reason for doing it? Feasibility: Can this be done, and is there a good business reason for doing it?