• No results found

5.1 system modeling latest P1

N/A
N/A
Protected

Academic year: 2020

Share "5.1 system modeling latest P1"

Copied!
48
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)
(3)

Limitations of the Human Brain

 Traditional practices unfortunately support the use of thousands

of “system shall“ requirements

 These requirements are typically generated via interviews and

working sessions with business stakeholders.

 It is nearly impossible to read the thousands of requirements

and emerge confident that the requirements are complete.

 Analysts who use traditional practices to create software

requirements experience common problems during analysis, organization, and consumption of the requirements.

 Traditional practices use long lists of text requirements in the

form of shall statements or, more recently, user stories and product backlogs.

 The challenge of working with long lists of items results from a

fundamental limitation of human cognition.

 Miller magic number

 In the 1950s, cognitive psychologist George A. Miller found that humans

(4)

Pictures Are Easy, Words Are

Hard

Where is elevator??

“From here you are going to go out to the

(5)

Pictures Are Easy, Words Are

Hard

A picture is worth a thousand words

Models

are visual representations

(pictures) of information related to the

processes, data, and interactions within

and surrounding the solution being

(6)

System modeling

 System modeling is the process of developing

abstract models of a system, with each model

presenting a different view or perspective of that system.

 System modeling represents a system using some

kind of graphical notation, which is now almost always based on notations in the Unified Modeling Language (UML).

 System modelling helps the analyst to understand the

functionality of the system and they are used for

(7)

Existing and planned system models

Models of the existing system are used during

requirements engineering. They help clarify what the existing system does and can be used as a basis for discussing its strengths and weaknesses. These then lead to requirements for the new

system.

Models of the new system are used during

requirements engineering to help explain the proposed requirements to other system

stakeholders. Engineers use these models to discuss design proposals and to document the system for

implementation.

 In a model-driven engineering process, it is

(8)

Uses of graphical models

 As a means of facilitating discussion about an

existing or proposed system

 Incomplete and incorrect models are OK as their

role is to support discussion.

As a way of documenting an existing system

 Models should be an accurate representation of

the system but need not be complete.

As a detailed system description that can be used

to generate a system implementation

(9)

Types of System perspectives

 An external perspective, where you model the

context or environment of the system.

 An interaction perspective, where you model the

interactions between a system and its environment, or between the components of a system.

 A structural perspective, where you model the

organization of a system or the structure of the data that is processed by the system.

 A behavioral perspective, where you model the

(10)

Context models

 Context models are used to illustrate the operational

context of a system - they show what lies outside the system boundaries.

 At an early stage in the specification of a system, you

should decide on the system boundaries

 This involves working with system stakeholders to

decide what functionality should be included in the system and what is provided by the system’s

environment.

 You may decide that automated support for some

(11)

Context model for E-restaurant

Order meal

Pay for meal

Update menu

Deliver meal

Customer

Restaurant Manager

Credit/debit card authentication

(12)

System boundaries

 System boundaries are established to define what is

inside and what is outside the system.

 They show other systems that are used or depend

on the system being developed.

 The position of the system boundary has a profound

effect on the system requirements.

 Defining a system boundary is a political judgment

 There may be pressures to develop system

(13)

UML diagram types

 UML has become a standard modelling language  Use case diagrams, which show the interactions

between a system and its environment.

Sequence diagrams, which show interactions

between actors and the system and between system components.

Class diagrams, which show the object classes in

the system and the associations between these classes.

State diagrams, which show how the system reacts

to internal and external events.

Activity diagrams, which show the activities

(14)

Interaction models

 All systems involve interaction of some kind. This can be

user interaction, which involves user inputs and outputs,

 interaction between the system being developed and other

systems or

 interaction between the components of the system.

 Modeling user interaction is important as it helps to identify

user requirements.

 Modeling system-to-system interaction highlights the

communication problems that may arise.

 Modeling component interaction helps us understand if a

proposed system structure is likely to deliver the required system performance and dependability.

 Use case diagrams and sequence diagrams may be used for

(15)

Use case modeling

 Use cases were developed originally to support

requirements elicitation and now incorporated into the UML.

 Each use case represents a discrete task that

involves external interaction with a system.

 Actors in a use case may be people or other

systems.

 A use case is shown as an ellipse with the actors

involved in the use case represented as stick figures

 Represented diagrammatically to provide an

(16)

Online Shopping System use cases example

 The Online Shopping system facilitates the customer to view the

products, inquire about the product details, and product availability. It allows the customer to get register in order to purchase products. The customer can search products by browsing different product categories or by entering search keywords. Customer can place order and pay online. There are two acceptable payment methods. These are (1) pay by credit card and (2) pay by PayPal.

 The system provide service to seller to place the products for selling.

The seller creates account to become the member and places his products under suitable product category.

 The systems allows the administrator to manage the products. It

facilitates the administrator to modify the existing products categories or to add new products categories.

 The system facilitate site manager to view different reports including (1)

(17)

Online Shopping System

Stakeholders and associated use cases

Customer

 view the products

 inquire about the product details  inquire about products availability  get register

 purchase products  search products

 by category  by keyword

 pay online

(18)

Seller

 place the products for selling  create account

 place products product category

Administrator

 Manage products

 modify the existing products categories  add new products categories

Site manager

 view order placed by customers  view products added by sellers,  view accounts created by users.

Online Shopping System

(19)

Transfer-data use case

(20)

Tabular description of the

‘Transfer data’ use-case

MHC-PMS: Transfer data

Actors Medical receptionist, patient records system (PRS)

Description A receptionist may transfer data from the MHC-PMS to a general patient record database that is maintained by a health authority. The information transferred may either be updated personal information (address, phone number, etc.) or a summary of the patient’s diagnosis and treatment.

Data Patient’s personal information, treatment summary Stimulus User command issued by medical receptionist Response Confirmation that PRS has been updated

(21)

USE CASE 5 Buy Goods

Goal in Context Buyer issues request directly to our company, expects goods shipped and to be billed.

Scope & Level Company, Summary

Preconditions The company knows Buyer, their address, etc. Success End

Condition Buyer has goods, company have money for the goods.

Failed End Condition Company have not sent the goods, Buyer has not spent the money. Primary,

Secondary Actors Buyer, any agent (or computer) acting for the customer. Credit card company, bank, shipping service Trigger purchase request comes in.

Basic Events Flow Step Action

1 Buyer calls in with a purchase request

2 Company captures buyer’s name, address, requested goods, etc.

3 Company gives buyer information on goods, prices, delivery dates, etc.

4 Buyer signs for order.

5 Company creates order, ships order to buyer. 6 Company ships invoice to buyer.

7 Buyers pays invoice.

EXTENSIONS Step Alternative Flow (Branching Action)

3a Company is out of one of the ordered items: 3a1. Renegotiate order.

4a Buyer pays directly with credit card:

4a1. Take payment by credit card (use case 44) 7a Buyer returns goods:

7a. Handle returned goods (use case 105) Superordinates Manage customer relationship (use case 2) Subordinates (included use

cases)

Create order (use case 15)

Take payment by credit card (use case 44)

(22)
(23)
(24)
(25)
(26)

<<include>> and <<extend>>

An extend relationship specifies how the behavior of the extension use case can be inserted into the behavior defined for the base use case.

(27)
(28)

 Sequence diagrams in the UML are used to model the

interactions between the actors and the objects in a system

and the interactions between the objects themselves.

 A sequence diagram shows the sequence of interactions that

take place during a particular use case.

 The objects and actors involved are listed along the top of the

diagram, with a dotted line drawn vertically from these.

 Interactions between objects are indicated by annotated

arrows.

 The annotations on the arrows indicate the calls to the objects,

and their parameters.

 The rectangle on the dotted lines indicates the lifeline of the

object concerned

 You read the sequence of interactions from top to bottom.

(29)

ATM

(30)

Issue of electronic items sequence diagram

:Library User

Ecat: Catalog

Lookup

Issue Display

:Library Item Lib1:NetServer

Issue licence

Accept licence

Compress

(31)
(32)

Structural models

 Structural models of software display the organization

of a system in terms of the components that make up that system and their relationships.

 You create structural models of a system when you

(33)

Class diagrams

 Class diagrams are used when developing an

object-oriented system model to show the classes in a

system and the associations between these classes.

 An object class can be thought of as a general

definition of one kind of system object.

 When you are developing models, objects represent

something in the real world, such as a patient, a prescription, doctor, etc.

 An association is a link between classes that indicates

(34)

Nouns as objects

If a

customer

enters

a

store

with the

intention of

buying

a

toy

for a

child

,

then advice must

be available

within a

reasonable time concerning

the suitability of the toy for the

child

.

This will depend on the age range of the

child and the attributes of the toy. If the

toy is a

dangerous item

, then it is

(35)

UML classes and association

Show how many objects are involved in the association

That is, each patient has exactly one record and each record

(36)

UML classes and association

Teacher 1 teaches * Student

Tricycle 1 has 3 wheels

Eggbox 1 holds 12,24 Egg

One- to-many

One -to -three

(37)

Classes and associations in Bank

Bank 1 maintains 1 ATM

Customer 1 1…* Account 1 1…* has Debit card 1 1

Provide access to

ATM

transaction

performs

(38)
(39)

Generalization

Generalization is an everyday technique that

we use to manage complexity.

Rather than learn the detailed characteristics

of every entity that we experience, we place

these entities in more general classes

(animals, cars, houses, etc.) and learn the

characteristics of these classes.

This allows us to infer that different members

(40)

Generalization

 One class (the child class or subclass) can inherit

attributes and operations from another (the parent class or superclass). The parent class is more general than the child class.

 The lower-level classes are subclasses inherit the

attributes and operations from their superclasses. These lower-level classes then add more specific attributes and operations.

 The inheritance hierarchy doesn't have to end at two

(41)

Generalization example

Attributes: Weight, passenger capacity, fuel tank capacity, colour, registration number, engine

properties

Operation: startEngine(), stopEngine(), applyBrake(), accelerate()

Number of wheels

(42)
(43)
(44)

Library User class hierarchy

Name Address Phone Registration # Library user Register () De-register () Affiliation Reader

(45)

Aggregation

Aggregation is a "has a" association relationship

It is an association that represents a part-whole

or part-of relationship.

In UML, it is graphically represented as

a hollow diamond shape on the containing class

with a single line that connects it to the

(46)

Aggregation example

Pond Duck

(47)

Composition

The composition relationship is just

another form of the aggregation

relationship,

However in composition the part class

instance lifecycle is dependent on the

whole class's instance lifecycle.

Composition relationship is drawn like

(48)

Composition example

Person

Leg Hand

References

Related documents

Staffing Services Favorite Healthcare Staffing GNYHA- MM-018 08/31/17 Translation &amp; Interpretation Services Globo Language Solutions PP-SV-021 06/30/17 Translation

Newby indicated that he had no problem with the Department’s proposed language change.. O’Malley indicated that the language reflects the Department’s policy for a number

There is also a need to consider faculty engagement in terms of their daily practices of civic agency and how, through their own civic agency and behaviors, faculty can

The network adminis- trator could set local policies within the system architecture, which would alert them of suspect signatures that suddenly send an abnor- mally high number of

design. Phase two of the study determined the effectiveness of an online comprehensive FERPA training module as compared to an online simple notification of the FERPA

BALDWIN, Robert E. , The Inefficacy of Trade Policy. Princeton University, Inter- national Finance Section, Essays in International Finance, 150, December 1982. Weltwirt-

In this context, the implications of the LWRs utilization (in terms of resources availability, e.g. natu- ral uranium consumption, fuel cycle facilities, e.g. plant for

To capture the traditional spiritual power of the Bozhe agents that is highly revered and honored by the Sabat Bet Gurage peoples, sheyikh Budalla seemed to have