• No results found

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

Stan Kurkovsky

Software Engineering Software Engineering

System Models System Models

Based on Software Engineering, 7

th

Edition by Ian Sommerville

Objectives Objectives

• • To explain why the context of a system should be modeled as part To explain why the context of a system should be modeled as part of the of the RE process

RE process

• To describe behavioral modeling, data modeling and object modeli To describe behavioral modeling, data modeling and object modeling ng

• • To introduce some of the notations used in the Unified Modeling To introduce some of the notations used in the Unified Modeling Language (UML)

Language (UML)

• To show how CASE workbenches support system modeling To show how CASE workbenches support system modeling

(2)

Stan Kurkovsky

System modeling System modeling

• System modeling helps the analyst to understand the functionalit System modeling helps the analyst to understand the functionality of the y of the system and models are used to communicate with customers

system and models are used to communicate with customers

• • Different models present the system from different perspectives Different models present the system from different perspectives

• External perspective showing the system’ External perspective showing the system ’s context or environment s context or environment

• • Behavioral perspective showing the behavior of the system Behavioral perspective showing the behavior of the system

• Structural perspective showing the system or data architecture Structural perspective showing the system or data architecture

• • Model types Model types

• • Data processing model showing how the data is processed at different stages Data processing model showing how the data is processed at different stages

• Composition model Composition model showing how entities are composed of other entities showing how entities are composed of other entities

• • Architectural model Architectural model showing principal sub showing principal sub- -systems systems

• Classification model Classification model showing how entities have common characteristics showing how entities have common characteristics

• • Stimulus/response model showing the system Stimulus/response model showing the system’ ’s reaction to events s reaction to events

Context models Context models

• • Context models are used to illustrate the operational context of Context models are used to illustrate the operational context of a system a system - - they show what lies outside the system boundaries. they show what lies outside the system boundaries.

• Social and organizational concerns may affect the decision on wh Social and organizational concerns may affect the decision on where to ere to position system boundaries.

position system boundaries.

• • Architectural models show the system and its relationship with o Architectural models show the system and its relationship with other ther systems.

systems.

(3)

Stan Kurkovsky

Process models Process models

• Process models show the overall process and the processes that a Process models show the overall process and the processes that are re supported by the system.

supported by the system.

• • Data flow models may be used to show the processes and the flow Data flow models may be used to show the processes and the flow of of information from one process to another.

information from one process to another.

Behavioral models Behavioral models

• • Behavioral models are used to describe the overall behavior of a Behavioral models are used to describe the overall behavior of a system. system.

• Two types of behavioral model are: Two types of behavioral model are:

• • Data processing models that show how data is processed as it moves through Data processing models that show how data is processed as it mov es through the system;

the system;

• State machine models that show the systems response to events. State machine models that show the systems response to events.

• These models show different perspectives so both of them are req These models show different perspectives so both of them are required to uired to describe the system

describe the system’ ’s behavior. s behavior.

(4)

Stan Kurkovsky

Data- Data -processing models processing models

• Data flow diagrams (DFDs) may be used to model the system Data flow diagrams (DFDs) may be used to model the system’ ’s data s data processing.

processing.

• • These show the processing steps as data flows through a system. These show the processing steps as data flows through a system.

• DFDs are an intrinsic part of many analysis methods. DFDs are an intrinsic part of many analysis methods.

• Simple and intuitive notation that customers can understand. Simple and intuitive notation that customers can understand.

• • Show end Show end- -to to- -end processing end processing of data.

of data.

• DFDs model DFDs model the system the system

from a functional perspective.

from a functional perspective.

• • Tracking and documenting how the data Tracking and documenting how the data associated with a process is helpful to associated with a process is helpful to

develop an overall understanding of the system.

develop an overall understanding of the system.

• Data flow diagrams may also be used in Data flow diagrams may also be used in showing the data exchange between a showing the data exchange between a system and other systems in its environment.

system and other systems in its environment.

State machine models State machine models

• • These model the behavior of the system in response to external a These model the behavior of the system in response to external and nd internal events.

internal events.

• They show the system They show the system’ ’s responses to stimuli so are often used for s responses to stimuli so are often used for modeling real

modeling real- - time systems. time systems.

• • State machine models show system states as nodes and events as a State machine models show system states as nodes and events as arcs rcs between these nodes. When an event occurs, the system moves from between these nodes. When an event occurs, the system moves from one state to another.

one state to another.

• Statecharts Statecharts

• • An integral part of the UML and are used to represent state machine models. An integral part of the UML and are used to represent state mach ine models.

• Allow the decomposition of a model into sub- Allow the decomposition of a model into sub -models (see following slide). models (see following slide).

• • A brief description of the actions is included following the ‘ A brief description of the actions is included following the ‘do do’ ’ in each state. in each state.

• Can be complemented by tables describing the states and the stimuli. Can be complemented by tables describing the states and the stim uli.

(5)

Stan Kurkovsky

Microwave oven

Microwave oven – state model state model

Semantic data models Semantic data models

• • Used to describe the logical structure of data processed by the Used to describe the logical structure of data processed by the system. system.

• An entity An entity- -relation relation- -attribute model sets out the entities in the system, the attribute model sets out the entities in the system, the relationships between these entities and the entity attributes

relationships between these entities and the entity attributes

• • Widely used in database design. Can readily be implemented using Widely used in database design. Can readily be implemented using relational databases.

relational databases.

• No specific notation provided in the UML but objects and associa No specific notation provided in the UML but objects and associations can tions can be used.

be used.

(6)

Stan Kurkovsky

Data dictionaries Data dictionaries

• Data dictionaries are lists of all of the names used in the syst Data dictionaries are lists of all of the names used in the system models. em models.

Descriptions of the entities, relationships and attributes are a

Descriptions of the entities, relationships and attributes are also included. lso included.

• • Advantages Advantages

• Support name management and avoid duplication; Support name management and avoid duplication;

• • Store of organizational knowledge linking analysis, design and Store of organizational knowledge linking analysis, design and implementation;

implementation;

• • Many CASE workbenches support data dictionaries. Many CASE workbenches support data dictionaries.

Name Description Type Date

Article Details of the published article that may be ordered by people using LIBSYS. Entity 30.12.2002 authors The names of the authors of the article who may be due a share of the fee. Attribute 30.12.2002 Buyer The person or organisation that orders a copy of the article. Entity 30.12.2002 fee-payable-to A 1:1 relationship between Article and the Copyright Agency who should be

paid the copyright fee. Relation 29.12.2002

Address (Buyer)

The address of the buyer. This is used to any paper billing information that is

required. Attribute 31.12.2002

Object models Object models

• • Object models describe the system in terms of object classes and Object models describe the system in terms of object classes and their their associations.

associations.

• An object class is an abstraction over a set of objects with com An object class is an abstraction over a set of objects with common mon attributes and the services (operations) provided by each object attributes and the services (operations) provided by each object. .

• • Various object models may be produced Various object models may be produced

• Inheritance models; Inheritance models;

• • Aggregation models; Aggregation models;

• Interaction models. Interaction models.

• • Natural ways of reflecting the real Natural ways of reflecting the real- -world entities manipulated by the world entities manipulated by the system

system

• • More abstract entities are more difficult to model using this ap More abstract entities are more difficult to model using this approach proach

• Object class identification is recognized as a difficult process Object class identification is recognized as a difficult process requiring a requiring a deep understanding of the application domain

deep understanding of the application domain

• • Object classes reflecting domain entities are reusable across sy Object classes reflecting domain entities are reusable across systems stems

(7)

Stan Kurkovsky

Inheritance models Inheritance models

• Organize the domain object classes into a hierarchy. Organize the domain object classes into a hierarchy.

• • Classes at the top of the hierarchy reflect the common features Classes at the top of the hierarchy reflect the common features of all of all classes.

classes.

• Object classes inherit their attributes and services from one or Object classes inherit their attributes and services from one or more more super

super- -classes. these may then be specialized as necessary. classes. these may then be specialized as necessary.

• Class hierarchy design can be a difficult process if duplication Class hierarchy design can be a difficult process if duplication in different in different branches is to be avoided.

branches is to be avoided.

Object models and the UML Object models and the UML

• • The UML is a standard representation devised by the developers o The UML is a standard representation devised by the developers of widely f widely used object

used object- -oriented analysis and design methods. oriented analysis and design methods.

• It has become an effective standard for object It has become an effective standard for object- -oriented modeling. oriented modeling.

• • Notation Notation

• Object classes are rectangles with the name at the top, attributes in the Object classes are rectangles with the name at the top, attribut es in the middle section and operations in the bottom section;

middle section and operations in the bottom section;

• • Relationships between object classes (known as associations) are Relationships between object classes (known as associations) are shown as shown as lines linking objects;

lines linking objects;

• • Inheritance is referred to as generalization and is shown ‘ Inheritance is referred to as generalization and is shown ‘upwards upwards’ ’ rather than rather than

‘downwards ‘ downwards’ ’ in a hierarchy. in a hierarchy.

(8)

Stan Kurkovsky

UML class diagrams UML class diagrams

Multiple inheritance Multiple inheritance

• • Rather than inheriting the attributes and services from a single Rather than inheriting the attributes and services from a single parent parent class, a system which supports multiple inheritance allows objec

class, a system which supports multiple inheritance allows object classes t classes to inherit from several super

to inherit from several super- -classes. classes.

• This can lead to semantic conflicts where attributes/services wi This can lead to semantic conflicts where attributes/services with the th the same name in different super

same name in different super- -classes have different semantics. classes have different semantics.

• • Multiple inheritance makes class hierarchy reorganization more c Multiple inheritance makes class hierarchy reorganization more complex. omplex.

Author Edition Publication date ISBN

Book

Speaker Duration Recording date

Voice recording

(9)

Stan Kurkovsky

Object aggregation Object aggregation

• An aggregation model shows how classes that are collections are An aggregation model shows how classes that are collections are composed of other classes.

composed of other classes.

• • Aggregation models are similar to the part Aggregation models are similar to the part- -of relationship in semantic of relationship in semantic data models.

data models.

Object behavior modeling Object behavior modeling

• • A behavioral model shows the interactions between objects to pro A behavioral model shows the interactions between objects to produce duce some particular system behavior that is specified as a use

some particular system behavior that is specified as a use- -case. case.

• Sequence diagrams (or collaboration diagrams) in the UML are use Sequence diagrams (or collaboration diagrams) in the UML are used to d to model interaction between objects.

model interaction between objects.

(10)

Stan Kurkovsky

Structured methods Structured methods

• Structured methods incorporate system modeling as an inherent pa Structured methods incorporate system modeling as an inherent part of rt of the method.

the method.

• • Methods define a set of models, a process for deriving these mod Methods define a set of models, a process for deriving these models and els and rules and guidelines that should apply to the models.

rules and guidelines that should apply to the models.

• CASE tools support system modeling as part of a structured metho CASE tools support system modeling as part of a structured method. d.

• • Weaknesses Weaknesses

• • They do not model non- They do not model non -functional system requirements. functional system requirements.

• They do not usually include information about whether a method is They do not usually include information about whether a method i s appropriate for a given problem.

appropriate for a given problem.

• The may produce too much documentation. The may produce too much documentation.

• • The system models are sometimes too detailed and difficult for users to The system models are sometimes too detailed and difficult for u sers to understand.

understand.

CASE workbenches CASE workbenches

• • A coherent set of tools that is A coherent set of tools that is designed to support related designed to support related software process activities such software process activities such as analysis, design or testing.

as analysis, design or testing.

• Analysis and design workbenches Analysis and design workbenches support system modeling during support system modeling during both requirements engineering and both requirements engineering and system design.

system design.

• • These workbenches may support These workbenches may support a specific design method or may a specific design method or may

provide support for a creating several different types of system provide support for a creating several different types of system model. model.

• • Workbench components Workbench components

• Diagram editors Diagram editors

• • Model analysis and checking tools Model analysis and checking tools

• Repository and associated query Repository and associated query

• Report definition and generation Report definition and generation tools

tools

• • Forms definition tools Forms definition tools

(11)

Stan Kurkovsky

Key points Key points

• A model is an abstract system view. Complementary types of model A model is an abstract system view. Complementary types of model provide different system information.

provide different system information.

• • Context models show the position of a system in its environment Context models show the position of a system in its environment with with other systems and processes.

other systems and processes.

• Data flow models may be used to model the data processing in a s Data flow models may be used to model the data processing in a system. ystem.

• State machine models model the system State machine models model the system’ ’s behavior in response to s behavior in response to internal or external events

internal or external events

• • Semantic data models describe the logical structure of data whic Semantic data models describe the logical structure of data which is h is imported to or exported by the systems.

imported to or exported by the systems.

• Object models describe logical system entities, their classifica Object models describe logical system entities, their classification and tion and aggregation.

aggregation.

• • Sequence models show the interactions between actors and the sys Sequence models show the interactions between actors and the system tem objects that they use.

objects that they use.

• Structured methods provide a framework for developing system mod Structured methods provide a framework for developing system models. els.

References

Related documents

Data yang diambil yaitu usia, agama, tingkat pendidikan, tempat tinggal, tingkat pendapatkan yang dikelompokkan berdasarkan upah minimum regional NTT, sumber informasi

The semantics rules defined in Definition 9 are used to perform consistency check from context diagram to level 0 data flow diagram.. The rules are embedded inside the tool in

When it comes to conveying how information data flows through systems (and how that data is transformed in the process), data flow diagrams (DFDs) are the method of choice

• • System engineering is concerned with all aspects of computer- System engineering is concerned with all aspects of computer -based systems based systems development

• The objective of path testing is to ensure that the set of test The objective of path testing is to ensure that the set of test cases is cases is such that each path through

If agent 1 and 2 use the ontology 1 respectively 2 of Section 2, agent 1 might formulate the following utterance: person.has.christian name:Archibald person.has.family

National Council of SARA and to their home state to participate in SARA. Number of inquiries from out-of-state institutions will be reduced. Does not compromise South Carolina’s

[r]