معماری و عمرانعلوم مهندسی

Applied Software Architecture

صفحه 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, …

51,000 تومان