www.ddss.arch.tue.nl 7m822 software engineering: system models 14 september 2009
Post on 21-Dec-2015
219 views
TRANSCRIPT
www.ddss.arch.tue.nl
7M822
Software Engineering: System Models
Software Engineering: System Models
14 September 2009
www.ddss.arch.tue.nl
7M822
System modellingSystem modelling
• System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers
• Different models present the system from different perspectives
2
www.ddss.arch.tue.nl
7M822
Model typesModel types
• Data processing model showing how the data is processed at different stages
• Composition model showing how entities are composed of other entities
• Architectural model showing principal sub-systems• Classification model showing how entities have common
characteristics
3
www.ddss.arch.tue.nl
7M822
Analyses and design of ISAnalyses and design of IS
Basic techniques– Process orientation (processes, activities, functions)– Data orientation (data, entities, objects)
4
www.ddss.arch.tue.nl
7M822
Semantic data modelsSemantic data models
• Used to describe the logical structure of data processed by the system
• Entity-relation-attribute model sets out the entities in the system, the relationships between these entities and the entity attributes
• Widely used in database design. Can readily be implemented using relational databases
5
www.ddss.arch.tue.nl
7M822
Software design semantic modelSoftware design semantic model
Design
namedescriptionC-dateM-date
Link
nametype
Node
nametype
links
has-links
12
1 n
Label
nametexticon
has-labelshas-labels
1
n
1
n
has-linkshas-nodes is-a
1
n
1
n1
1
6
www.ddss.arch.tue.nl
7M822
Data dictionariesData dictionaries
• Data dictionaries are lists of all of the names used in the system models.
Descriptions of the entities, relationships and attributes are also included
• Advantages– Support name management and avoid duplication– Store of organisational knowledge linking analysis, design and
implementation
7
www.ddss.arch.tue.nl
7M822
Object models 1 of 2Object models 1 of 2
• Object models describe the system in terms of object classes
• An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object
• Various object models may be produced– Inheritance models– Aggregation models– Interaction models
9
www.ddss.arch.tue.nl
7M822
Object models 2 of 2Object models 2 of 2
• Natural ways of reflecting the real-world entities manipulated by the system
• More abstract entities are more difficult to model using this approach
• Object class identification is recognised as a difficult process requiring a deep understanding of the application domain
• Object classes reflecting domain entities are reusable across systems
10
www.ddss.arch.tue.nl
7M822
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
Book
YearIssue
MagazineDirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
Library class hierarchyLibrary class hierarchy
11
www.ddss.arch.tue.nl
7M822
Inheritance modelsInheritance models
• Organise the domain object classes into a hierarchy• Classes at the top of the hierarchy reflect the common
features of all classes• Object classes inherit their attributes and services from
one or more super-classes. these may then be specialised as necessary
• Class hierarchy design is a difficult process if duplication in different branches is to be avoided
12
www.ddss.arch.tue.nl
7M822
NameAddressPhoneRegistration #
Library user
Register ()De-register ()
Affiliation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
User class hierarchy
13
www.ddss.arch.tue.nl
7M822
NameAddressPhoneRegistration #
Library user
Register ()De-register ()
Affiliation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
User class hierarchy
14
www.ddss.arch.tue.nl
7M822
Multiple inheritanceMultiple inheritance
• Rather than inheriting the attributes and services from a single parent class, a system which supports multiple inheritance allows object classes to inherit from several super-classes
• Can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics
• Makes class hierarchy reorganisation more complex
15
www.ddss.arch.tue.nl
7M822
# Tapes
Talking book
AuthorEditionPublication dateISBN
Book
SpeakerDurationRecording date
Voice recording
16
www.ddss.arch.tue.nl
7M822
Object aggregationObject aggregation
• Aggregation model shows how classes which are collections are composed of other classes
• Similar to the part-of relationship in semantic data models
17
www.ddss.arch.tue.nl
7M822
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#Problems Description
Course titleNumberYearInstructor
Study pack
What’s wrong?
18
www.ddss.arch.tue.nl
7M822
SummarySummary
• Semantic data models describe the logical structure of the data; these models show system entities, their attributes and the relationships in which they participate.
• Object models describe the logical system entities and their classification and aggregation.
19