صفحه 1:
Qunoliy uttdbutes, soecarivs, tuctios
صفحه 2:
(Pou Oiews to GoPtiware
(Brvhitevture
® Code view
" Daup Piles, weap hie oP Pites
® Obevt vode, bicary code
® Outiple versives
® Oodhiuraiva warner
® Onpniscive of these oP ect the neusubiliy oP
vode ood the build fteve oP the systew
صفحه 3:
(Pou Oiews to GoPtiware
rnchitectune vost
® Oodule view
® Dke desiqn oP iodvidudl clisses vr provedures is
too Pio yroiced to be cousidered part of the
® ut the devowposiiva oP the systesw ud the
puniizciccy oP codes tate hpers is!
صفحه 4:
۱۹ ها
rchitevture vow
® شحو view
® Dke اوه مور
® Wow to wap Puontived powpooeds to roti
ties?
® Wow to horde pow mivaivd, له تلو
صفحه 5:
(Pou Oiews to GoPtiware
rnchitectune vost
۲۱ اون view
® Orsorbes the systew in terws oP its wuipr حول
Pleweuts cod the retaicg acy theo
« مج fied closely to the opplicaicg docaict
" Coc be used ty speciy the svPtwore architecture oP a
spate wit sowe utdbutes to quide the wuppineps oP the
اه views:
صفحه 6:
5 أن اوروصومت جكاا ر*اتمجل]|”» powpooeds ord
1717112121215
® Problews und svlutioas ore viewed privity
ول نز
۶ له موه لح اه هولج بو
صفحه 7:
Cou eptud ات رن
® Cugtceeriag coavercs uddessed!
® Wow does to susteso PUP il he requinewents?
" Wow we COED cow prurds له امه Kew do they
foteract wits the rest oP the systew?
® Wow ts doworrspeniic harder od/or svPiware
] tay the syste?
® Abow is Pucntiocatiy porticoed oto product reteases?
® Wow does the systew tcorpore the product's prior
yeurroives ued support Pulure هجو
® Wow con the iopont oP chooges in requireweuts be
سس
صفحه 8:
ODodule view
5 Coweptnl powpoueds und pooeviors ure
wupped ty subsystews wed wodues
97 »”]١ و جد how the poueptudl
یامه نولصا كلابب لجصتامجم دا دصك اد
دعص امحادها لجه سوام
صفحه 9:
Oodule view vow't
:لول له سوه موق ®
" ow is the product wapped oo to the svPwore plier?
® Okt systew support/services does it use ond where?
® dow own testing be supported?
® dow own depenteunies betters wodues be wicivised?
® Wow coo reuse oP wodues ood subspstews be
wunivised?
® Wow te isote the product Proow chores ۱)
svPwore, لته رهام واه و
صفحه 10:
سس ول
® QDup the wodules to the اواج oP the
rude plore
® Osfues the systew's nitive Putties tabu
their uttibutes
® Dewey vee, اوه ول ...
® Plow of coat Pro the potot oP the rooticoe
هم
صفحه 11:
| ۱ view vot
® :وله سوه نمزم
® Wow does the systew weet its perPorwoue, revovery
rod revodPiguraiicn requireweuts?
حور وا وه موه رورا vse?
* ولا لمورا
® Wow to ohieve powurreuy, replicdiva, distribuiod
without too suck #اه ند امه ال
عمط وا عمط اه موی ع مت و Wow ®
و
صفحه 12:
Code view
® Oup the nuotiwe eutties Prov the exevutiod
view t7 deployed cowpourts (e-4.
pxerutubles)
® Oup woddles Prow the wodule view tv
۷۲۲ 17171771712015
= Ortervice kow the deplopweut اهوم
we produced Prow source powpoueus
صفحه 13:
اه زر Code ۳
5 0) كج سجوال؟ powers addressed:
® Wow oan the ficoe ood ePPont Por product
upynades be reduced?
® Wow should proodudt versices od releases be
سمه
® Wow ooo built fies be rehired?
® Okt tools ore ceeded ty support the develppwect
سم سا
ومه وه له موه و Wow ®
صفحه 14:
۱۱ views
وه موه و رم اه رو و ور«
0
اه بط اما سور له وود ما و
design wives سوق«
سا دم«
or rebcbiity ون سا یو مرو موق«
نا ,راون ,رطلط the مطلی لصو و«
بفاطصدم
0
مج ولو«
صفحه 15:
عد م ديق
* 6 رای
۰ له من سین
* @lobd evdkiation task
® Piro desig صاصم
" Resource bucket
© 4oterPace Pa
صفحه 16:
عنصراهمه امرام)
© deaify the 5 a lore
۲ عل يداحا ا ۱
۶ تا ما عوررادی() cows up wih زره Por
=P اب be sutshied, devi ick kas priority,
موجه a requinewed, or chon sowe جلك أاميجمجر
Pavtor to cows up with worbkuble stroteqies
صفحه 17:
| (Blobdl aclysis ممع
® doRAueucicny Pactors
۰0 Db
® Oevelppwedt schedule, bucket
® Onprisciocd utitudes, svPiwoure provess
a”, 5 ى١
® Quotable hardware ood svPiwore teckology
® Produnt اوه
® PerPorwuwe, depewdabiliy, cost
® Duy be dPPerect io Puture versioos
صفحه 18:
اه ردو امطم)
Quay Pastors oP Pevt the euiire systew "
Gtrotedis should address qobdl coaercs, but provide ®
سا ما موم Por من
مرول Opnurs throughout the ®
Dew Pantors, issues or sirdedies coo urise of cop fe "
من و Ovusider Puctors us ®
Oight be cociradicticay *
Gort out cooPlicts cod resolve thew ®
صفحه 19:
اه ردو امطم)
® Oowpleweuts the risk coasts ord/or
requineweus wodlsis
® Requreweds und rsh ucdees witht que the
weysed Partors
® Dkeo develop stroteyies to the desicn
® Provides u spstewwuto Wwopok idectipicey,
صفحه 20:
| (Blobdl aclysis ممع
" @Dadlpsicy Puvtors
® Dake us input the oryacisaiocdl, techovlodical cord
product Pactors
® Duhe thew explicit
= Dhrer (9) step procedure
" Gtep (: WdeatPy ood describe the Poctors
* Gtep CO: Choranterise the اجه سا بر لافطا
oP the Pastors
® GtepO: @uulyse the سوم oP the Pastors
صفحه 21:
Gtep 0: IdediPy vad desoribe the
Pavtors
® Can the Puptor’s Phueue be loculised to vo
® Ouray whick stages oP developed is the
® ves the Poctor require way نود expense
or shi?
صفحه 22:
Gtep C: Chanmierise the Pexbiliy or
he chamyeubliy oP the Pastors
= رایخ
® 45 it possible to Plueuse or choo the Poctor sv thot if
wwokes pour task of urchitevture developwedt eusier?
® 4a what way cot pou Puede it?
Dp whol ماه نهر موه مج 9
«۶ م6
" da whet way could the Pastor chore?
«۶ bow they wall t chore dure or oPter developer?
* تسدنا Pies wall it oboe?
* ill the Panter موه روا تاه سا a the vier Pastors?
صفحه 23:
Puviors
BP a Pactor wes to ckooge, whick oP the
Polloutee would be oPPevted ced Kou?
۲ له وان
® Cowpourus
® Dodes vP operciva of the systew
® Other desiqa devisions
صفحه 24:
اس سه اوق
® Develop strotesjes
® Dhrer (9) steps provedure
۰ Gtep (: WdedtPy متسه له مه Pactors
" Gtep C: Oevelop svluiicas und سوه stroteqies
" Gtep 0: Ideaihy relied strotedies
صفحه 25:
له عصحه نجل :0 Gtep
" defy و hoodPul oP isoportoat issues thot ane
® Licitaivas or poustronts imposed by Pastors
» عاط هات جحو ام موی
« ) eed to reduce the iwpoot of choopeubiliy oP Pastors
© Devic Por portabliy
® OR Rindky io sotisPicg product Pastors
© igh troup req. way pverbad CPO
« ) امه موی to obo requineweuts
© Cro hoodie ood recovery
صفحه 26:
Gtep 9: Develop solves urd
® (or ek ise, develop stroteqies that address the
the urchitevture desicnt
® Reduce or lovdise the Puctor’s صصص ام
® Reduce the نموم of the Povtor's choogyeubiliy oo the
desiqa ocd vier Paviors
® Reduce or loculise required aredd oP expertise or shils
® Reduce werd tee cord ePPort
صفحه 27:
IdeatPp relted strateqies :9 مورظ)
with won thao vo صيحصاصجا بوصاصساك ه جهذا(]) 5
reped the strotexp ال رصح
صفحه 28:
5 Cousider three Kieds oP جسصاصه ”ا هلاه
"oO, 55 Db
® واه مرول وونل
حك مس 9 ۲
* @obedded or الاو product
® (Produnt Pavtors
® Puontiood Pectures ord qualities oP the product
صفحه 29:
| (Biobal (Buulpsis Guoweary pout
® Ot the eed oP architecture desiqa pou wil Kove
۰0 ی i iy we
® Developed strotesies ۲ وی
* @Bubtabiliy
۶ نموم
* اهوم
صفحه 30:
1IGSOOO: The @Oducared
حصان اص 8) الوص“
سس وم با 1۵6000 «
© ke steer وم و ری مد را
bes سم اوه تلا خاه روت مرو موه و
ke wer con deh سوم مسج ماه
Dlrouchpul of kage uxniviion GO% higher thao bePore
frome dephay us Past os the wax. kardvare spreed
وه defied رربي عت إن speed oad kooye quay
Oeviqned Por وی upgrade:
وی مان و
Can be commented تا اماب رس وا
Applied Software Architecture
Quality attributes, scenarios, tactics
Four Views to Software
Architecture
Code view
Many files, many kind of files
Object code, binary code
Multiple versions
Configuration management
Organisation of these affect the reusability of
code and the build time of the system
Four Views to Software
Architecture con’t
Module view
The design of individual classes or procedures is
too fine grained to be considered part of the
software architecture design
But the decomposition of the system and the
partitioning of modules into layers is!
Four Views to Software
Architecture con’t
Execution view
The dynamic aspect
How to map functional components to runtime
entities?
How to handle communication, coordination and
synchronisation among components?
Four Views to Software
Architecture con’t
Conceptual view
Describes the system in terms of its major design
elements and the relation among them
Usually tied closely to the application domain
Can be used to specify the software architecture of a
system with some attributes to guide the mappings of the
other views
Conceptual view
Identify the conceptual components and
connectors
Problems and solutions are viewed primarily
in domain terms
But independently of particular software and
hardware techniques
Conceptual view con’t
Engineering concerns addressed:
How does to system fulfill the requirements?
How are COST components integrated and how do they
interact with the rest of the system?
How is domain-specific hardware and/or software
incorporated into the system?
How is functionality partitioned into product releases?
How does the system incorporate the product’s prior
generations and support future generations?
How can the impact of changes in requirements be
minimised?
Module view
Conceptual components and connectors are
mapped to subsystems and modules
The architect addresses how the conceptual
solution is realised with today’s software
platforms and technologies
Module view con’t
Engineering concerns addressed:
How is the product mapped on to the software platform?
What system support/services does it use and where?
How can testing be supported?
How can dependencies between modules be minimised?
How can reuse of modules and subsystems be
maximised?
How to insulate the product from changes in COST
software, in software platform, standards?
Execution view
Map the modules to the elements of the
runtime platform
Defines the system’s runtime entities including
their attributes
Memory usage, hardware assignment, …
Flow of control from the point of the runtime
platform
Execution view con’t
Engineering concerns addressed:
How does the system meet its performance, recovery
and reconfiguration requirements?
How can one balance resource usage?
Load balancing?
How to achieve concurrency, replication, distribution
without too much additional complexity in control?
How to minimise the impact of changes in the runtime
platform?
Code view
Map the runtime entities from the execution
view to deployment components (e.g.
executables)
Map modules from the module view to
source components
Determine how the deployment components
are produced from source components
Code view con’t
Engineering concerns addressed:
How can the time and effort for product
apgrades be reduced?
How should product versions and releases be
managed?
How can build time be reduced?
What tools are needed to support the development
environment?
How are integration and testing supported?
Using the views
Gives a systematic way of designing a software architecture
Gives guidance in
Tracing influencing factors and requirements through the architecture
Sequencing design activities
Making design trade-offs
Supporting system-specific qualities like performance or reliability
Supporting general qualities like buildability, portability, testability,
reusability
Ensuring that no aspects of the architecture are overlooked
Producing documentation
Design tasks
Global analysis
Central design tasks
Global evaluation task
Final design tasks
Resource budgeting
Interface definition
Global analysis
Identify the external influencing factors and critical
requirements that could affect the architecture
Analyse them to come up with strategies for
designing the architecture
If all cannot be satisfied, decide which has priority,
renegotiate a requirement, or change some external
factor to come up with workable strategies
Global analysis con’t
Influencing factors
Organisational factors
Technological factors
Development schedule, budget
Organisational attitudes, software process
Available hardware and software technology
Product factors
Performance, depemdability, cost
May be different in future versions
Global analysis con’t
Many factors affect the entire system
Occurs throughout the design
Strategis should address global concerns, but provide
guidance for implementing them locally
New factors, issues or strategies can arise at any time
Consider factors as a group
Might be contradictiong
Sort out conflicts and resolve them
Global analysis con’t
Complements the risk analysis and/or
requirements analysis
Requirements and risk analyses might give the
anlysed factors
Then develop strategies to the design
Provides a systematc wayof identiying,
accomodating and describing the affecting
factors
Global analysis con’t
Analysing factors
Take as input the organisational, technological and
product factors
Make them explicit
Three (3) step procedure
Step 1: Identify and describe the factors
Step 2: Characterise the flexibility or the changeability
of the factors
Step3: Analyse the impact of the factors
Step 1: Identify and describe the
factors
Can the factor’s influence be localised to one
component or not?
During which stages of development is the
factr important?
Does the factor require any new expertise
or skills?
Step 2: Characterise the flexibility or
the changeability of the factors
Flexibility
Is it possible to influence or change the factor so that it
makes your task of architecture development easier?
In what way can you influence it?
To what extent can you influnce it?
Changeability
In what way could the factor change?
How likely will it change during or after development?
How often will it change?
Will the factor be affected by changes in the other factors?
Step3: Analyse the impact of the
factors
If a factor was to change, which of the
following would be affected and how:
Other factors
Components
Modes of operation of the system
Other design decisions
Global analysis con’t
Develop strategies
Three (3) steps procedure
Step 1: Identify issues and influencing factors
Step 2: Develop solutions and specific strategies
Step 3: Identify related strategies
Step 1: Identify issues and
influencing factors
Idetify a handful of important issues that are
influenced by the factor and their chageability
Limitations or constraints imposed by factors
A need to reduce the impact of changeability of factors
Design for portability
Difficulty in satisfying product factors
Aggressive developemnt schedule
High throughput req. may overload CPU
A common solution to global requirements
Error handling and recovery
Step 2: Develop solutions and
specific strategies
For each issue, develop strategies that address the
issue and ensure the implementation changeability of
the architecture design
Reduce or localise the factor’s influence
Reduce the impact of the factor’s changeability on the
design and other factors
Reduce or localise required aread of expertise or skills
Reduce overall time and effort
Step 3: Identify related strategies
When a strategy belongs with more than one
issue, don’t repeat the strategy
Global Analysis Summary
Consider three kinds of influencing factors
Organisational factors
Technological factors
Constrain design choises
Embedded or embodied in the product
Product factors
Functional features and qualities of the product
Global Analysis Summary con’t
At the end of architecture design you will have
Characterised the important influencing factors
and
Developed strategies for ensuring
Buildability
Implementation
changeability
IS2000: The Advanced
Imaging Solution
IS2000 key marketing features
Has a user-friendly operator environment
Has a comprehensive catalog of built-in acquisiion procedues
The user can define custom acquisition procedues
Throughput of image acquisition 50% higher than before
Image display as fast as the max. hardware spreed
User defined trade-off between speed and image quality
Designed for easy upgrade
Open platform connectivity
Can be connected to prnters, digital images, …