3 software product design context ch3
TRANSCRIPT
-
8/2/2019 3 Software Product Design Context Ch3
1/30
Page 1
ENGR2720U
ENGR2720
Software Design II
Slides modified from: Introduction to Software Engineering Design(C. Fox)
Software Product Design
Context and Analysis
-
8/2/2019 3 Software Product Design Context Ch3
2/30
Page 2
ENGR2720U
Context of Software Product Design
-
8/2/2019 3 Software Product Design Context Ch3
3/30
Page 3
ENGR2720U
Objectives
To explain how markets influence product types,which in turn influence design
To explain the product planning process
To describe the role and contents of a projectmission statement
To list the variety of software requirements
specificationsTo describe the role and contents of an SRS
-
8/2/2019 3 Software Product Design Context Ch3
4/30
Page 4
ENGR2720U
Markets
Organizations study markets to
Choose which markets to sell to (target markets)
Choose what products to develop
Determine product features and characteristics
Amarket is a set of actual or prospectivecustomers who need or want a product,
have the resources to exchange something
of value for it, and are willing to do so.
-
8/2/2019 3 Software Product Design Context Ch3
5/30
Page 5
ENGR2720U
Product Categories
A product category is a dimension along whichproducts may differ, for example Target market size
Product line novelty Technological novelty
Product categories help managers Choose target markets
Choose products to develop
Choose product characteristics
A products place in a category influences itsdesign specifications and the design process
-
8/2/2019 3 Software Product Design Context Ch3
6/30
Page 6
ENGR2720U
Product Plans
Management must decide which products todevelop.
This decision is documented in a product
plan.
Aproduct plan is a list ofapproved development projects,
with start and delivery dates.
-
8/2/2019 3 Software Product Design Context Ch3
7/30Page 7
ENGR2720U
Product Planning Process
IdentifyOpportunities
Evaluate & PrioritizeOpportunities
Allocate Resources &Determine Timing
Product Planning ProcessProduct Plan : Plan
ProductPlan
-
8/2/2019 3 Software Product Design Context Ch3
8/30Page 8
ENGR2720U
Identifying Opportunities
New product ideas come from Customers
Developers
Entrepreneurs
Marketers
An opportunity funnel is a mechanisms for collectingproduct ideas from diverse sources.
Passive channels
Active channelsAn opportunity statement is a brief description of aproduct development idea.
-
8/2/2019 3 Software Product Design Context Ch3
9/30Page 9
ENGR2720U
The Aqualush Product Opportunity
Lets look at a product that we will keep goingback to in the course as an example forSoftware Design.
Create an irrigation system that uses soil moisturesensors to control the amount of water used.
-
8/2/2019 3 Software Product Design Context Ch3
10/30Page 10
ENGR2720U
Evaluating and Prioritizing Opportunities
Management chooses to pursue opportunitiesbased on Competitive strategy
Technology leaders, low-cost suppliers, customer support.
Market segmentation
Technology trajectories
Software reuse It is easier to develop software from existing parts.
Profitability
Managers attempt to form a well-balanced andcomplete product portfolio.
-
8/2/2019 3 Software Product Design Context Ch3
11/30Page 11
ENGR2720U
Allocating Resources and Determining Timing
Usually there are more good opportunities thanan organization can afford to pursue.
Resources available for development are
analyzed to determine which product to develop.Resource availability also determines the starttime and duration or projects.
The result is a product plan.
-
8/2/2019 3 Software Product Design Context Ch3
12/30Page 12
ENGR2720U
Project Mission Statement
A project mission statement
Launches a development project
States the software design problem
The project mission statement is the main inputto the product design process.
Aproject mission statement is adocument that defines a development
projects goals and limits.
-
8/2/2019 3 Software Product Design Context Ch3
13/30Page 13
ENGR2720U
Project Mission Statement Template
1. Introduction2. Product Vision and Project Scope
3. Target Markets4. Stakeholders5. Assumptions and Constraints6. Business Requirements
-
8/2/2019 3 Software Product Design Context Ch3
14/30Page 14
ENGR2720U
Project Mission Statement - Introduction
The introduction contains backgroundinformation to provide context.
Lets read the Aqualush Mission Statement
(Figure 3-3-3 in the textbook)
-
8/2/2019 3 Software Product Design Context Ch3
15/30Page 15
ENGR2720U
Project Mission Statement - Vision
A product vision statement is a general description of theproducts purpose and form.As an example, the Aqualush Project Mission Statementwas a modification from the Aqualush OpportunityStatement
Create an irrigation system that uses soil moisturesensors to control the amount of water used.
The Aqualush Irrigation System will use soil sensorsto control irrigation, thus saving money forcustomers and making better use of waterresources.
-
8/2/2019 3 Software Product Design Context Ch3
16/30Page 16
ENGR2720U
Project Mission Statement Vision (Major Features List)
The Vision statement may contain a majorfeatures list and should not limit the designers totheir choice of solutions.
Monitor water usage and limit usage to amountsset by users
Allow users to specify times when irrigation occurs Be operated from a simple central control panel Have a Web-based simulator
-
8/2/2019 3 Software Product Design Context Ch3
17/30Page 17
ENGR2720U
Project Mission Statement - Scope
The project scope is the work to be done on aproject.
Often only part of the product vision.
May list what will not to be done as well as what willbe done.
The current project will create the minimal
hardware and software necessary to field a viableproduct along with a Web-based product simulatorfor marketing the product.
-
8/2/2019 3 Software Product Design Context Ch3
18/30Page 18
ENGR2720U
Target Market and Stakeholders
A stakeholder is anyone affected by a product orinvolved in or influencing its development.
Product users and purchasers
Developers and their managers
Marketing, sales, distribution, and product supportpersonnel
Regulators, inspectors, and lawyers
Developers must know the target market andstakeholders to build a product satisfyingstakeholders needs.
Lets review the Aqualush stakeholders fig 3-3-8
-
8/2/2019 3 Software Product Design Context Ch3
19/30
Page 19
ENGR2720U
Assumptions and Constraints
An assumption is something that developerstake for granted.
Feature of the problem
Examples: target deployment environments,levels of user support
A constraint is any factor that limitsdevelopers.
Restriction on the solution
Examples: cost and time limits, conformance toregulations
-
8/2/2019 3 Software Product Design Context Ch3
20/30
Page 20
ENGR2720U
Business Requirements
A business requirement is a statement of a client or developmentorganization goal that a product must meet.
Time, cost, quality, or business results
Should be stated so that it is clear whether it is satisfied(quantitative goals)
Broad goals related to business, not detailed productspecifications
Aqualush must achieve at least 5% target market share within one yearof introduction.Aqualush must establish base irrigation control technology for use in later
products.Aqualush must demonstrate irrigation cost savings of at least 15% peryear over competitive products.The firs version of Aqualush must be brought to market within one year ofthe development project launch.
-
8/2/2019 3 Software Product Design Context Ch3
21/30
Page 21
ENGR2720U
Requirements Engineering
Requirements development is the portion ofrequirements engineering concerned with initiallyestablishing requirements (aka product design).
Requirements management is the portion ofrequirements engineering concerned with controllingand propagating requirements changes.
Requirements engineering iscreating, modifying, and managing
requirements over a products lifetime.
-
8/2/2019 3 Software Product Design Context Ch3
22/30
Page 22
ENGR2720U
SRS
The SRS should contain A statement of the product design problem
(may cite the mission statement)
A solution to the product design problemAn SRS is the output of the producedesign process.
Asoftware requirements specification(SRS) is a document cataloging all therequirements for a software product.
-
8/2/2019 3 Software Product Design Context Ch3
23/30
Page 23
ENGR2720U
Technical Requirements
A technical requirement is a statement of afeature, function, capability, or property that aproduct must have (that is not a businessrequirement). A functional requirement is a statement of how a
program must map program inputs to programoutputs.
A non-functional requirement is a statement that a
software product must have certain properties. A data requirement is a statement that certain data
must be input to, output from, or stored by a product.
-
8/2/2019 3 Software Product Design Context Ch3
24/30
Page 24
ENGR2720U
Requirements Taxonomy
Requirements
Business
Technical
Functional
Non-Functional
Data
-
8/2/2019 3 Software Product Design Context Ch3
25/30
Page 25
ENGR2720U
Small Exercise
Make up a set of functional, non-functional, anddata requirements for the Aqualush product.
ENGR U
-
8/2/2019 3 Software Product Design Context Ch3
26/30
Page 26
ENGR2720U
Levels of Abstraction in Requirements
A user-level requirement is statement abouthow a product must support stakeholders inachieving their goals or tasks.
An operational-level requirement is a
statement about inputs, outputs, operations,characteristics, etc. that a product mustprovide, without reference to physicalrealization.
A physical-level requirement is a statementabout the physical form of a product, itsphysical interfaces, or its data formats.
ENGR2720U
-
8/2/2019 3 Software Product Design Context Ch3
27/30
Page 27
ENGR2720U
Small Exercise
Take the functional, non-functional, and datarequirements that you specified for the Aqualushproduct and categorize them into user,
operational, and physical.
ENGR2720U
-
8/2/2019 3 Software Product Design Context Ch3
28/30
Page 28
ENGR2720U
Interaction Design
Interaction design is the activity of specifyingproducts that people can use effectively andenjoyably.
Dialog designThe dynamics of the interaction
Physical form designThe static characteristicsand appearance of the interface (presentation)
Interaction design should be part of
requirements development.
ENGR2720U
-
8/2/2019 3 Software Product Design Context Ch3
29/30
Page 29
ENGR2720U
SRS Template1. Product Description
1.1 Product Vision1.2 Business Requirements1.3 Users and OtherStakeholders1.4 Project Scope1.5 Assumptions1.6 Constraints
2. Functional Requirements3. Data Requirements4. Non-Functional Requirements5. Interface Requirements
5.1 User Interfaces5.2 Hardware Interfaces5.3 Software Interfaces
http://www.jiludwig.com/Template_Guidance.html
ENGR2720U
-
8/2/2019 3 Software Product Design Context Ch3
30/30
ENGR2720U
Summary
Markets influence product development decisions;product types influence product design.
Management performs a product planning process toproduce a product plan listing development projects.
Projects are launched with a project missionstatement that frames the product design problem.
The output of product design is an SRS that containsfunctional, non-functional, and data requirements
stated at several levels of abstraction.An interaction design is an essential part of an SRS.