SlideShare uma empresa Scribd logo
1 de 93
Baixar para ler offline
Unit-5
A hi l D iArchitectural Design
Topics covered
Architectural design decisions
System organisation
Decomposition stylesDecomposition styles
Control styles
Reference architectures
Software architecture
The design process for identifying the sub-
systems making up a system and the
framework for sub-system control andy
communication is architectural design.
The output of this design process is a
description of the software architecture.p
Architectural design
An early stage of the system design process.
R t th li k b t ifi ti dRepresents the link between specification and
design processes.
It involves identifying major system components
and their communications.
Advantages of explicit architecture
Stakeholder communication
• Architecture may be used as a focus of discussion by• Architecture may be used as a focus of discussion by
system stakeholders.
S t l iSystem analysis
• Means that analysis of whether the system can meet its
non-functional requirements is possible.
Large-scale reuse
• The architecture may be reusable across a range of
systems.
Architecture and system characteristics
Performance
• Localise critical operations and minimise communications.
SecuritySecurity
• Use a layered architecture with critical assets in the inner
layers.
S f tSafety
• Localise safety-critical features in a small number of sub-
systems.
A il biliAvailability
• Include redundant components and mechanisms for fault
tolerance.
Maintainability
• Use fine-grain, replaceable components.
System structuring
Concerned with decomposing the system into
interacting sub systemsinteracting sub-systems.
The architectural design is normally expressed as a
blockblock diagramdiagram presenting an overview of the
system structure.
More specific models showing how sub-systems
share data are distributed and interface with eachshare data, are distributed and interface with each
other may also be developed.
Packing robot control system
Architectural design decisions
Architectural design is a creativecreative processprocess
so the process differs depending on the type
of system being developed.y g p
However, a number of common decisions
span all design processes.
Architectural design decisions
Is there a generic application architecture that can be used?
How will the system be distributed?How will the system be distributed?
What architectural styles are appropriate?
What approach will be used to structure the system?What approach will be used to structure the system?
How will the system be decomposed into modules?
What control strategy should be used?What control strategy should be used?
How will the architectural design be evaluated?
How should the architecture be documented?
Architectural models
Used to document an architectural design.
Static structural model that shows the major systemStatic structural model that shows the major system
components.
Dynamic process model that shows the process structure ofDynamic process model that shows the process structure of
the system.
Interface model that defines sub-system interfaces.Interface model that defines sub system interfaces.
Relationships model such as a data-flow model that shows
sub-system relationships.sub system relationships.
Distribution model that shows how sub-systems are
distributed across computers.distributed across computers.
System organization
Reflects the basic strategy that is used to
structure a system.
Three organizational styles are widely used:Three organizational styles are widely used:
• A shared datadata repositoryrepository style;
• A shared servicesservices andand serversservers style;
• An abstract machine or layeredlayered stylestyle.yy yy
The repository (data repository )data repository )model
Sub-systems must exchange dataexchange data. This may be
done in two ways:done in two ways:
• Shared data is held in a central database or repository
and ma be accessed b all s b s stemsand may be accessed by all sub-systems;
• Each sub-system maintains its own databaseown database and
passes data explicitly to other sub systemspasses data explicitly to other sub-systems.
When large amounts of data are to be shared, the
repository model of sharing is most commonly used.
Repository model characteristics
Advantages
• Efficient way to share large amounts of data;
• Sub-systems need not be concerned with how data is
produced Centralised management e.g. backup, security, etc.
• Sharing model is published as the repository schema.
Disadvantagesg
• Sub-systems must agree on a repository data model.
Inevitably a compromise;Inevitably a compromise;
• Data evolution is difficult and expensive;
• No scope for specific management policies;• No scope for specific management policies;
Client-server (services and servers)services and servers) model
Distributed system model which shows how data
and processing is distributed across a range ofand processing is distributed across a range of
components.
Set of stand-alone servers which provide specificspecific
servicesservices such as printing, data management, etc.
Set of clients which call on these services.
Network which allows clients to access serversNetwork which allows clients to access servers.
Film and picture library
Client-server characteristics
Advantages
• Distribution of data is straightforward;g
• Makes effective use of networked systems. May require
cheaper hardware;
• Easy to add new servers or upgrade existing servers.
DisadvantagesDisadvantages
• Data interchange may be inefficient;
R d d t t i h• Redundant management in each server;
Abstract machine (layered) model
Used to model the interfacing of sub-systems.
O i th t i t t f l (Organises the system into a set of layers (or
abstract machines) each of which provide a set of
services.
Supports the incremental development of sub-pp p
systems in different layers. When a layer interface
changes only the adjacent layer is affectedchanges, only the adjacent layer is affected.
Layer model
Configuration Management System layerConfiguration Management System layer
Object Management System layerObject Management System layer
O SOperating System Layer
Database System Layer
CASE toolset architecture
Design CodeDesign
editor
Code
generator
Project
repository
Design
translator
Program
editor
Design Repor tDesign
analyser
Repor t
generator
Modular decomposition
Another structural level where sub-systems are
decomposed into modulesdecomposed into modules.
Two modular decomposition models covered
• An object model where the system is decomposed into
interacting object;
• A pipeline or data-flow model where the system is
decomposed into functionalfunctional modulesmodules which transform
inputs to outputs.
If possible, decisions about concurrency should be
delayed until modules are implemented.
Object models
Structure the system into a set of loosely coupled
objects with well defined interfacesobjects with well-defined interfaces.
Object-oriented decomposition is concerned with
identifying object classes, their attributes and
operations.
When implemented, objects are created from these
classes and some control model used to coordinateclasses and some control model used to coordinate
object operations.
Invoice processing system
Object model advantages
Objects are loosely coupled so their implementation
can be modified without affecting other objectscan be modified without affecting other objects.
The objects may reflect real-world entities.
OO implementation languages are widely used.
Function-oriented pipelining
Functional transformations process their inputs to
produce outputsproduce outputs.
May be referred to as a pipe and filter model (as in
UNIX shell).
Variants of this approach are very common. Whenpp y
transformations are sequential, this is a batch
sequential model which is extensively used in datasequential model which is extensively used in data
processing systems.
Not really suitable for interactive systems.
Invoice processing system
Pipeline model advantages
Supports transformation reuse.
I t iti i ti f t k h ld i tiIntuitive organisation for stakeholder communication.
Easy to add new transformations.
Relatively simple to implement as either a
concurrent or sequential system.concurrent or sequential system.
However, requires a common format for data
f l h i li d diffi ltransfer along the pipeline and difficult to support
event-based interaction.
Control stylesControl styles
Are concerned with the controlcontrol flowflow between sub-
systems.y
Centralised control
• One sub-system has overall responsibility for
controlcontrol and startsstarts and stopsstops other sub-systems.
Event-based control
• Each sub-system can respond to externallyexternallyEach sub system can respond to externallyexternally
generatedgenerated eventsevents from other sub-systems or the
t ’ i tsystem’s environment.
Centralised control
A control sub-system takes responsibility for
managingmanaging thethe executionexecution of other sub-systemsmanagingmanaging thethe executionexecution of other sub systems.
CallCall--returnreturn modelmodel
• Top-down subroutine model where control starts at the
top of a subroutine hierarchy and moves downwards.
A li bl t ti l tApplicable to sequential systems.
ManagerManager modelmodel
• Applicable to concurrent systems. One system
component controls the stopping, starting and
coordination of other system processes.
Call-return model
Real-time system control(Manager model)
ActuatorSensor
processesprocesses
System
controller
User FaultComputation
inter face handler
p
processes
Event-driven systems
Driven by externallyexternally generatedgenerated eventsevents where the timing of the
event is out with the control of the sub-systems which process
the event.
Two principal event-driven models
•• BroadcastBroadcast modelsmodels. An event is broadcast to all sub-
systems. Any sub-system which can handle the event
may do so;
•• InterruptInterrupt--drivendriven modelsmodels. Used in real-time systems
where interrupts are detected by an interrupt handler and
passed to some other component for processing.
Broadcast model
Effective in integrating sub-systems on different computers in a
network.
Sub-systems register an interest in specific events. When these
occur, control is transferred to the sub-system which cany
handle the event.
Selective broadcasting
S b S b S b S bSub-system
1
Sub-system
2
Sub-system
3
Sub-system
4
Event and message handler
Interrupt-driven systems
Used in real-time systems where fast response to an
event is essentialevent is essential.
There are known interrupt types with a handler
defined for each type.
Each type is associated with a memory location andyp y
a hardware switch causes transfer to its handler.
Allows fast response but complex to program andAllows fast response but complex to program and
difficult to validate.
Interrupt-driven control
Reference architectures
Architectural models may be specific to some application
domain.
Two types of domain-specific model
•• GenericGeneric modelsmodels which are abstractions from a number ofGenericGeneric modelsmodels which are abstractions from a number of
real systems and which encapsulate the principal
characteristics of these systems.
•• ReferenceReference modelsmodels which are more abstract, idealised
model. Provide a means of information about that class of
system and of comparing different architectures.
Generic models are usually bottom-up models; Reference
models are top-down models.
Reference architectures
May be used as a basis for system implementation
or to compare different systemsor to compare different systems.
OSI model is a layered model for communication
systems.
OSI reference model
Case reference model
Data repository services
• Storage and management of data items.
Data integration services
• Managing groups of entitiesManaging groups of entities.
Task management services
• Definition and enaction of process models.
Messaging services
• tool-environment communication.
User interface services
• User interface development.
The ECMA reference model
Object oriented DesignObject-oriented Design
Topics covered
Objects and object classes
An object-oriented design process
Design evolutionDesign evolution
Object-oriented development
Object-oriented analysis, design and programming are related
but distinct.
OOA is concerned with developing an object model of the
application domain.pp
OOD is concerned with developing an object-oriented system
model to implement requirements.
OOP is concerned with realising an OOD using an OO
programming language such as Java or C++.
Characteristics of OOD
Objects are abstractions of real-world or system
entities and manage themselves.g
Objects are independent and encapsulate state and
representation informationrepresentation information.
System functionality is expressed in terms of object
services.
Shared data areas are eliminated. Objectsj
communicate by message passing.
Obj t b di t ib t d d tObjects may be distributed and may execute
sequentially or in parallel.
Interacting objects
Advantages of OOD
Easier maintenance. Objects may be
understood as stand alone entitiesunderstood as stand-alone entities.
Objects are potentially reusable components.
For some systems, there may be an obvious
mapping from real world entities to systempp g y
objects.
Objects and object classes
Objects are entities in a software system which
represent instances of real world and systemrepresent instances of real-world and system
entities.
Object classes are templates for objects. They may
be used to create objects.
Object classes may inherit attributes and services
from other object classesfrom other object classes.
Objects and object classes
An object is an entity that has a state and a defined set of
operations which operate on that state The state is represented asoperations which operate on that state. The state is represented as
a set of object attributes. The operations associated with the object
provide services to other objects (clients) which request theseprovide services to other objects (clients) which request these
services when some computation is required.
Objects are created according to some object class
definition. An object class definition serves as a template for objects.
It includes declarations of all the attributes and services which
should be associated with an object of that class.
The Unified Modeling Language
Several different notations for describing object-
oriented designs were proposed in the 1980s andoriented designs were proposed in the 1980s and
1990s.
The Unified Modeling Language is an integration of
these notations.
It describes notations for a number of different
models that may be produced during OO analysisy p g y
and design.
It i d f t t d d f OO d lliIt is now a de facto standard for OO modelling.
Employee object class (UML)
Object communication
Conceptually, objects communicate by
message passingmessage passing.
Messages
• The name of the service requested by the calling object;
• Copies of the information required to execute the service
and the name of a holder for the result of the service.
In practice, messages are often implemented
by procedure calls
• Name = procedure name;
• Information = parameter list.
Message examples
// Call a method associated with a buffer
// object that returns the next valuej
// in the buffer
v = circularBuffer.Get () ;
// Call the method associated with a
// th t t bj t th t t th// thermostat object that sets the
// temperature to be maintained
thermostat setTemp (20) ;thermostat.setTemp (20) ;
Generalisation and inheritance
Objects are members of classes that define
attribute types and operations.yp p
Classes may be arranged in a class hierarchy
where one class (a super-class) is a generalisation of one or( p ) g
more other classes (sub-classes).
A sub-class inherits the attributes and
operations from its super class and may add
new methods or attributes of its own.
Generalisation in the UML is implemented as inheritance in OO
programming languages.
A generalisation hierarchy
Advantages of inheritance
It is an abstraction mechanism which may be used
to classify entitiesto classify entities.
It is a reuse mechanism at both the design and the
programming level.
The inheritance graph is a source of organisationalg p g
knowledge about domains and systems.
Problems with inheritance
Object classes are not self-contained. they cannot
be understood without reference to their superbe understood without reference to their super-
classes.
Designers have a tendency to reuse the inheritance
graph created during analysis. Can lead to
significant inefficiency.
The inheritance graphs of analysis design andThe inheritance graphs of analysis, design and
implementation have different functions and should
b t l i t i dbe separately maintained.
UML associations
Objects and object classes participate in relationships with
other objects and object classes.j j
In the UML, a generalised relationship is indicated by an
association.
Associations may be annotated with information that describes
the association.
Associations are general but may indicate that an attribute of
an object is an associated object or that a method relies on an
associated object.
An association model
Concurrent objects
The nature of objects as self-contained entities
make them suitable for concurrentmake them suitable for concurrent
implementation.
The message-passing model of object
communication can be implemented directly if
objects are running on separate processors in a
distributed system.y
Servers and active objects
Servers.
• The object is implemented as a parallel process (server)• The object is implemented as a parallel process (server)
with entry points corresponding to object operations. If no
calls are made to it the object suspends itself and waitscalls are made to it, the object suspends itself and waits
for further requests for service.
Active objectsActive objects
• Objects are implemented as parallel processes and the
i t l bj t t t b h d b th bj t it lfinternal object state may be changed by the object itself
and not simply by external calls.
Active transponder object
Active objects may have their attributes modified by
operations but may also update them autonomouslyoperations but may also update them autonomously
using internal operations.
A Transponder object broadcasts an aircraft’s
position. The position may be updated using a
satellite positioning system. The object periodically
update the position by triangulation from satellites.p p y g
An active transponder object
class Transponder extends Thread {
Position currentPosition ;
Coords c1, c2 ;
Satellite sat1, sat2 ;
Navigator theNavigator ;
public Position givePosition ()public Position givePosition ()
{
return currentPosition ;
}
public void run ()p ()
{
while (true)
{
c1 = sat1.position () ;
c2 = sat2.position () ;
currentPosition = theNavigator.compute (c1, c2) ;
}
}
} //Transponder} //Transponder
Java threads
Threads in Java are a simple construct for
implementing concurrent objectsimplementing concurrent objects.
Threads must include a method called run() and this
is started up by the Java run-time system.
Active objects typically include an infinite loop soj yp y p
that they are always carrying out the computation.
An object-oriented design process
Process stages
• Define the context and modes of use of the system;
• Design the system architecture;Design the system architecture;
• Identify the principal system objects;
• Develop design models;• Develop design models;
• Specify object interfaces.
Weather map system description
A weather mapping system is required to generate weather maps on a
regular basis using data collected from remote, unattended weather stations
and other datadata sourcessources such as weather observersobservers,, balloonsballoons andand satellitessatellites.
Weather stations transmit their data to the area computer in response to a
request from that machine.
The area computer system validates the collectedcollected datadata andand integratesintegrates it with
the data from different sources. The integrated data is archived and, using
data from this archivearchive andand aa digitiseddigitised map database a set of local weather
i t d M b i t d f di t ib ti i lmaps is created. Maps may be printed for distribution on a special-purpose
map printer or may be displayed in a number of different formats.
System context and models of use
Develop an understanding of the relationships
between the software being designeddesigned and its
externalexternal environmentenvironment
System contextSystem context
• A staticstatic modelmodel that describes other systems in the
environment Use a subsystemsubsystem modelmodel to show otherenvironment. Use a subsystemsubsystem modelmodel to show other
systems.
M d l f tModel of system use
• A dynamicdynamic modelmodel that describes how the system
interacts with its environment.
Layered architecture
Data display layer where objects are
concerned with preparing and
«subsystem»
Data display
D t hi i l h bj t
concerned with preparing and
presenting the data in a human-
readable form
«subsystem»
Data archiving
Data archiving layer where objects
are concerned with storing the data
for future processing
«subsystem»
Data processing
Data processing layer where objects
are concerned with checking and
integ rating the collected data
«subsystem»
Data collection
Data collection layer where objects
are concerned with acquiring data
from remote sources
Subsystems in the weather mapping system
«subsystem»
Data collection «subsystem»
Data display
User
interface
p y
Satellite
Comms
Observer
User
interface
Map
display
Weather
station Balloon
Map
Map
printer
Data
t
«subsystem»
Data processing
«subsystem»
Data archiving
Data
storageData Data storage
Map store Data store
storageData
checking
Data
integration
Use-case models
Use-case models are used to represent each
interaction with the systeminteraction with the system.
A use-case model shows the systemsystem featuresfeatures as
ellipsesellipses and the interacting entity as a stickstick figure.
Use-cases for the weather station
Architectural design
Once interactions between the system and its
environment have been understood you use thisenvironment have been understood, you use this
information for designing the system architecture.
A layered architecture as discussed earlier
appropriate for the weather station
• Interface layer for handling communications;
• Data collection layer for managing instruments;
• Instruments layer for collecting data.
Weather station architecture
Object identification
Identifying objects (or object classes) is the most
difficult part of object oriented designdifficult part of object oriented design.
There is no 'magic formula' for object identification. It
relies on the skill,skill, experienceexperience
andand domaindomain knowledgeknowledge ofof systemsystem designersdesigners..
Object identification is an iterative process.
Approaches to identification
Use a grammatical approach based on a natural
language description of the system (used in Hoodlanguage description of the system (used in Hood
OOD method).
Base the identification on tangible things in the
application domain.
Use a behavioural approach and identify objects
based on what participates in what behaviourbased on what participates in what behaviour.
Use a scenarioscenario--basedbased analysis. The objects,
attributes and methods in each scenario are
identified.
Weather station description
A weather station is a package of software controlled instruments which collects
data performs some data processing and transmits this data for furtherdata, performs some data processing and transmits this data for further
processing. The instruments include air and ground thermometers, an
anemometer, a wind vane, a barometer and a rain gauge. Data is collected, , g g
periodically.
When a command is issued to transmit the weather data, the weather station
processes and summarises the collected data. The summarised data is
transmitted to the mapping computer when a request is received.
Weather station object classes
Ground thermometer, Anemometer, Barometer
• Application domain objects that are ‘hardware’ objects• Application domain objects that are hardware objects
related to the instruments in the system.
W th t tiWeather station
• The basic interface of the weather station to its
environment. It therefore reflects the interactions
identified in the use-case model.
Weather data
• Encapsulates the summarised data from the instruments.
Weather station object classes
Design models
Design models show the objects and object classes
and relationships between these entitiesand relationships between these entities.
Static models describe the static structure of the
system in terms of object classes and relationships.
Dynamic models describe the dynamic interactionsy y
between objects.
Examples of design models
Sub-system models that show logical groupings of objects into
coherent subsystems.y
Sequence models that show the sequence of object
interactions.
State machine models that show how individual objects change
their state in response to events.
Other models include use-case models, aggregation models,
generalisation models, etc.
Subsystem models
Shows how the design is organised into logically
related groups of objectsrelated groups of objects.
In the UML, these are shown using packages - an
encapsulation construct. This is a logical model. The
actual organisation of objects in the system may be
different.
Weather station subsystems
Sequence models
Sequence models show the sequence of object
interactions that take placeinteractions that take place
• Objects are arranged horizontally across the top;
• Time is represented vertically so models are read top to
bottom;
• Interactions are represented by labelled arrows, Different
styles of arrow represent different types of interaction;
• A thin rectangle in an object lifeline represents the time
when the object is the controlling object in the system.
Data collection sequence
Statecharts
Show how objects respond to different service
requests and the state transitions triggered by these
requestsrequests
• If object state is Shutdown then it responds to a Startup()
message;
• In the waiting state the object is waiting for furtherIn the waiting state the object is waiting for further
messages;
• If reportWeather () then system moves to summarising
state;
• If calibrate () the system moves to a calibrating state;
• A collecting state is entered when a clock signal is
received.
Weather station state diagram
Object interface specification
Object interfaces have to be specified so that the objects and
other components can be designed in parallel.p g p
Designers should avoid designing the interface representation
but should hide this in the object itself.j
Objects may have several interfaces which are viewpoints on
the methods provided.
The UML uses class diagrams for interface specification but
Java may also be used.
Weather station interface
interface WeatherStation {
public void WeatherStation () ;public void WeatherStation () ;
public void startup () ;
public void startup (Instrument i) ;
public void shutdown () ;
public void shutdown (Instrument i) ;
public void reportWeather ( ) ;
public void test () ;
public void test ( Instrument i ) ;
public void calibrate ( Instrument i) ;
public int getID () ;
} //WeatherStation
Design evolution
Hiding information inside objects means that
changes made to an object do not affect otherchanges made to an object do not affect other
objects in an unpredictable way.
Assume pollution monitoring facilities are to beAssume pollution monitoring facilities are to be
added to weather stations. These sample the
air and compute the amount of different
pollutants in the atmosphere.
Pollution readings are transmitted with weather
data.
Changes required
Add an object class called Air quality as part
of WeatherStation.
Add an operation reportAirQuality to
WeatherStation. Modify the control software
to collect pollution readings.
Add objects representing pollution monitoring
instruments.
Pollution monitoring
Chapter Review Question
1. Explain different activities involved in system architectural design ?
2. Discuss the different types of control models in detail.
3. Write short note on
i. repository model ii.abstract model iii. Modular decomposition iv. Generic
d lmodels
4. Explain client server model and its advantages and disadvantages.
5. What are the important stages or process of object-oriented development? Explain.p g p f j p p
6. Discuss advantages and disadvantages of object-oriented design.
7. Differentiate between object and object classes giving suitable examples.
8. Write short notes on.
i. Sequence model ii. Use-Case model iii. State transition model

Mais conteúdo relacionado

Mais procurados

System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
koolkampus
 

Mais procurados (20)

Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
UML
UMLUML
UML
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 
Software design
Software designSoftware design
Software design
 

Semelhante a Unit 5- Architectural Design in software engineering

10 architectural design
10 architectural design10 architectural design
10 architectural design
Ayesha Bhatti
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
Ayesha Bhatti
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
Zahid Hussain
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
Zahid Hussain
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4
Ahmad Zee
 

Semelhante a Unit 5- Architectural Design in software engineering (20)

10 architectural design
10 architectural design10 architectural design
10 architectural design
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
architectural design
 architectural design architectural design
architectural design
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
System design process.pptx
System design process.pptxSystem design process.pptx
System design process.pptx
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 
MOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfMOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdf
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Patterns
PatternsPatterns
Patterns
 
Ch6.ppt
Ch6.pptCh6.ppt
Ch6.ppt
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 

Mais de arvind pandey

Mais de arvind pandey (15)

ADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdf
ADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdfADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdf
ADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdf
 
Syllabus.pdf
Syllabus.pdfSyllabus.pdf
Syllabus.pdf
 
Network entites
Network entitesNetwork entites
Network entites
 
Transport layer
Transport layerTransport layer
Transport layer
 
Internet service provider and network backbone
Internet service provider and network backboneInternet service provider and network backbone
Internet service provider and network backbone
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Unit 3- requirements for software development
Unit 3-  requirements for software  development Unit 3-  requirements for software  development
Unit 3- requirements for software development
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes
 
Unit 1-overview of software engineering
Unit 1-overview of software engineering Unit 1-overview of software engineering
Unit 1-overview of software engineering
 
Chapter1 computer introduction note
Chapter1  computer introduction note Chapter1  computer introduction note
Chapter1 computer introduction note
 
computer network fundamental note
computer network fundamental note computer network fundamental note
computer network fundamental note
 
I have a dream
I have a dreamI have a dream
I have a dream
 
brain.ppts
brain.pptsbrain.ppts
brain.ppts
 

Último

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Último (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 

Unit 5- Architectural Design in software engineering

  • 1. Unit-5 A hi l D iArchitectural Design
  • 2. Topics covered Architectural design decisions System organisation Decomposition stylesDecomposition styles Control styles Reference architectures
  • 3. Software architecture The design process for identifying the sub- systems making up a system and the framework for sub-system control andy communication is architectural design. The output of this design process is a description of the software architecture.p
  • 4. Architectural design An early stage of the system design process. R t th li k b t ifi ti dRepresents the link between specification and design processes. It involves identifying major system components and their communications.
  • 5. Advantages of explicit architecture Stakeholder communication • Architecture may be used as a focus of discussion by• Architecture may be used as a focus of discussion by system stakeholders. S t l iSystem analysis • Means that analysis of whether the system can meet its non-functional requirements is possible. Large-scale reuse • The architecture may be reusable across a range of systems.
  • 6. Architecture and system characteristics Performance • Localise critical operations and minimise communications. SecuritySecurity • Use a layered architecture with critical assets in the inner layers. S f tSafety • Localise safety-critical features in a small number of sub- systems. A il biliAvailability • Include redundant components and mechanisms for fault tolerance. Maintainability • Use fine-grain, replaceable components.
  • 7. System structuring Concerned with decomposing the system into interacting sub systemsinteracting sub-systems. The architectural design is normally expressed as a blockblock diagramdiagram presenting an overview of the system structure. More specific models showing how sub-systems share data are distributed and interface with eachshare data, are distributed and interface with each other may also be developed.
  • 9. Architectural design decisions Architectural design is a creativecreative processprocess so the process differs depending on the type of system being developed.y g p However, a number of common decisions span all design processes.
  • 10. Architectural design decisions Is there a generic application architecture that can be used? How will the system be distributed?How will the system be distributed? What architectural styles are appropriate? What approach will be used to structure the system?What approach will be used to structure the system? How will the system be decomposed into modules? What control strategy should be used?What control strategy should be used? How will the architectural design be evaluated? How should the architecture be documented?
  • 11. Architectural models Used to document an architectural design. Static structural model that shows the major systemStatic structural model that shows the major system components. Dynamic process model that shows the process structure ofDynamic process model that shows the process structure of the system. Interface model that defines sub-system interfaces.Interface model that defines sub system interfaces. Relationships model such as a data-flow model that shows sub-system relationships.sub system relationships. Distribution model that shows how sub-systems are distributed across computers.distributed across computers.
  • 12. System organization Reflects the basic strategy that is used to structure a system. Three organizational styles are widely used:Three organizational styles are widely used: • A shared datadata repositoryrepository style; • A shared servicesservices andand serversservers style; • An abstract machine or layeredlayered stylestyle.yy yy
  • 13. The repository (data repository )data repository )model Sub-systems must exchange dataexchange data. This may be done in two ways:done in two ways: • Shared data is held in a central database or repository and ma be accessed b all s b s stemsand may be accessed by all sub-systems; • Each sub-system maintains its own databaseown database and passes data explicitly to other sub systemspasses data explicitly to other sub-systems. When large amounts of data are to be shared, the repository model of sharing is most commonly used.
  • 14. Repository model characteristics Advantages • Efficient way to share large amounts of data; • Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc. • Sharing model is published as the repository schema. Disadvantagesg • Sub-systems must agree on a repository data model. Inevitably a compromise;Inevitably a compromise; • Data evolution is difficult and expensive; • No scope for specific management policies;• No scope for specific management policies;
  • 15. Client-server (services and servers)services and servers) model Distributed system model which shows how data and processing is distributed across a range ofand processing is distributed across a range of components. Set of stand-alone servers which provide specificspecific servicesservices such as printing, data management, etc. Set of clients which call on these services. Network which allows clients to access serversNetwork which allows clients to access servers.
  • 16. Film and picture library
  • 17. Client-server characteristics Advantages • Distribution of data is straightforward;g • Makes effective use of networked systems. May require cheaper hardware; • Easy to add new servers or upgrade existing servers. DisadvantagesDisadvantages • Data interchange may be inefficient; R d d t t i h• Redundant management in each server;
  • 18. Abstract machine (layered) model Used to model the interfacing of sub-systems. O i th t i t t f l (Organises the system into a set of layers (or abstract machines) each of which provide a set of services. Supports the incremental development of sub-pp p systems in different layers. When a layer interface changes only the adjacent layer is affectedchanges, only the adjacent layer is affected.
  • 19. Layer model Configuration Management System layerConfiguration Management System layer Object Management System layerObject Management System layer O SOperating System Layer Database System Layer
  • 20. CASE toolset architecture Design CodeDesign editor Code generator Project repository Design translator Program editor Design Repor tDesign analyser Repor t generator
  • 21. Modular decomposition Another structural level where sub-systems are decomposed into modulesdecomposed into modules. Two modular decomposition models covered • An object model where the system is decomposed into interacting object; • A pipeline or data-flow model where the system is decomposed into functionalfunctional modulesmodules which transform inputs to outputs. If possible, decisions about concurrency should be delayed until modules are implemented.
  • 22. Object models Structure the system into a set of loosely coupled objects with well defined interfacesobjects with well-defined interfaces. Object-oriented decomposition is concerned with identifying object classes, their attributes and operations. When implemented, objects are created from these classes and some control model used to coordinateclasses and some control model used to coordinate object operations.
  • 24. Object model advantages Objects are loosely coupled so their implementation can be modified without affecting other objectscan be modified without affecting other objects. The objects may reflect real-world entities. OO implementation languages are widely used.
  • 25. Function-oriented pipelining Functional transformations process their inputs to produce outputsproduce outputs. May be referred to as a pipe and filter model (as in UNIX shell). Variants of this approach are very common. Whenpp y transformations are sequential, this is a batch sequential model which is extensively used in datasequential model which is extensively used in data processing systems. Not really suitable for interactive systems.
  • 27. Pipeline model advantages Supports transformation reuse. I t iti i ti f t k h ld i tiIntuitive organisation for stakeholder communication. Easy to add new transformations. Relatively simple to implement as either a concurrent or sequential system.concurrent or sequential system. However, requires a common format for data f l h i li d diffi ltransfer along the pipeline and difficult to support event-based interaction.
  • 28. Control stylesControl styles Are concerned with the controlcontrol flowflow between sub- systems.y Centralised control • One sub-system has overall responsibility for controlcontrol and startsstarts and stopsstops other sub-systems. Event-based control • Each sub-system can respond to externallyexternallyEach sub system can respond to externallyexternally generatedgenerated eventsevents from other sub-systems or the t ’ i tsystem’s environment.
  • 29. Centralised control A control sub-system takes responsibility for managingmanaging thethe executionexecution of other sub-systemsmanagingmanaging thethe executionexecution of other sub systems. CallCall--returnreturn modelmodel • Top-down subroutine model where control starts at the top of a subroutine hierarchy and moves downwards. A li bl t ti l tApplicable to sequential systems. ManagerManager modelmodel • Applicable to concurrent systems. One system component controls the stopping, starting and coordination of other system processes.
  • 31. Real-time system control(Manager model) ActuatorSensor processesprocesses System controller User FaultComputation inter face handler p processes
  • 32. Event-driven systems Driven by externallyexternally generatedgenerated eventsevents where the timing of the event is out with the control of the sub-systems which process the event. Two principal event-driven models •• BroadcastBroadcast modelsmodels. An event is broadcast to all sub- systems. Any sub-system which can handle the event may do so; •• InterruptInterrupt--drivendriven modelsmodels. Used in real-time systems where interrupts are detected by an interrupt handler and passed to some other component for processing.
  • 33. Broadcast model Effective in integrating sub-systems on different computers in a network. Sub-systems register an interest in specific events. When these occur, control is transferred to the sub-system which cany handle the event.
  • 34. Selective broadcasting S b S b S b S bSub-system 1 Sub-system 2 Sub-system 3 Sub-system 4 Event and message handler
  • 35. Interrupt-driven systems Used in real-time systems where fast response to an event is essentialevent is essential. There are known interrupt types with a handler defined for each type. Each type is associated with a memory location andyp y a hardware switch causes transfer to its handler. Allows fast response but complex to program andAllows fast response but complex to program and difficult to validate.
  • 37. Reference architectures Architectural models may be specific to some application domain. Two types of domain-specific model •• GenericGeneric modelsmodels which are abstractions from a number ofGenericGeneric modelsmodels which are abstractions from a number of real systems and which encapsulate the principal characteristics of these systems. •• ReferenceReference modelsmodels which are more abstract, idealised model. Provide a means of information about that class of system and of comparing different architectures. Generic models are usually bottom-up models; Reference models are top-down models.
  • 38. Reference architectures May be used as a basis for system implementation or to compare different systemsor to compare different systems. OSI model is a layered model for communication systems.
  • 40. Case reference model Data repository services • Storage and management of data items. Data integration services • Managing groups of entitiesManaging groups of entities. Task management services • Definition and enaction of process models. Messaging services • tool-environment communication. User interface services • User interface development.
  • 43. Topics covered Objects and object classes An object-oriented design process Design evolutionDesign evolution
  • 44. Object-oriented development Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.pp OOD is concerned with developing an object-oriented system model to implement requirements. OOP is concerned with realising an OOD using an OO programming language such as Java or C++.
  • 45. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves.g Objects are independent and encapsulate state and representation informationrepresentation information. System functionality is expressed in terms of object services. Shared data areas are eliminated. Objectsj communicate by message passing. Obj t b di t ib t d d tObjects may be distributed and may execute sequentially or in parallel.
  • 47. Advantages of OOD Easier maintenance. Objects may be understood as stand alone entitiesunderstood as stand-alone entities. Objects are potentially reusable components. For some systems, there may be an obvious mapping from real world entities to systempp g y objects.
  • 48. Objects and object classes Objects are entities in a software system which represent instances of real world and systemrepresent instances of real-world and system entities. Object classes are templates for objects. They may be used to create objects. Object classes may inherit attributes and services from other object classesfrom other object classes.
  • 49. Objects and object classes An object is an entity that has a state and a defined set of operations which operate on that state The state is represented asoperations which operate on that state. The state is represented as a set of object attributes. The operations associated with the object provide services to other objects (clients) which request theseprovide services to other objects (clients) which request these services when some computation is required. Objects are created according to some object class definition. An object class definition serves as a template for objects. It includes declarations of all the attributes and services which should be associated with an object of that class.
  • 50. The Unified Modeling Language Several different notations for describing object- oriented designs were proposed in the 1980s andoriented designs were proposed in the 1980s and 1990s. The Unified Modeling Language is an integration of these notations. It describes notations for a number of different models that may be produced during OO analysisy p g y and design. It i d f t t d d f OO d lliIt is now a de facto standard for OO modelling.
  • 52. Object communication Conceptually, objects communicate by message passingmessage passing. Messages • The name of the service requested by the calling object; • Copies of the information required to execute the service and the name of a holder for the result of the service. In practice, messages are often implemented by procedure calls • Name = procedure name; • Information = parameter list.
  • 53. Message examples // Call a method associated with a buffer // object that returns the next valuej // in the buffer v = circularBuffer.Get () ; // Call the method associated with a // th t t bj t th t t th// thermostat object that sets the // temperature to be maintained thermostat setTemp (20) ;thermostat.setTemp (20) ;
  • 54. Generalisation and inheritance Objects are members of classes that define attribute types and operations.yp p Classes may be arranged in a class hierarchy where one class (a super-class) is a generalisation of one or( p ) g more other classes (sub-classes). A sub-class inherits the attributes and operations from its super class and may add new methods or attributes of its own. Generalisation in the UML is implemented as inheritance in OO programming languages.
  • 56. Advantages of inheritance It is an abstraction mechanism which may be used to classify entitiesto classify entities. It is a reuse mechanism at both the design and the programming level. The inheritance graph is a source of organisationalg p g knowledge about domains and systems.
  • 57. Problems with inheritance Object classes are not self-contained. they cannot be understood without reference to their superbe understood without reference to their super- classes. Designers have a tendency to reuse the inheritance graph created during analysis. Can lead to significant inefficiency. The inheritance graphs of analysis design andThe inheritance graphs of analysis, design and implementation have different functions and should b t l i t i dbe separately maintained.
  • 58. UML associations Objects and object classes participate in relationships with other objects and object classes.j j In the UML, a generalised relationship is indicated by an association. Associations may be annotated with information that describes the association. Associations are general but may indicate that an attribute of an object is an associated object or that a method relies on an associated object.
  • 60. Concurrent objects The nature of objects as self-contained entities make them suitable for concurrentmake them suitable for concurrent implementation. The message-passing model of object communication can be implemented directly if objects are running on separate processors in a distributed system.y
  • 61. Servers and active objects Servers. • The object is implemented as a parallel process (server)• The object is implemented as a parallel process (server) with entry points corresponding to object operations. If no calls are made to it the object suspends itself and waitscalls are made to it, the object suspends itself and waits for further requests for service. Active objectsActive objects • Objects are implemented as parallel processes and the i t l bj t t t b h d b th bj t it lfinternal object state may be changed by the object itself and not simply by external calls.
  • 62. Active transponder object Active objects may have their attributes modified by operations but may also update them autonomouslyoperations but may also update them autonomously using internal operations. A Transponder object broadcasts an aircraft’s position. The position may be updated using a satellite positioning system. The object periodically update the position by triangulation from satellites.p p y g
  • 63. An active transponder object class Transponder extends Thread { Position currentPosition ; Coords c1, c2 ; Satellite sat1, sat2 ; Navigator theNavigator ; public Position givePosition ()public Position givePosition () { return currentPosition ; } public void run ()p () { while (true) { c1 = sat1.position () ; c2 = sat2.position () ; currentPosition = theNavigator.compute (c1, c2) ; } } } //Transponder} //Transponder
  • 64. Java threads Threads in Java are a simple construct for implementing concurrent objectsimplementing concurrent objects. Threads must include a method called run() and this is started up by the Java run-time system. Active objects typically include an infinite loop soj yp y p that they are always carrying out the computation.
  • 66. Process stages • Define the context and modes of use of the system; • Design the system architecture;Design the system architecture; • Identify the principal system objects; • Develop design models;• Develop design models; • Specify object interfaces.
  • 67. Weather map system description A weather mapping system is required to generate weather maps on a regular basis using data collected from remote, unattended weather stations and other datadata sourcessources such as weather observersobservers,, balloonsballoons andand satellitessatellites. Weather stations transmit their data to the area computer in response to a request from that machine. The area computer system validates the collectedcollected datadata andand integratesintegrates it with the data from different sources. The integrated data is archived and, using data from this archivearchive andand aa digitiseddigitised map database a set of local weather i t d M b i t d f di t ib ti i lmaps is created. Maps may be printed for distribution on a special-purpose map printer or may be displayed in a number of different formats.
  • 68. System context and models of use Develop an understanding of the relationships between the software being designeddesigned and its externalexternal environmentenvironment System contextSystem context • A staticstatic modelmodel that describes other systems in the environment Use a subsystemsubsystem modelmodel to show otherenvironment. Use a subsystemsubsystem modelmodel to show other systems. M d l f tModel of system use • A dynamicdynamic modelmodel that describes how the system interacts with its environment.
  • 69. Layered architecture Data display layer where objects are concerned with preparing and «subsystem» Data display D t hi i l h bj t concerned with preparing and presenting the data in a human- readable form «subsystem» Data archiving Data archiving layer where objects are concerned with storing the data for future processing «subsystem» Data processing Data processing layer where objects are concerned with checking and integ rating the collected data «subsystem» Data collection Data collection layer where objects are concerned with acquiring data from remote sources
  • 70. Subsystems in the weather mapping system «subsystem» Data collection «subsystem» Data display User interface p y Satellite Comms Observer User interface Map display Weather station Balloon Map Map printer Data t «subsystem» Data processing «subsystem» Data archiving Data storageData Data storage Map store Data store storageData checking Data integration
  • 71. Use-case models Use-case models are used to represent each interaction with the systeminteraction with the system. A use-case model shows the systemsystem featuresfeatures as ellipsesellipses and the interacting entity as a stickstick figure.
  • 72. Use-cases for the weather station
  • 73. Architectural design Once interactions between the system and its environment have been understood you use thisenvironment have been understood, you use this information for designing the system architecture. A layered architecture as discussed earlier appropriate for the weather station • Interface layer for handling communications; • Data collection layer for managing instruments; • Instruments layer for collecting data.
  • 75. Object identification Identifying objects (or object classes) is the most difficult part of object oriented designdifficult part of object oriented design. There is no 'magic formula' for object identification. It relies on the skill,skill, experienceexperience andand domaindomain knowledgeknowledge ofof systemsystem designersdesigners.. Object identification is an iterative process.
  • 76. Approaches to identification Use a grammatical approach based on a natural language description of the system (used in Hoodlanguage description of the system (used in Hood OOD method). Base the identification on tangible things in the application domain. Use a behavioural approach and identify objects based on what participates in what behaviourbased on what participates in what behaviour. Use a scenarioscenario--basedbased analysis. The objects, attributes and methods in each scenario are identified.
  • 77. Weather station description A weather station is a package of software controlled instruments which collects data performs some data processing and transmits this data for furtherdata, performs some data processing and transmits this data for further processing. The instruments include air and ground thermometers, an anemometer, a wind vane, a barometer and a rain gauge. Data is collected, , g g periodically. When a command is issued to transmit the weather data, the weather station processes and summarises the collected data. The summarised data is transmitted to the mapping computer when a request is received.
  • 78. Weather station object classes Ground thermometer, Anemometer, Barometer • Application domain objects that are ‘hardware’ objects• Application domain objects that are hardware objects related to the instruments in the system. W th t tiWeather station • The basic interface of the weather station to its environment. It therefore reflects the interactions identified in the use-case model. Weather data • Encapsulates the summarised data from the instruments.
  • 80. Design models Design models show the objects and object classes and relationships between these entitiesand relationships between these entities. Static models describe the static structure of the system in terms of object classes and relationships. Dynamic models describe the dynamic interactionsy y between objects.
  • 81. Examples of design models Sub-system models that show logical groupings of objects into coherent subsystems.y Sequence models that show the sequence of object interactions. State machine models that show how individual objects change their state in response to events. Other models include use-case models, aggregation models, generalisation models, etc.
  • 82. Subsystem models Shows how the design is organised into logically related groups of objectsrelated groups of objects. In the UML, these are shown using packages - an encapsulation construct. This is a logical model. The actual organisation of objects in the system may be different.
  • 84. Sequence models Sequence models show the sequence of object interactions that take placeinteractions that take place • Objects are arranged horizontally across the top; • Time is represented vertically so models are read top to bottom; • Interactions are represented by labelled arrows, Different styles of arrow represent different types of interaction; • A thin rectangle in an object lifeline represents the time when the object is the controlling object in the system.
  • 86. Statecharts Show how objects respond to different service requests and the state transitions triggered by these requestsrequests • If object state is Shutdown then it responds to a Startup() message; • In the waiting state the object is waiting for furtherIn the waiting state the object is waiting for further messages; • If reportWeather () then system moves to summarising state; • If calibrate () the system moves to a calibrating state; • A collecting state is entered when a clock signal is received.
  • 88. Object interface specification Object interfaces have to be specified so that the objects and other components can be designed in parallel.p g p Designers should avoid designing the interface representation but should hide this in the object itself.j Objects may have several interfaces which are viewpoints on the methods provided. The UML uses class diagrams for interface specification but Java may also be used.
  • 89. Weather station interface interface WeatherStation { public void WeatherStation () ;public void WeatherStation () ; public void startup () ; public void startup (Instrument i) ; public void shutdown () ; public void shutdown (Instrument i) ; public void reportWeather ( ) ; public void test () ; public void test ( Instrument i ) ; public void calibrate ( Instrument i) ; public int getID () ; } //WeatherStation
  • 90. Design evolution Hiding information inside objects means that changes made to an object do not affect otherchanges made to an object do not affect other objects in an unpredictable way. Assume pollution monitoring facilities are to beAssume pollution monitoring facilities are to be added to weather stations. These sample the air and compute the amount of different pollutants in the atmosphere. Pollution readings are transmitted with weather data.
  • 91. Changes required Add an object class called Air quality as part of WeatherStation. Add an operation reportAirQuality to WeatherStation. Modify the control software to collect pollution readings. Add objects representing pollution monitoring instruments.
  • 93. Chapter Review Question 1. Explain different activities involved in system architectural design ? 2. Discuss the different types of control models in detail. 3. Write short note on i. repository model ii.abstract model iii. Modular decomposition iv. Generic d lmodels 4. Explain client server model and its advantages and disadvantages. 5. What are the important stages or process of object-oriented development? Explain.p g p f j p p 6. Discuss advantages and disadvantages of object-oriented design. 7. Differentiate between object and object classes giving suitable examples. 8. Write short notes on. i. Sequence model ii. Use-Case model iii. State transition model