Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.

Slides:



Advertisements
Similar presentations
Slide 1 Shall Lists. Slide 2 Shall List Statement Categories  Functional Requirements  Non-Functional Requirements.
Advertisements

Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 12 – 11 – 2011 College Of Computer Science and Information, Information Systems.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Requirements Specification
1 Team Skill 4 - Team Skill 5 - Scope Refining the Systems Definition (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Software Requirements
Requirements Engineering and Management INFO 627
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Tracing Requirements 1. The Role of Traceability in Systems Development  Experience has shown that the ability to trace requirements artifacts through.
Software Project Management
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Requirements Engineering
Software Project Management Fifth Edition
Chapter 2 Introduction to Requirements Management
Software Testing Lifecycle Practice
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
T Project Review RoadRunners [PP] Iteration
Why use RequisitePro RequisitePro is a comprehensive tool that supports any of today's requirements management processes. The predominant requirements.
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
INFO 424 Team Project Practicum Week 3 – Software Requirements Specification Glenn Booker Notes mostly from Prof. Hislop and INFO.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Software Requirements Lecture # 3. 2 Kinds of Software Requirements Functional requirements Non-functional requirements Domain requirements Inverse requirements.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Developing the Supplementary Specification 1. The Role of the Supplementary Specification  Some requirements can’t easily be expressed as use cases.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Lead from the front Texas Nodal 1 Texas Nodal Independent Market Monitoring and Data Collection For Protocol Section 17 Business.
Chapter 31 Your Prescription for Requirements Management.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 13: Software Quality Project Management Afnan Albahli.
SWE 513: Software Engineering
UML (Unified Modeling Language)
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
State of Georgia Release Management Training
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
ITIL: Service Transition
Chapter 6 유스케이스를 이용한 서비스 요구명세 Specification with Use Cases
Classifications of Software Requirements
Evolutionary requirements
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
CSE-862 Requirement Engineering
APARTMENT MAINTENANCE SYSTEM
Chapter 21 Software Quality Assurance
Chapter 21 Software Quality Assurance
Developing the Supplementary Specification
Engineering Processes
Software Requirements Engineering
Chapter 11: Software Configuration Management
Software Requirements Specification (SRS) Template.
Lecture # 7 System Requirements
Software Testing Lifecycle Practice
Presentation transcript:

Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System Definition 1. Software Requirements: a more rigorous look 2. Refining the Use cases 3. Developing the Supplementary Specification 4. On Ambiguity and Specificity 5. Technical Methods for Specifying Requirements 6. Building the Right System

Chapter 22 Developing the Supplementary Specification Role of the Supplementary Specification Nonfunctional Requirements Design Constraints Linking the Supplementary Spec. to the Use Cases

The Role of the Supplementary Specification There are many requirements can’t be implemented as in the use-case model. Example: "The application must run on Windows XP" So there is a need for supplementary specification. Supplementary: because we assume the use- case format will contain most of the functional requirements for the system, and we'll supplement the use-case model with these additional requirements.

Exploring Nonfunctional Requirements Nonfunctional requirements can be organized into four categories: Usability Reliability Performance Supportability

Usability (ease of use) 1. Specify the required training time for a user to become minimally productive: able to accomplish simple tasks) and operationally productive: able to accomplish normal day- to-day tasks). 2. Specify measurable task times for typical tasks or transactions that the end user will be carrying out. 3. Compare the usability of the new system with other state-of-the-art systems that the user community knows and likes.

Usability (ease of use) 4. Specify the existence and required features of online help systems, wizards, tool tips, user manuals, and other forms of documentation and assistance. 5. Follow conventions and standards that have been developed for the human-to-machine interface.

Reliability 1. Availability. The system must be available for operational use during a specified percentage of the time. 2. Mean time between failures (MTBF). This is usually specified in hours, but it also could be specified in days, months, or years. 3. Mean time to repair (MTTR). How long is the system allowed to be out of operation after it has failed?

Reliability 4. Accuracy. What precision is required in systems that produce numerical outputs? 5. Maximum bugs, or defect rate. This is usually expressed in terms of bugs/KLOC (thousands of lines of code) or bugs per function-point. 6. Bugs per type. This is usually categorized in terms of minor, significant, and critical bugs.

Performance 1. Response time for a transaction: average, maximum 2. Throughput: transactions per second 3. Capacity: the number of customers or transactions the system can accommodate 4. Degradation modes: the acceptable mode of operation when the system has been degraded

Supportability Supportability is the ability of the software to be easily modified to accommodate enhancements and repairs. Example : "Modifications to the system for a new set of withholding tax rates shall be accomplished by the team within 1 day of notification by the tax regulatory authority."

Understanding Design Constraints Design constraints are restrictions on the design of a system, or the process by which a system is developed, that do not affect the external behaviour of the system but that must be fulfilled to meet technical, business, or contractual obligations. Sources of Design Constraints 1. Restriction of design options 2. Conditions imposed on the development process 3. Regulations and imposed standards.

Restriction of Design Options Most requirements allow for more than one design option. Whenever possible, we want to leave that choice to the designers rather than specifying it in the requirements. Whenever we do not allow a choice to be made ("Use Oracle DBMS"), the design has been constrained, and a degree of flexibility and development freedom has been lost.

Conditions Imposed on the Development Process Compatibility with existing systems: "The application must run on both our new and old platforms." Application standards: "Use the class library from Developer's Library on the corporate IT server." Corporate best practices and standards: "Compatibility with the legacy database must be maintained." "Use our C++ coding standards."

Regulations and Imposed Standards Typical regulatory design constraints might include regulations and standards from the following: Food and Drug Administration (FDA) Federal Communications Commission (FCC) Department of Defence (DOD) International Organization for Standardization (ISO) Underwriters Laboratory (UL) International standards such as the German Industrial Standard (DIN)

Handling Design Constraints Distinguish them from the other requirements. Include all design constraints in a special section of your requirements, or use a special attribute so they can be readily aggregated. Identify the source of each design constraint. Document the rationale for each design constraint.

Are Design Constraints True Requirements? Yes, they do meet the definition of a requirement as something necessary to satisfy a contract, standard, specification, or other formally imposed documentation. Treat a design constraint just like any other requirement and make certain that the system is designed and developed in compliance with that design constraint.

Identifying Other Requirements Physical artifacts (CDs and so on) that are deliverables of the system Target system configuration and preparation requirements Support or training requirements Internationalization and localization requirements

Linking the Supplementary Specification to the Use Cases How do non-functional requirements apply to the use cases? Do specific use cases have associated non- functional requirements, and, if so, how could we indicate that?

Linking the Supplementary Specification to the Use Cases One way to do so is to define certain classes of non-functional requirements. For example, we might define "Quality of Service" classes for response time as follows: Class 1: 0 to 250 milliseconds Class 2: 251 to 499 milliseconds Class 3: 0.5 to 2 seconds Class 4: 2.1 to 12 seconds Class 5: 12.1 seconds to 60 minutes

Linking the Supplementary Specification to the Use Cases (Cont’d) Then we could associate these classes with special requirements recorded in the use case itself. For example, Use Case A might record Response time: Class 2 for main flow of events, Class 4 for all exceptions special requirements is an additional section that can be included in the documentation of a use case. You can do the same for other classes of non- functional requirements (such as reliability, safety, and so on) and map these requirements to the specific use cases.

Template for the Supplementary Specification

Template for the Supplementary Specification (Cont’d)