Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Engineering
EECS X491.71
© Copyright 2012 Rick Hefner 1-1 EECS X491.71 Systems Requirements Engineering
Course Objectives
At the end of this course, students will be able to:
• Develop an initial problem space definition;
• Develop and evaluate user, mission, and operational
needs, including the concept of operations;
• Develop and evaluate specifications for clarity,
completeness, and consistency;
• Perform requirements elicitation, requirements analysis
and requirements management;
• Identify effective approaches for
verification and validation of requirements.
© Copyright 2012 Rick Hefner 1-2 EECS X491.71 Systems Requirements Engineering
Course Overview
© Copyright 2012 Rick Hefner 1-3 EECS X491.71 Systems Requirements Engineering
Evaluation & Grading
• Class Attendance and Participation (50%)
– Each student is expected to review all lectures and participate fully in all
discussions, requiring 3-4 hours outside of class each week.
• Exercises (25%)
– Students will complete the exercises and post their results.
• Exam (25%)
– The exam will be handed out at the final class week. It will be open book
and open notes, and should result from the student’s individual effort. All
information necessary to answer the questions will be covered in the
lectures, text and other handouts.
© Copyright 2012 Rick Hefner 1-4 EECS X491.71 Systems Requirements Engineering
Course Text
• The course text is Wasson, Charles, System Analysis,
Design, and Development: Concepts, Principles, and
Practices, Wiley & Sons, 2006
• This text is broader than most requirements texts, and
has some unique subjects and perspectives
• The course will be supplemented with additional
readings supplied as take-home exercises
© Copyright 2012 Rick Hefner 1-5 EECS X491.71 Systems Requirements Engineering
Module 1:
Terminology & Definitions
© Copyright 2012 Rick Hefner 1-6 EECS X491.71 Systems Requirements Engineering
Module Objectives
• Review key requirements Topics:
engineering terms and
concepts • Requirement Types
• Requirements Engineering
Processes
© Copyright 2012 Rick Hefner 1-7 EECS X491.71 Systems Requirements Engineering
Requirements
• Requirements are the stated customer needs and
objectives for the system being designed and developed
– How well the system will work in its intended environment
– Also reflects constraints imposed by external interfaces, project
support, technology, and life cycle support systems
• Defining requirements is a highly creative process,
aimed at showing what the system will do, but avoiding
design decisions about how it will be done
– In the SE process, an intermediate step between user
requirements and the design
© Copyright 2012 Rick Hefner 1-8 EECS X491.71 Systems Requirements Engineering
Good Requirements are Essential
• Demonstrates to users that their needs and constraints
are recognized
• Provides a foundation for design; allows for tradeoffs,
discussion, optimization
• Provides a basis for testing the system
© Copyright 2012 Rick Hefner 1-9 EECS X491.71 Systems Requirements Engineering
Types of Requirements
• Customer (User) Requirements: Statements of fact and
assumptions that define the expectations of the system in terms
of mission objectives, environment, constraints, and measures of
effectiveness and suitability (MOE/MOS)
© Copyright 2012 Rick Hefner 1-14 EECS X491.71 Systems Requirements Engineering
Typical Quality Attributes
Agility The ability of a system to both be flexible and undergo change rapidly.
Flexibility The ease with which a system or component can be modified for use in
applications or environments, other than those for which it was
specifically designed.
Interoperability The ability of two or more systems or components to exchange
information and use the information that has been exchanged.
Maintainability The ease with which a system or component can be modified to correct
faults, improve performance or other attributes, or adapt to a changed
environment.
Reliability The ability of the system to keep operating over time. Reliability is
usually measured by mean time to failure.
Scalability The ability to maintain or improve performance while system demand
increases.
Usability A measure of how well users can take advantage of some system
functionality.
© Copyright 2012 Rick Hefner 1-15 EECS X491.71 Systems Requirements Engineering
Types of Requirements (cont.)
• Derived Requirements: Requirements that are implied or
transformed from higher-level requirement
– Often driven by a particular architecture or design decision
• Allocated Requirements: A requirement that is established by
dividing or otherwise allocating a high-level requirement into
multiple lower-level requirements
– Examples: power, weight, pointing accuracy
© Copyright 2012 Rick Hefner 1-19 EECS X491.71 Systems Requirements Engineering
MIL-STD-499C
© Copyright 2012 Rick Hefner 1-20 EECS X491.71 Systems Requirements Engineering
Requirements Engineering Activities
Requirements
Elicitation
Requirements Requirements
Verification Analysis
Requirements
Management
Requirements Requirements
Specification Validation
Adapted from
http://goldpractice.thedacs.com/practices/rto/
© Copyright 2012 Rick Hefner 1-21 EECS X491.71 Systems Requirements Engineering
Discussion
• Which of the Requirements Engineering activities is
most challenging and why?
Requirements
Elicitation
Requirements Requirements
Verification Analysis
Requirements
Management
Requirements Requirements
Specification Validation
© Copyright 2012 Rick Hefner 1-22 EECS X491.71 Systems Requirements Engineering