Sie sind auf Seite 1von 30

ENGR2720U

ENGR2720 Software Design II


Software Product Design Context and Analysis

Slides modified from: Introduction to Software Engineering Design (C. Fox)

Page 1

ENGR2720U

Context of Software Product Design

Page 2

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 project mission statement To list the variety of software requirements specifications To describe the role and contents of an SRS

Page 3

ENGR2720U

Markets
A market is a set of actual or prospective customers who need or want a product, have the resources to exchange something of value for it, and are willing to do so.

Organizations study markets to Choose which markets to sell to (target markets) Choose what products to develop Determine product features and characteristics

Page 4

ENGR2720U

Product Categories
A product category is a dimension along which products 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 its design specifications and the design process
Page 5

ENGR2720U

Product Plans Management must decide which products to develop. This decision is documented in a product plan.
A product plan is a list of approved development projects, with start and delivery dates.

Page 6

ENGR2720U

Product Planning Process

Product Planning Process


Product Plan : Plan

Identify Opportunities Evaluate & Prioritize Opportunities Allocate Resources & Determine Timing Product Plan

Page 7

ENGR2720U

Identifying Opportunities
New product ideas come from Customers Developers Entrepreneurs Marketers An opportunity funnel is a mechanisms for collecting product ideas from diverse sources. Passive channels Active channels An opportunity statement is a brief description of a product development idea.

Page 8

ENGR2720U

The Aqualush Product Opportunity

Lets look at a product that we will keep going back to in the course as an example for Software Design.

Create an irrigation system that uses soil moisture sensors to control the amount of water used.

Page 9

ENGR2720U

Evaluating and Prioritizing Opportunities


Management chooses to pursue opportunities based on Competitive strategy

Managers attempt to form a well-balanced and complete product portfolio.

Technology leaders, low-cost suppliers, customer support. Market segmentation Technology trajectories Software reuse It is easier to develop software from existing parts. Profitability

Page 10

ENGR2720U

Allocating Resources and Determining Timing


Usually there are more good opportunities than an organization can afford to pursue. Resources available for development are analyzed to determine which product to develop. Resource availability also determines the start time and duration or projects. The result is a product plan.

Page 11

ENGR2720U

Project Mission Statement


A project mission statement is a document that defines a development projects goals and limits.

A project mission statement Launches a development project States the software design problem The project mission statement is the main input to the product design process.
Page 12

ENGR2720U

Project Mission Statement Template

1. Introduction 2. Product Vision and Project Scope 3. Target Markets 4. Stakeholders 5. Assumptions and Constraints 6. Business Requirements

Page 13

ENGR2720U

Project Mission Statement - Introduction

The introduction contains background information to provide context. Lets read the Aqualush Mission Statement
(Figure 3-3-3 in the textbook)

Page 14

ENGR2720U

Project Mission Statement - Vision


A product vision statement is a general description of the products purpose and form. As an example, the Aqualush Project Mission Statement was a modification from the Aqualush Opportunity Statement

Create an irrigation system that uses soil moisture sensors to control the amount of water used. The Aqualush Irrigation System will use soil sensors to control irrigation, thus saving money for customers and making better use of water resources.
Page 15

ENGR2720U

Project Mission Statement Vision (Major Features List)

The Vision statement may contain a major features list and should not limit the designers to their choice of solutions.
Monitor water usage and limit usage to amounts set by users Allow users to specify times when irrigation occurs Be operated from a simple central control panel Have a Web-based simulator
Page 16

ENGR2720U

Project Mission Statement - Scope

The project scope is the work to be done on a project. Often only part of the product vision. May list what will not to be done as well as what will
be done.

The current project will create the minimal hardware and software necessary to field a viable product along with a Web-based product simulator for marketing the product.

Page 17

ENGR2720U

Target Market and Stakeholders A stakeholder is anyone affected by a product or involved in or influencing its development. Product users and purchasers Developers and their managers Marketing, sales, distribution, and product support

Developers must know the target market and stakeholders to build a product satisfying stakeholders needs. Lets review the Aqualush stakeholders fig 3-3-8
Page 18

personnel Regulators, inspectors, and lawyers

ENGR2720U

Assumptions and Constraints

An assumption is something that developers take for granted. Feature of the problem Examples: target deployment environments,
levels of user support

A constraint is any factor that limits developers. Restriction on the solution Examples: cost and time limits, conformance to
regulations
Page 19

ENGR2720U

Business Requirements
A business requirement is a statement of a client or development organization 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 product specifications Aqualush must achieve at least 5% target market share within one year of introduction. Aqualush must establish base irrigation control technology for use in later products. Aqualush must demonstrate irrigation cost savings of at least 15% per year over competitive products. The firs version of Aqualush must be brought to market within one year of the development project launch.
Page 20

ENGR2720U

Requirements Engineering
Requirements engineering is creating, modifying, and managing requirements over a products lifetime.
Requirements development is the portion of

requirements engineering concerned with initially establishing requirements (aka product design). Requirements management is the portion of requirements engineering concerned with controlling and propagating requirements changes.

Page 21

ENGR2720U

SRS
A software requirements specification (SRS) is a document cataloging all the requirements for a software product.

The SRS should contain A statement of the product design problem

An SRS is the output of the produce design process.

(may cite the mission statement) A solution to the product design problem

Page 22

ENGR2720U

Technical Requirements

A technical requirement is a statement of a feature, function, capability, or property that a product must have (that is not a business requirement). A functional requirement is a statement of how a

program must map program inputs to program outputs. 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.

Page 23

ENGR2720U

Requirements Taxonomy

Requirements Business Technical Functional Non-Functional Data

Page 24

ENGR2720U

Small Exercise

Make up a set of functional, non-functional, and data requirements for the Aqualush product.

Page 25

ENGR2720U

Levels of Abstraction in Requirements A user-level requirement is statement about how a product must support stakeholders in achieving their goals or tasks. An operational-level requirement is a statement about inputs, outputs, operations, characteristics, etc. that a product must provide, without reference to physical realization. A physical-level requirement is a statement about the physical form of a product, its physical interfaces, or its data formats.
Page 26

ENGR2720U

Small Exercise

Take the functional, non-functional, and data requirements that you specified for the Aqualush product and categorize them into user, operational, and physical.

Page 27

ENGR2720U

Interaction Design
Interaction design is the activity of specifying

products that people can use effectively and enjoyably. Dialog designThe dynamics of the interaction Physical form designThe static characteristics
and appearance of the interface (presentation)

Interaction design should be part of requirements development.

Page 28

ENGR2720U

SRS Template
1. Product Description 1.1 Product Vision 1.2 Business Requirements 1.3 Users and Other Stakeholders 1.4 Project Scope 1.5 Assumptions 1.6 Constraints 2. Functional Requirements 3. Data Requirements 4. Non-Functional Requirements 5. Interface Requirements 5.1 User Interfaces 5.2 Hardware Interfaces 5.3 Software Interfaces

http://www.jiludwig.com/Template_Guidance.html
Page 29

ENGR2720U

Summary
Markets influence product development decisions; product types influence product design. Management performs a product planning process to produce a product plan listing development projects. Projects are launched with a project mission statement that frames the product design problem. The output of product design is an SRS that contains functional, non-functional, and data requirements stated at several levels of abstraction. An interaction design is an essential part of an SRS.

Page 30

Das könnte Ihnen auch gefallen