Means of Connection of Communication Systems

advertisement
CMPT 275
Software Engineering
Requirements Analysis activity
(use case diagrams, Class activity)
Janice Regan, 2008-2014
1
Class Project: Requirements Analysis
 Object Oriented paradigm
 Requirements Gathering Activity: Develop
informal scenarios to help you derive your
software requirements specifications
 Requirement specification Activity: Build an
‘analysis model’ representing the user’s/client’s
view of the system

‘analysis model’ includes a list of functional and nonfunctional requirements. Each functional requirement
represent all or part of at least one function/activity

Functional requirements are not dependent on specific
methods of implementation
Janice Regan, 2008-2014
2
Class Project: Requirements Analysis
 Next you will proceed using use case
centered development (UCCD) to analyze
that model
 System Context Diagram
 Identifying Actors and developing Use Cases
 Use case Diagrams
 Primary classes
 Use cases and Scenarios (formal and informal)
 Class (object) Diagram
 State Diagrams
Janice Regan, 2008-2014
3
Requirements
Analysis
Activities
Software
Client/User
Developer
Update SRS
Use Case Centered Development (UCCD)
Use Case
Diagram
Questions
Class
Diagram
Scenarios
Use Cases
Primary
Classes
System
Context
Diagram
State
Diagram
Janice Regan, 2008-2014
4
Use Cases
 Specify the behaviour of the system from the
user’s perspective
 Provides value to at least one user of the system
 Describe a sequence of actions, performed by
the system, to yield a result desired by that user
 The behavior of the system is expressed without
specifying how the behavior is implemented
(What is behavior, not how is it done)
 To get started generalize an informal scenario
(or closely related set of informal scenarios)

Informal scenarios are a good starting point
Janice Regan, 2008-2014
5
UML: Unified Modeling Language
 Object-Oriented Paradigm modelling
notation
 Clear and effective way to model many
aspects of a software system using a
commonly understood language
 Programming language independent
 Enables a variety or analysis and design
techniques
 A subset of UML will be used in this course
Janice Regan, 2008-2014
6
UML: Unified Modeling Language
 Used in this course for analysis models of
 System functionality (use case diagrams, use
cases and scenarios)
 Objects and their static relationships (class
diagrams)
 Dynamic behavior (state diagrams,
collaboration diagrams sequence diagrams)
Janice Regan, 2008-2014
7
Use Case Diagrams
 Depicts overall behavior of s/w system
 Models the context of a system (what is
part of the system what external entities
interact with the system)
AND
 Models the requirements of a system, the
desired behavior of the system (what the
system should do from an external
viewpoint, not how it should do it)
Janice Regan, 2008-2014
8
Use Case Diagrams
 Depicts overall behavior of software
system
 Depicts interaction between
 use cases and actors
 use cases and use cases
 actors and actors
 Depicts a set of use cases, a set of
actors, and the relationships between the
use cases and actors
Janice Regan, 2008-2014
9
UML: Use Case Diagrams
Actor
Use case
Use case
name
Relationships:
Dependency
(extension and inclusion)
Janice Regan, 2008-2014
Association
Generalization
(communication)
10
Use Case Diagrams
 Relation between actor and use case is a
communication if
 Actor initiates use case
 Actor supplies information to use case
 Actor receives information from use case
 Use case initiates another use case
Use Case
Janice Regan, 2008-2014
Part of Use Case
Diagram: Shows
Communication
11
Relationships: Dependency
 Dependency: Class A is said to depend on
class B if
 A uses at least one feature of B, e.g., it
accesses one of B’s data fields or invokes one
of its methods.
 Changing the specification of B may change A
(A uses or depends on B) but not necessarily
the reverse
A
Janice Regan, 2008-2014
B
12
Use Case Diagrams
 Dependency Relationship: <<include>>
 Encapsulates common logic required by
several use cases into one included use case
 Used for factoring out common behaviour
(promote “reuse”)
 Can also be used to break a large and
complicated used case into smaller more
manageable parts
Source Use Case
or Base Use Case
Janice Regan, 2008-2014
<<include>>
inclusion use case
or target use case
13
Use Case Diagrams
 Dependency Relationship: <<include>>
Make Meat Pie
Make Apple Pie
<<include>>
<<include>>
Make Pie Crust
<<include>>
Make Cherry Pie
Janice Regan, 2008-2014
14
LMS: Partial Use Case Diagram
BrowseResource
Check out resource
<<include>>
Verify Patron
ReserveResource <<include>>
Patron
CheckInResource
<<include>>
Determine Overdue
Charge
Janice Regan, 2008-2014
Librarian
15
Use Case Diagrams
 Dependency Relationship: <<extend>>
 Extension use case defines logic that may be
required during a base use case
 Exceptional logic that is not always needed
 Can be a conditionally executed separate
subflow (label with condition)
 One of several possible flows that may be
inserted at a given point governed by
interaction with the actor
Janice Regan, 2008-2014
16
Use Case Diagrams
 Dependency Relationship: <<extend>>
 Source use case extends the behavior of the
target use case
 Allows options to be extension cases
Source Use Case
or Extension Use Case
Janice Regan, 2008-2014
<<extend>>
Target Use Case
Or Base Use Case
17
Use Case Diagrams
 Dependency Relationship: <<extend>>
Make optional cherry
crème topping
<<extend>>
Make cherry
pie
<<extend>>
Baking in Microwave
<<extend>>
Baking in Convection oven
Janice Regan, 2008-2014
18
Use Case: overlapping roles
(good practice indicates 1 initiating actor per use case)
Recording Grades
Design Course
Regular Faculty
Record Grades
Registrar
Sessional Lecturer
Janice Regan, 2008-2014
19
Relationship
 Generalization: book, music CD, videos
are resources
Resource
general
specific
Book
Janice Regan, 2008-2014
Video
Music CD
20
Use Case: overlapping roles
(1 initiating actor per use case)
Recording Grades
Instructor
Record Grades
Registrar
Design Course
Sessional
Lecturer
Regular
Lecturer
Janice Regan, 2008-2014
21
Modeling the context of a system
From: Booch, Rumbaugh, Jacobson
Credit Card Validation System
Perform Transaction
Customer
Retail
Institution
Process Customer
Bill
Reconcile
Transactions
Individual Corporate
Customer Customer
Janice Regan, 2008-2014
Manage Customer
Account
Financial
Institution
22
Constructing a Use Case Diagram
 Identify all actors (primary and secondary)
 For each actor
 Identify each function the actor expects from
the system (can consider the whole system or a
few requirements at a time)
 Name each of these functions, and consider it to
be a use case
Janice Regan, 2008-2014
23
Constructing a Use Case Diagram
 Analyze the use cases
 Determine which actor (one only) or which use
case initiates each use case
 Find any actions common to multiple use cases.

Use the <<include>> dependency to connect the use
case for the common action to the original use cases
 Find any actions that are done rarely/sometimes

Use the <<extend>> dependency to factor out use
cases that are extensions
Janice Regan, 2008-2014
24
Validation & Verification
 Validation
 Are we building the right product?
 To facilitate validation we number our
functional requirements and propagate these
numbers throughout our models and source
code, validating that all functional
requirements are parts of the system.
 Verification:
 Are we building the product right?
Janice Regan, 2008-2014
25
Download