(内容来源于University of Alberta在Coursera上面的网课视频内容)
需求文档类型
Business Requirements and business rules
Business Requirements (Why the product isneeded?) must provide tangible and quantifiable value. Business requirementsare used by your client when creating business strategies and plans.
More specifically, Business rules,outlining some of the product restrictions, are such as:
[if !supportLists]l [endif]Budget
[if !supportLists]l [endif]Policies
[if !supportLists]n [endif]A privacy Policy, where the business requires data be storedsecurely and not shared with non-essential personnel.
[if !supportLists]l [endif]Regulations
[if !supportLists]n [endif]A government regulation such as a requirement to maintain user data,and any information regarding its manipulation for a specific period of timeaccording to local or international laws.
[if !supportLists]l [endif]A Brand Uniformity Requirement where the products to be developedmust be visually consistent with other products owned by the client.
User requirement
User requirements outline exactly what
tasks the users can do with the product. 主要对象:Endusers. These requirements define what the product should do for the user. Corefunctionality of the product.
Tools: Use case Diagram, User Story(As a____, I want _____ so that______).
Functional Requirement
Scope: for development team.
Functional requirement: behavior theproduct should do or support. They can be described as input and output, a descriptionof the behavior itself.
Tools: Information flow diagrams(gives youa graphical way of displaying the data flow and dependencies of all the systemcomponents)
Non-functional Requirements
Non-functional requirements serve as adescription of “how well” a product must perform, being complimentary offunctional requirements. Also called quality requirements. Encryption
Error-prevention, ease of use, learnabilityare non-functional requirements, aka usability requirement. Space, power, time,resources are efficiency-focused n-f requirement.
Performance requirements, such as a systemneeding to maintain a certain response time, or handling a certain number ofresponses in a certain number of time.
Types of non-functional requirements:accuracy, dependability, security, usability. Efficiency, performance,maintainability.
External Interface Requirement.
External interfaces simply outline wherethe product is situated, where the product sits logically among other entitiesoutside of the product. The interfaces also describe the way in which theseconnections are made. Through media, protocols, formats, and levels of acompatibility. Simply put, this just means that an external interface shows howthe product itself relates to something else in the system. Shown in Data flowdiagram.
Physical Setting requirement
Na
Development constraint requirements
Development constraints outline theimplementation technology, conventions, documentation, and the process whichyour team will use. They could also address things like, which devices orplatforms the development team will support, or how much memory, bandwidth, orprocessing power they’re limited to using. It’s usually best to specify thislater in the specification phase so that the product does not become limited invision by available technology.
Controlling Scope
product vision
Vision:” the long-term strategic concept ofthe ultimate purpose and form of a new system.”-Karl Wiegers Basically, productvision is what outlines the products value to the client and its place amongcompetitor in the market. Think of product vision as the guiding principle forthe product. No matter what changes whith the product, the product designshould still support its vision.
Vision: encompasses what the product willeventually do to satisfy a user’s need.
Scope: encompasses what can be realisticallyachieved within the current project.
scope
“The scope draws the boundary between what’sin and what’s out for the project”-Karl Wiegers
Defend Scope Creep.
[if !supportLists]l [endif]Manage Expectations. One way to do this is toidentify the capabilities, which a user might expect from your product, butthat you will not include in the current project.
[if !supportLists]l [endif]Make the expectations clear.
[if !supportLists]l [endif]Draw the scope(product boundaries) with your client.
[if !supportLists]l [endif]Setting priorities. Ensure that the client prioritizes the requirements.
[if !supportLists]l [endif]“is this in scope”
[if !supportLists]l [endif]Making estimates and evaluating the impact of proposed changes. Evaluatethe implication of each change. How will it affect your personnel resources? Funding,product quality, schedule, likelihood of success.
Requirements and design
Requirements->what is the product?Design->how is the product developed?
As you develop requirements, keep thesequestions in mind.
[if !supportLists]l [endif]Is the solution just a possible option?
[if !supportLists]l [endif]Is the solution the only one possible?
[if !supportLists]l [endif]Is the solution addressing the wrong problem?
[if !supportLists]l [endif]Is the solution just to attract developer interest?
[if !supportLists]l [endif]Is the client more solution focused?