Software Requirements. CPSC 541

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

6. Functional Requirement

A description of a behavior that a system will exhibit under specific conditions.

4. External Interface Requirement

A description of a connection between a software system and a user, another software system, or a hardware device.

7. Nonfunctional Requirement

A description of a property or characteristic that a system must exhibit or constraints that it must respect.

10. User Requirement

A goal or task that specific classes of users must be able to perform with a system, or a desired product attribute.

Types of Requirements: 1. Business Requirements

A high-level business objective of the organization that builds a product or of a customer who procures it.

8. Quality attribute

A kind of nonfunctional requirement that describes a service or performance characteristic of a product.

5. Feature

One or more logically related system capabilities that provide value to a user and are described by a set of functional requirements.

2. Business Rule

A policy, guideline, standard, or regulation that defines or constrains some aspect of the business. Not a software requirement in itself, but the origin of several types of software requirements.

CH.1 The Essential Software Requirement

- Understand some key terms used in the software requirements domain. - Distinguish product requirements from project requirements. - Distinguish requirements development from requirements management. - Be alert to several requirements-related problems that can arise.

Requirements Bill of Responsibilities for Software Customers ( customer requirements)

1. To educate BA's and developers about your business. 2.To dedicate the time that it takes to provide and clarify requirements. 3. To be specific and precise when providing input about requirements. 4. To make timely decisions about requirements when asked. 5. To respect a developers assessments of the cost and feasibility of requirements. 6. To set realistic requirement priorities in collaboration with developers. 7. To review requirements and evaluate prototypes. 8. To establish acceptance criteria. 9. To promptly communicate changes to the requirements. 10. To respect the requirements development process

Requirements Bill of Rights for Software Customers

1. To expect BA's to speak your language 2. To expect BA's to learn about your business and your objectives. 3. To expect BA's to record requirements in an appropriate form. 4. To receive explanations of requirement practices and deliverable. 5. To change your requirements. 6. To expect an environment of mutual respect. 7. To hear ideas and alternatives for your requirements and for their solutions. 8.To describe characteristics that will make the product easy to use 9. To hear about ways to adjust requirements to accelerate development through reuse. 10. To receive a system that meets your functional needs and quality expectations.

"Requirement"

Requirements are a specification of what should be implemented. They are descriptions of how the system should behave, or of system property or attribute. They may be a constraint on the development process of the system. - Ian Sommerville and Pete Sawyer.

Requirement Risks:

1.Insufficient User Involvement 2. Inaccurate Planning 3. Creeping User Requirements: making a schedule, set goals, and make changes as project moves along. 4. Ambiguous Requirements: understanding requirements differently. 5. Gold Plating: adding functionality to the features specifications. 6.Overlooked Stakeholder: Important to identify the user class needs. Always better to find a customer input before finishing a product.

Product Requirement vs. Project Requirement

A product requirement is all the features and properties that describes and characterizes a software system. A product requirement includes how a product will feel, look, function, and what kind of features it provides. Projects have different prospects and are not part of the software design, essentially projects are everything else that is conducted to make and deliver a product. The project requirements gives details on what will be done, who will do what, budget, and time schedule. A product is what a client expects you to deliver, and a project is all the work required to do to get the product finished. In greater detail, project requirements include: training staff, development of teams, user documentation, support documentation, product certification and compliance requirements, revised policies, sourcing and licensing, beta testing, packaging, marketing, distribution plans, customer service agreements, legal protection, and any materials to conduct these tasks (Wiegers, Beatty, 2013).

3. Constraint

A restriction that is imposed on the choices available to the developer for the design and construction of a product.

9.System Requirements

A top level requirement for a product that contains multiple subsystems, which could be all software or software and hardware.

Analysis

Analyzing requirements involves reaching a richer and more precise understanding of each requirement and representing sets of requirements in multiple ways. Activities: -Analyzing info received from users to distinguish their task goals from function requirements, quality expectations, business rules, suggested solutions, and other info. -decomposing high level requirements into an appropriate level of detail. -deriving functional requirements -understanding quality attributes -allocating requirements to software components -negotiating implementation priorities -identifying gaps in requirements or unnecessary requirements.

Elicitation

Elicitation encompasses all of the activities involved with discovering requirements, such as interviews, workshops, document analysis, prototyping, and others. Key actions: -identify expected user classes and stakeholders. -understand user task, goals, and business objectives. -learning the new environment for product. -working with individuals to understand user class needs and quality expectation. It can be usage-centric or product centric.

Ch. 2 Requirements from the Customer's Perspective

Expectation gap can be minimized through frequent contact points with suitable customer representatives. Each contact point helps close the expectation gap. Stakeholder: a person, group, or organization that is actively involved in a project, is affected by its process or outcome, or can influence its process or outcome.

Difference between functional and nonfunctional requirements.

Functional requirements describe a specific function or behavior. It focuses on specifying how well a system works, rather than what a system should do. As for nonfunctional requirements, instead of focusing on specific behaviors, it describes the condition in which a system operates, for instance portability, constraints, compatibility, and platform (Wiegers, Beatty, 2013). Nonfunctional requirements sets quality attributes for a system.

Specification

Requirements specification involves representing and storing the collected requirements knowledge in a persistent and well organized fashion. Activity: Translating the collected user needs into written requirements and diagrams suitable for comprehension, review, and use by their intended audience.

Validation

Requirements validation confirms that you have the correct set of requirements info that will enable developers to build a solution the business objectives. Activities: -reviewing the documented requirements to correct any problems before the development group accepts them. -developing acceptance tests and criteria to confirm that a product based on the requirements would meet customer needs and achieve the business objectives.

Usage-centric and Product centric

Usage-centric: emphasizes understanding or exploring user goals to derive the necessary system functionality. Product centric: defining features that you expect will lead to marketplace or business success. Sometimes new features are added that don't get used much.

3. What is the difference between Requirements Development (RD) and Requirements Management (RM)?

With any developing life cycle (waterfall, phased, iterative, incremental, agile, or hybrid) both requirements will be conducted, but depending on the life cycle the requirements will be performed at different phases. A requirement development includes elicitation, analysis, specifications, and validations. These activities entails the process necessities to develop a product. This requirement requires good communication with stakeholders to set expectations, goals and business objectives. As for requirement management is the management of the projects product and product components. It evaluates the impact of decisions, incorporates changes, keeps track of plans and time table, sets new commitments, and tracks status of the project. In conclusion, RD's role is to "produce" a product and RM has the responsibility of "managing" the project.


Ensembles d'études connexes

U.S. History Chapters 25, 26, 27, & 28 Terms and Review Questions

View Set

Modern Principles of Economics (1)

View Set

Chapter 13: The Federal Reserve System

View Set

Chapter 16: Managing Organization Culture

View Set