Download presentation
Presentation is loading. Please wait.
Published byPamela Jacobs Modified over 9 years ago
1
Collecting Project Problem Requirements The ATCS Modeling Project: Informal Picture Follows
2
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## An Example of one ATC System Architecture
3
Requirements Collection and Organization Scope the extent of the (ATCS) Collect and organize the following ATCS information: 1. ATC Organizational Structure 2. Roles within the ATC Organization 3. Services/Functions Per ATCS Role 4. Existing (non-human) Supporting ‘Systems’ within the ATC Organization
4
Layers of ATCS Components – Top Layer Problem (Requirements) Layer – The set of all ATC system functions is partitioned into disjoint subsets of functions/services – components In the final deliverable in UML/UMP these system functions are called ‘use cases’. The components are represented as ‘packages’. Related ATCS components can themselves be encapsulated into packages (of packages) called or stereotyped ‘sub-systems.’ In the final UML/UMP model all of these components (packages) appear in the Use Cases View Layer.
5
Roles, Actors and Viewpoints Organizational Divisions (Units) AccountantControllerInformation Specialist Air Traffic Control - Air Traffic Control Units Administration -Administration Units Communications -Communications Units A ATC System’s Functions are Partitioned into Disjoint Components (View Points): Simple Example
6
Requirements Questions What are the steps in deriving components as disjoint subsets of system functions/services? Answer. System functions are introduced from the systems’ stakeholders having a ‘vested interest’ in the system. Equivalent stakeholders determine one disjoint subset of system functions. Then, what causes these disjoint subsets to sometimes have relationships? Connectivity? Answer. One disjoint subset of functions/services may ‘need’ certain functions from another disjoint subset. Then, what may cause conflicts or inconsistencies among stakeholders and their subsets? Answer. Contentions.
7
UML Modeling & Programming Review Chapters 5-6 Related Material
8
Originating requirements analysis process ATC VORD Chapter 6 Modeling
9
Viewpoint-oriented elicitation The scope of system development is first established, e.g. the total population of stakeholders The scope is stratified into sets of stakeholders. Stakeholders represent different ways of looking at a problem or problem viewpoints This multi-perspective analysis is important as there is no single correct way to analyse all kinds of system requirements Perspective, viewpoint, view VORD Applied to produce full set of users’ requirements
10
Banking ATM system requirements The example used here is an auto-teller system which provides some automated banking services I use a very simplified system which offers some services to customers of the bank who own the system and a narrower range of services to other customers Services include cash withdrawal, message passing (send a message to request a service), ordering a statement and transferring funds
11
Some Auto-teller Viewpoints Bank customers Representatives of other banks Hardware and software maintenance engineers Marketing department Bank managers and counter staff Database administrators and security staff Communications engineers Personnel department
12
Types of viewpoints Data sources or sinks –Viewpoints are responsible for producing or consuming data. Analysis involves checking that data is produced and consumed and that assumptions about the source and sink of data are valid Representation frameworks –Viewpoints represent particular types of system model. These may be compared to discover requirements that would be missed using a single representation. Particularly suitable for real-time systems Receivers of services –Viewpoints are external to the system and receive services from it. Most suited to interactive systems
13
External viewpoints Natural to think of end-users as receivers of system services Viewpoints are a natural way to structure requirements elicitation It is relatively easy to decide if a viewpoint is valid Viewpoints and services may be used to structure non-functional requirements
14
General Method-based Analyses Widely used approach to requirements analysis. Depends on the application of a structured method to understand the system Methods have different emphases. Some are designed for requirements elicitation, others are close to design methods A viewpoint-oriented method (VORD) is used as an example here. It also illustrates the use of viewpoints
15
The VORD method: Our Method Start Here! Finish Modeling!
16
VORD process model activities ATMS Viewpoint identification –Discover viewpoints which receive system services and identify the services provided to each viewpoint ATMS Viewpoint structuring –Group related viewpoints into a hierarchy. Common services are provided at higher-levels in the hierarchy ATMS Viewpoint documentation –Refine the description of the identified viewpoints and services ATMS Viewpoint-system mapping –Transform the analysis to a UML object-oriented design
17
VORD standard capture forms
18
ATMS Viewpoint identification
19
ATMS Viewpoint service information
20
ATMS Viewpoint data/control
21
ATMS Viewpoint hierarchy: Information Structure
22
ATMS Customer/cash withdrawal templates
23
A Requirement is a Complete USE CASE in the Model WHO? The persons using this system service (Think of Roles in a Unit) WHAT? The name of the system service WHERE? The location in the system of the service (Think of the Unit) HOW? The way the service is accessed WHY? Is this service necessary? WHEN? The time in the system of the service usage HOW WELL? The quality of the service
24
Missing Use Case Information WHO? Is this missing? View Point/Actor Classes? WHAT? Is this missing? Service/Use Case Name? WHERE? Is this missing? Unit/Package Name? HOW? Is this missing? Scenario/Script? WHY? Is this missing? Rationale? WHEN? Is this missing? Before, During? After? HOW WELL? Is this missing? Performance?
25
QUESTION. UML Diagram Model Programming INPUT {See Figs 5.1, 5.10, 5.11 and 5.12 Row 1} Given the following paragraph of Requirements (index numbered ‘shall’ simple sentence format) for a Car Dashboard Display system, translate these requirements into an equivalent UML Use Cases model program. In doing the translation, first translate each sentence in the given requirements into equivalent UML Use Case Diagram modeling format. Note: Your answer here MUST be diagrammatically correct Rational Rose ‘code’, i.e. must pass through the model and access violations checkers. 1. There shall be a car dashboard display. 1.1. The car dashboard display shall be comprised of warning lights. 1.1.1. The warning lights shall be oil pressure level, doors state and fuel level. 1.1.2. The services of warning lights shall be turn_on warning lights and turn_off warning lights.
26
Problem Requirements Analysis WHO? WHAT? WHERE? HOW? WHY? WHEN? HOW WELL? Missing ‘Driver’ Car Dashboard Display Car Dashboard Display System Visualizing Access Missing ‘Rational’ Missing ‘Time’ Missing ‘Performance’
27
Services Included in Car Dashboard Display (CDD) Warning Lights Specialized Kinds of Warning Lights Specialized Services of Each Warning Light Parts of CDD Oil Pressure Level, Doors State, Fuel Level Turn_On, Turn_Off
28
Summary of Problem Information for Modeling View Point/Actor Classes – Driver Class Services/Use Cases – Car Dashboard Display, Warning Lights, Oil Pressure Level, Doors State, Fuel Level, Turn_On, Turn_Off Unit/System Package – Car Dashboard Display
30
UML Program Structures Generalization/Specialization Aggregation/Inclusion/Whole-Parts Access/Unidirectional Association Nested Packages/System-Subsystems View these in the Tools/Create Menu and Vertical Programming Bar
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.