Wolfram Webers Wewo@ihh - Hj.se: What Is Analysis? Requirements Specifications OOA (Part 1)
Wolfram Webers Wewo@ihh - Hj.se: What Is Analysis? Requirements Specifications OOA (Part 1)
"#$%#"%&
Wolfram Webers
October, 2008
!&
!"#$%#"%&
!! !!
!!
!! How do we establish the business requirements for a new system? !! What effects will the new system have on the organization? !! How do we ensure that the system we build meet its requirements?
Wolfram Webers
October, 2008
$&
!"#$%#"%&
A system exists in an environment !! A system can have subsystems !! A system has inputs and outputs, communicating with the environment !! A system transforms input to output !! Systems that endure have a control mechanism !! System control relies on feedback, and sometimes on feed-forward
!!
Wolfram Webers
October, 2008
System boundary
Inputs
Outputs
Feed-Forward
Feedback
System environment
Wolfram Webers
October, 2008
'&
!"#$%#"%&
!!
Black box
!!
Grey box
!! We can see only the interfaces to the system !! We can see, what the system needs for inputs !! We can see, what the system has as outputs !! All internals are hidden !! Additionally to a black box view, we can see the relations between inputs and outputs !! We still have no insights about the realization !! We can see everything of the system !! Its the developers view
Wolfram Webers October, 2008 7
!!
White box
Information system in an organization can have different roles !! Operational systems (what the system does)
!!
!!
Wolfram Webers
October, 2008
(&
!"#$%#"%&
Wolfram Webers
October, 2008
!!
!! What system? Havent seen any system! !! Might work, but its dreadful to use. If Id known the real price, Its too late now, we needed it last April Now it works, but the installation Everythings changed now, we need a different system We built what they said they wanted There wasnt enough time to do it better We said it was impossible, but no-one listened The systems fine, the users are the problem
Wolfram Webers October, 2008 10
!!
!!
Developers perspective
)&
!"#$%#"%&
Wolfram Webers
October, 2008
11
Analysis is a collection of actions aiming to ensure that the envisioned system meets the goals !! Analysis is part of a development process !! We can define a process as an orchestration of actions/tasks with specific purposes and outcomes !! Methods will guide how to fulfill those tasks !! Methods can rely on the usage of specific tools and paradigms
!!
Wolfram Webers October, 2008 12
*&
!"#$%#"%&
!!
!! Sometimes called requirements elicitation or requirements discovery !! Involves technical staff working with customers to discover the application domain, the services that the system should provide and the systems operational constraints !! May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders
Wolfram Webers
October, 2008
14
+&
!"#$%#"%&
Prioritization
Process entry
Requirements collection
Conflict resolution
Classification
Wolfram Webers
October, 2008
15
!!
User Requirements
!!
System Requirements
!! Statements in natural language plus diagrams of the results and qualities the user wants. Owned by the user. !! Statements, diagrams, models describing what the system must do to achieve the user requirements. Owned by the developer. !! Can be seen as a contract between customer and developer.
Wolfram Webers October, 2008 16
!!
Requirements Specification
,&
!"#$%#"%&
Should describe functional and nonfunctional requirements so that they are understandable by the users of the system who dont have detailed technical knowledge !! User requirements are defined using natural language, tables and diagrams !! Make use of domain specific language
!!
Wolfram Webers
October, 2008
17
Order entry clerk !! Shipping and handling clerk !! Salesperson !! Department supervisor !! Customer, who places an order
!!
Wolfram Webers
October, 2008
18
%&
!"#$%#"%&
Express, what the system must do !! Serve as a basis for designing the system !! Must have a direct relationship to the user requirement
!! !!
May be used as part of the system contract !! System requirements may be expressed using system models
Wolfram Webers
October, 2008
19
User Requirements Description of the problem In user language Organized by goals Subject: a type of user Defines what the user gets Owned by users
System Requirements Abstract solution In developer language Organized by functions in a hierarchy or by objects Subject: the system or subsystem Defines what the system does Owned by developers
Wolfram Webers
October, 2008
20
!"&
!"#$%#"%&
!!
Functional requirements
!! Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. !! Depend on the type of software, expected users and the type of system where the software is used !! Functional user requirements may be high-level statements of what the system should do, but only functional system requirements should describe the system services in detail
Wolfram Webers
October, 2008
21
!!
!! Statements about the quality of the services the system should provide or qualities of the system itself. !! NFRs are highly depend on the domain in which the system is to be used !! NFRs are not limited to soft qualities !! As NFRs comprise qualities, they shall be expressed in a measurable way
Wolfram Webers
October, 2008
22
!!&
!"#$%#"%&
Non-functional requirements
Product requirements
Organizational requirements
External requirements
Efficiency requirements
Reliability requirements
Portability requirements
Interoperability requirements
Ethical requirements
Usability requirements
Delivery requirements
Implementation requirements
Standards requirements
Legislative requirements
Performance requirements
Space requirements
Privacy requirements
Safety requirements
Wolfram Webers
October, 2008
23
!!
!! Consistent
!!
October, 2008
24
!$&
!"#$%#"%&
!!
Wolfram Webers
October, 2008
25
!!
Traceability matrix
D=Derived, R=Requires
Wolfram Webers
October, 2008
26
!'&
!"#$%#"%&
!!
!! Introduction !! General system description !! System capabilities, conditions, and constraints !! System interfaces !! Appendices !! Index
Wolfram Webers
October, 2008
27
part 1
Wolfram Webers
October, 2008
28
!(&
!"#$%#"%&
Requirements Team
Requirements List
Interface Prototype
Glossary
Wolfram Webers
October, 2008
29
Requirements Analyst
Prototype Designer
Elicit Requirements
Interface Prototype
Requirements List
Evaluate Prototypes
System Architect
Develop Architecture
Wolfram Webers
October, 2008
30
!)&
!"#$%#"%&
!!
!! !!
Use Cases are primarily text documents, not diagrams UML defines a use case diagrams to illustrate names of the use cases and actors, and their relationship
Wolfram Webers October, 2008
31
!!
!!
UP disciplines
!! Requirements are primarily recorded in use cases (Use-Case Model) !! Use cases are an important part of iterative planning (chose use case scenarios or entire use cases for an iteration) !! Use case realization drives the design !! Use cases influence the organisation of user manual !! Business Modelling: business use cases (context: large scale business process re-engineering) !! Requirements: system use cases
Wolfram Webers
October, 2008
32
!*&
!"#$%#"%&
!!
Actor
!!
!! something with behaviour (person, computer system, organisation) !! Primary actor: has user goals fulfilled through using services of the SuD (= system under discussion) !! Supporting actor: provides a service to the SuD !! Offstage actor: has an interest in the behaviour of the use case !! specific sequence of actions and interactions between actors and the system under discussion !! collection of related (success or failure) scenarios !! A set of use-case instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor.
Wolfram Webers October, 2008 33
!! !!
!!
Starting Event
!!
Sequence of activities
!! When / in what context is the use case performed? What preconditions have to be given? !! What happens upon the starting event? List all relevant activities (what?), but dont focus on the details (how?) !! What activity and/or post-condition concludes the use case?
!!
Wolfram Webers
October, 2008
34
!+&
!"#$%#"%&
!!
!!
Four steps:
!! Focus on use cases on the level of Elementary Business Processes (EBP): !! EBP is a task performed by one person in one place at one time, in response to a business event, which adds measurable business value and leaves the data in a consistent state !! Choose the system boundary !! Identify the primary actors !! For each identify their user goals !! Define use cases that satisfy the user goals
Wolfram Webers October, 2008 35
!!
!!
!! software application or hardware and software !! a person using it or an entire organisation !! boundary can be clarified by defining what is outside
!! The point-of-sale system itself !! Everything outside of the system is outside the system boundary
Wolfram Webers
October, 2008
36
!,&
!"#$%#"%&
!!
!! !!
Focus is on Primary Actors, not on Supporting Actors Be suspicious if no primary actors are external to the system
Wolfram Webers October, 2008 37
!! Who starts and stops the systems? !! Who does user- and security-management? !! Is there a monitoring process that restarts the system if it fails? !! How are software updates handled? Push or pull update? !! Who does system-administration? !! Is time an actor because the system does something in! response to a time event? !! Who evaluates system activity and performance? !! Who evaluates logs? Are they remotely retrieved?
Identification of user goals is usually done in workshops !! Record the primary actors and their goals in an actor-goal list !! Actor-Goal list is part of the Vision artefact
!!
Actor Cashier Goal process sales process rentals handle returns cash in cash out start up shut down
Wolfram Webers October, 2008 38
Manager
!%&
!"#$%#"%&
!!
!!
Common exception:
!!
!! CRUD goals (Create, Retrieve, Update, Delete) are usually collapsed into one use case called Manage <X>
!!
!! Class diagrams for reflecting structural topics !! Activity diagrams for reflecting processes !! Package diagrams for reflecting initial architectures
Wolfram Webers
October, 2008
40
$"&
!"#$%#"%&
Analysis Patterns can help us to determine structures or behavior !! Martin Fowler (AP, 2001):
!!
Analysis Pattern are observed structures and/ or behaviors of previous work done !! Patterns are highly abstracted and need to be adopted
!!
Wolfram Webers October, 2008 41
!! Patterns are a starting point, not a destination !! Models are not right or wrong, they are more or less useful
!!
JIBS:Organization
JTH:Organization
Wolfram Webers
October, 2008
42
$!&
!"#$%#"%&
!!
parent
{hierarchy} *
Organization
Company
Division
Department
Wolfram Webers
October, 2008
43
!!
Wolfram Webers
October, 2008
44
$$&