Skip to content
Ahmet Çelik

Chapter 2: Inception and Requirements

COMP302 10 minute read

Source files used: Lecture 2 - Inception and Requirements; textbook (applying-uml-and-patterns.pdf) Chapter 7 as support.

A focused guide to the inception phase and to requirements in the UP for the COMP302 Midterm 1. It covers what inception is (and is not), its artifacts, the FURPS+ model, and which artifact records which kind of requirement. Guide 1 introduced the phases; this guide zooms into the first one.

Roadmap: 1 OOA/D and UP → 2 Inception and Requirements → 3 Use Cases → 4 Domain Models → 5 SSDs and Contracts → 6 Logical Architecture → 7 Interaction Diagrams

Inception

What Is Inception?

Inception is the short initial step of a UP project. It explores questions like:

  • What is the vision and business case for this project?
  • Is it feasible?
  • Buy and/or build?
  • Rough estimate of cost: is it $10K-100K or in the millions?
  • Should we proceed or stop?

Its purpose is to collect just enough information to establish a common vision and decide whether moving forward is feasible.

Important: For the class project, Ayral assumes inception has already been carried out: earlier work showed that the project is feasible, and preliminary requirements were explored.

How Much Requirements Work Happens in Inception?

Only preliminary requirements and use case work: perhaps 10% of the requirements are analyzed in detail. Most requirements analysis happens during elaboration, and most UML diagramming happens there too.

Exam Trap #1: Treating inception as the time to write all requirements or to produce believable estimates and plans.

WRONG:   "Inception ends when all requirements are signed off
          and the plan is fixed."
CORRECT: "Inception ends with a continue/stop decision and a common vision;
          about 10% of the requirements are detailed."

This is the waterfall thinking warned about in Guide 1: in the UP, believable estimates and plans come during elaboration.

Inception Artifacts

These artifacts are started in inception, only partially completed, and refined in later iterations:

ArtifactComment
Vision and Business Casehigh-level goals and constraints, the business case, an executive summary
Use-Case Modelfunctional requirements; most use case names identified, perhaps 10% analyzed in detail
Supplementary Specificationother requirements, mostly non-functional; the key ones that will impact the architecture
Glossarykey domain terminology and the data dictionary
Risk List & Risk Management Planbusiness, technical, resource, and schedule risks, and ideas for mitigation
Prototypes and proof-of-conceptsclarify the vision and validate technical ideas
Iteration Planwhat to do in the first elaboration iteration
Phase Plan & Software Development Planlow-precision guess for elaboration duration and effort; tools, people, education, resources
Development Casethe customized UP steps and artifacts for this project (the UP is always customized)

Exam Trap #2: Listing the Domain Model as an inception artifact. It is not in the inception table, and the artifact timing table in Lecture 3 starts the Domain Model in elaboration.

Understanding Requirements

What Is a Requirement?

Requirements are the capabilities that the system must support and the conditions to which it must conform.

The UP best practice “manage requirements” does not mean fully defining and freezing the requirements in the first phase. Following RUP, it means “a systematic approach to finding, documenting, organizing, and tracking the changing requirements of a system”, done iteratively.

  • Changing: the UP embraces change in requirements as a fundamental driver on projects.
  • Finding: requirements are discovered with techniques such as use case writing and requirements workshops.

Why Requirements Matter

The lecture’s pie chart of factors on challenged software projects puts three requirements problems near the top: poor user input (13%), incomplete requirements (12%), and changing requirements (12%). Poor technical skills (7%) and poor staffing (6%) rank lower. Requirements issues are 37% of the chart.

FURPS+

The UP categorizes requirements with the FURPS+ model:

LetterCategoryCovers
FFunctionalfeatures, capabilities, security
UUsabilityhuman factors, help, documentation
RReliabilityfrequency of failure, recoverability, predictability
PPerformanceresponse times, throughput, accuracy, availability, resource usage
SSupportabilityadaptability, maintainability, internationalization, configurability

The + stands for ancillary and sub-factors:

  • Implementation: resource limitations, languages and tools, hardware,
  • Interface: constraints imposed by interfacing with external systems,
  • Operations: system management in its operational setting,
  • Packaging,
  • Legal: licensing and so forth.

Use FURPS+ (or any categorization scheme) as a checklist for requirements coverage, so that no important facet of the system is forgotten.

Exam Trap #3: Guessing the letters.

WRONG:   S = Security, P = Portability
CORRECT: S = Supportability, P = Performance   (security is part of F)

Functional vs Non-Functional

In common usage, requirements are functional (behavioral) or non-functional (everything else). Usability, reliability, performance, and supportability are together called the quality attributes (quality requirements, or the “-ilities”).

Where Requirements Are Recorded

The Requirements Artifacts

ArtifactWhat it holds
Use-Case Modela set of typical scenarios of using the system; the functional requirements
Supplementary Specificationall non-functional requirements, plus features not captured in use cases
Glossarykey terms, plus the data dictionary (validation rules, acceptable values)
Visionthe big ideas of the project and the business case; summarizes the high-level requirements
Business Rulesrules of the domain you must operate in, such as tax laws, aviation laws, laws of physics

Two more placement rules from the lecture:

  • Functional requirements are also summarized in the system features list of the Vision.
  • Non-functional requirements can be recorded in the use cases they relate to, or in the Supplementary Specification.

Prototypes are a mechanism to clarify what is wanted or possible.

Supplementary Specification

The NextGen POS example calls it “the repository of all NextGen POS requirements not captured in the use cases.” Sample entries from the lecture:

  • Logging and Error Handling: log all errors to persistent storage (functionality common across many use cases),
  • Pluggable Rules: customize system functionality with arbitrary rules at various scenario points,
  • Security: all usage requires user authentication,
  • Usability (Human Factors): text easily visible from 1 meter; avoid colors associated with common forms of color blindness; convey signals and warnings with sound, because the cashier is often looking at the customer, not the screen.

The textbook adds reports, hardware and software constraints, development constraints, internationalization, documentation and help, licensing and legal concerns, packaging, standards, physical environment concerns, operational concerns, and domain rules.

Glossary

In its simplest form, the Glossary is a list of noteworthy terms and their definitions (textbook). In the UP it also plays the role of the data dictionary. A lecture example:

TermDefinitionFormatValidation RulesAliases
UPCnumeric code that identifies a product, usually shown as a bar code12-digit code of several subpartsdigit 12 is a check digitUniversal Product Code

Its job is to remove ambiguity: different stakeholders often use the same term in slightly different ways.

Vision

The Vision summarizes the big ideas and the business case. The NextGen Vision has an introduction (“a next generation fault-tolerant point-of-sale (POS) application”), a business opportunity, a problem statement, a product position statement, alternatives and competition, and stakeholder descriptions.

Exam Trap #4: Putting a requirement in the wrong artifact.

WRONG:   "Credit authorization within 30 s, 90% of the time" goes in the Glossary
CORRECT: Supplementary Specification (or the use case's Special Requirements)

WRONG:   "UPC is 12 digits; digit 12 is a check digit" goes in the Vision
CORRECT: Glossary (data dictionary)

Evolutionary vs Waterfall Requirements

Start Before the Requirements Are Done

In the UP and other evolutionary methods (Scrum, XP, …), production-quality programming and testing start long before most requirements are analyzed: when only 10% or 20% of the most significant, risky, high-business-value requirements are specified.

Why Not Specify Everything First?

When waterfall requirements analysis is attempted, most of the features specified early turn out to be of little use. The lecture’s feature-usage chart: Never 45%, Rarely 19%, Sometimes 16%, Often 13%, Always 7%.

Key Insight: 64% of the features in that chart are never or rarely used, so specifying everything up front wastes most of the effort.

Exam-Style Practice Problems

Problem 1: Inception Artifacts

Question: The Fall 2024 Midterm 1 study sheet asks: what are some of the inception phase artifacts?

Answer:

Vision and Business Case, Use-Case Model, Supplementary Specification, Glossary,
Risk List & Risk Management Plan, Prototypes and proof-of-concepts,
Iteration Plan, Phase Plan & Software Development Plan, Development Case

Problem 2: Requirements Artifacts

Question: The same sheet asks: what are some of the requirements discipline artifacts?

Answer:

Use-Case Model, Supplementary Specification, Glossary, Vision, Business Rules

Problem 3: Classify with FURPS+

Question: Classify each NextGen requirement.

  1. Credit authorization response within 30 seconds, 90% of the time.
  2. Text must be visible from 1 meter.
  3. Robust recovery when remote services such as the inventory system fail.
  4. Language internationalization of the displayed text.
  5. Must run on Linux.

Answer:

1. Performance     (response time)
2. Usability       (human factors)
3. Reliability     (recoverability)
4. Supportability  (internationalization)
5. + Implementation (a constraint on platform and tools)

Problem 4: Define the Terms

Question: Explain “supplementary specification”, “functional requirement”, “FURPS”, and “glossary” (all on the study sheet’s term list).

Answer:

  • Supplementary specification: the artifact that captures requirements not in the use cases, mostly non-functional (URPS+), such as “all usage requires user authentication”.
  • Functional requirement: a behavior or capability the system must provide (features, capabilities, security), recorded mainly in use cases.
  • FURPS: Functional, Usability, Reliability, Performance, Supportability; the + adds implementation, interface, operations, packaging, and legal.
  • Glossary: noteworthy terms with definitions, also used as the data dictionary (format, validation rules, aliases).

Common Exam Traps

1. Inception Is a Feasibility Step

WRONG:   inception = the requirements phase
CORRECT: inception = vision, business case, scope, vague estimates, continue/stop

Why: Most requirements analysis happens during elaboration.

2. About 10%, Not 100%

WRONG:   all use cases written in detail during inception
CORRECT: most use case names identified; perhaps 10% analyzed in detail

Why: Detailing everything up front is waterfall thinking.

3. The Domain Model Is Not an Inception Artifact

WRONG:   inception artifacts include the Domain Model
CORRECT: Vision, Use-Case Model, Supp. Spec., Glossary, Risk List, Prototypes,
         Iteration Plan, Phase Plan & SDP, Development Case

Why: The Domain Model belongs to Business Modeling and starts in elaboration.

4. FURPS Letters

WRONG:   S = Security
CORRECT: S = Supportability; security is listed under Functional

Why: The slide defines Functional as “features, capabilities, security”.

5. Wrong Artifact for a Requirement

WRONG:   non-functional requirements written into the Glossary or the Vision
CORRECT: Supplementary Specification, or the related use case

Why: The Glossary is for terms and data rules; the Vision only summarizes.

6. The Glossary Is Also the Data Dictionary

WRONG:   Glossary = definitions only
CORRECT: Glossary = terms + data dictionary (format, validation rules, aliases)

Why: The lecture’s UP artifact list shows “key terms” and “data dictionary” under the Glossary.

7. Managing Requirements Is Not Freezing Them

WRONG:   "manage requirements" = stabilize them in the first phase
CORRECT: find, document, organize, and track CHANGING requirements, iteratively

Why: The UP embraces requirement change as a fundamental driver.

8. Most UML Drawing Is Not in Inception

WRONG:   draw the detailed UML models during inception
CORRECT: most UML diagramming occurs in the elaboration phase

Why: Inception collects just enough information for a decision.

Final Tips for the Midterm

  • Memorize the inception artifact table: at least six of the nine names, with a few words each.
  • Know FURPS+ cold: five letters plus the five ”+” categories, and that security sits under F.
  • Match requirement to artifact: functional to the Use-Case Model, non-functional to the Supplementary Specification, terms and data rules to the Glossary.
  • Quote the RUP phrase: finding, documenting, organizing, and tracking the changing requirements.
  • Use the 10% number: for how much detail inception produces, and 10-20% for when production programming starts.

Good luck on the midterm! You’ve got this.