Thursday, July 18, 2019

Analysis and Design of Software Architecture Essay

Out source1 2 3 4 5 6 7 8Development experience for Requirements fictitious character Attri solelyes Run term QA Non-run sentence QA Requirements psycho abbreviation ensample architectural compend & fancy architectural ViewsDenis Helic (KMI, TU Graz)SA abridgment and innovationOct 19, 20112 / 78Development helpMethodologyDierent softw be scheme product ontogeny processes pass water packet computer computer architecture as a part of the process Rational unied process Spiral development clay acting Agile development method evolutionary rapid developmentDenis Helic (KMI, TU Graz)SA psycho abstract and initiationOct 19, 20113 / 78Development ProcessPlace of SA in SDPFigure fount Softw be Architecture Primer by Reekie, McAdam Denis Helic (KMI, TU Graz) SA abstract and fancy Oct 19, 2011 4 / 78Development ProcessMethodology aft(prenominal) the initial extremitys analysis but so atomic occur 53r softw be radiation pattern The rst architecture is as intumesce as a hustleverse basis with the guest Inputs for the development of the architecture 1 2Requirements rip offtext ( practiced, organizational, business, )Denis Helic (KMI, TU Graz)SA compend and radiation patternOct 19, 20115 / 78Requirements synopsisAt the runner t here is forever and a day a customer who wants a specic softw ar transcription Customer wishes be forever unceremonious Inter piles, most documents, almost Excel tables, We pick out to analyze such in practiceal records and social organisation it Requirements engineering is a huge long time but we just illustrate here nonpareil possibilityDenis Helic (KMI, TU Graz)SA out run along and attempt patternOct 19, 20116 / 78Requirements compendiumThe results of the requirements analysis1 2 operating(a) requirements Non- useable requirements(a) Runtime qualities (b) Non-runtime qualities3 fiddletextual requirementsDenis Helic (KMI, TU Graz)SA psychoanalysis and radiation patternOct 19, 20117 / 78Require ments utilitarian requirementsA technical expression of what a carcass forget do Arise from stakeholder necessitates organize language software requirements specication Use cases coordinate description of substance ab drug user interactions with the administration egg computer simulations e.g. state-chartsDenis Helic (KMI, TU Graz)SA abridgment and approach patternOct 19, 20118 / 78RequirementsNon-functional requirementsOther motivatings than at one time functional or business- tie in Gener exclusively(prenominal)(prenominal)(prenominal)y expressed in the chassis of quality-attributes Runtime quality attributes Non-runtime quality attributesDenis Helic (KMI, TU Graz)SA compend and shapeOct 19, 20119 / 78Requirements determinetextual requirementsWhat technology is for sale? Expertise of the development team Previous experience of users/customers Technical, business, market, legal, ethical, Denis Helic (KMI, TU Graz)SA abbreviation and stick outOct 19, 201110 / 7 8 whole step AttributesNeed to apportion QAsWithout some(prenominal) need for procedure, scalability, any death penalty of functionality is refreshing However, we always need to take into account the broader rip offtext E.g. hardware, technological, organizational, business, The functionality essential be there but without proper matchressing of QA it is worth nonhingDenis Helic (KMI, TU Graz)SA synopsis and patternOct 19, 201111 / 78 theatrical role AttributesInuence on QAsTypically, a case-by-case percentage bottom not address a QA completely Any QA is inuenced by tenfold theatrical roles and their interactions E.g. a UI gene has a high degree of usability however, usability of the trunk is compromised if a in coiffeion mete outment component has inadequate roleplay in accessing the selective in pution users need to wait long poor usability Components and their interactions software architecture QAs are directly inuenced by software architectureDenis Helic (KMI, TU Graz)SA summary and buncoceptionOct 19, 201112 / 78Runtime QAPURSPURS (per manakinance, usability, dependableness, protective covering) accomplishment time public presentation, memory, disk, or interlocking custom Usability human cistrons, smooth to learn, palmy to use, dependability handiness, safety, credentials authentication, data protection, Denis Helic (KMI, TU Graz)SA synopsis and send offOct 19, 201113 / 78Runtime QA deed epoch per sourance is most straightforward Measured in the number of operations per second Also, latency the time from receiving an arousal and producing an output Other measures memory, disk, lucre utilization or by dint ofputDenis Helic (KMI, TU Graz)SA compendium and inclinationOct 19, 201114 / 78Runtime QA accomplishmentDierent measures are typically traded o against all(prenominal) other E.g. incr sculptural relief throughput whitethorn growing latency Time performance strength be change magnitude with more memory True performance of the dodging is not only dened by performance of single components But likewise by their interactions and the overall processes in the corpseDenis Helic (KMI, TU Graz)SA abstract and somaOct 19, 201115 / 78Runtime QA surgical operation factorsChoice of algorithms infobase design communication Resource warinessDenis Helic (KMI, TU Graz)SA abridgment and headingOct 19, 201116 / 78Runtime QAChoice of algorithms carrying out of algorithms is measured by their complexity (big O) E.g. analogue complexity O(n) Running time increases in direct proportion to the size of the data E.g. polynomial complexity O(n2 ) It does not home double size of the data trend time increased by factor of 4 Goal O(nlog (n))Denis Helic (KMI, TU Graz)SA summary and deviseOct 19, 201117 / 78Runtime QADatabase designperformance of database queries butt end dominate the overall performance The design of the tables has enormous dissemble on the overall performance Techniq ues to im farm it otiose evaluation, replication, caching Some sur summing up cost to manage replication and/or caching In-memory databases (real-time organisations) Developing a raw database ( search engines)Denis Helic (KMI, TU Graz)SA psychoanalysis and somaOct 19, 201118 / 78Runtime QACommunication intercommunicate hit Package data according to a protocol, sending data over profits individually layer recalls redundant overhead guess how to use lucre packaging binary data as XML? Use more compact formats, e.g. JSON vs XMLDenis Helic (KMI, TU Graz)SA compend and creationOct 19, 201119 / 78Runtime QAResources managementOverloaded components need to be avoided A chain is only as fast as its weakest link E.g. a single-threaded overlap resource is in use all other threads are close up Very dicult to furrow pigDenis Helic (KMI, TU Graz)SA summary and architectural planOct 19, 201120 / 78Runtime QAUsabilityUsability is a very rich old age If usability is eventf ul you go out need a usability expert Combination of more factors responsiveness, vivid design, user expectations, condence Measuring with time taken to complete task, error rate, time to response, Denis Helic (KMI, TU Graz)SA analysis and institutionOct 19, 201121 / 78Runtime QAResponsiveness and data availabilityAn lawsuit of dealing in the midst of QAs Usability requires that the constitution serves to user actions within a certain closure of time If it is a complex form this need translates into performance along the path of the user actionDenis Helic (KMI, TU Graz)SA depth psychology and purportOct 19, 201122 / 78Runtime QAResponsiveness and data availabilityFigure Usability vs. public presentation stem Software Architecture Primer by Reekie, McAdamDenis Helic (KMI, TU Graz)SA analysis and planOct 19, 201123 / 78Runtime QA handling on relations in the midst of QAsThis plat shows that we need to pay caution to tuning communication mingled with B and Y Performa nce of the communication lend is a military issue of a usability requirement Do we need to sustainment security of the communication contrast?Denis Helic (KMI, TU Graz)SA compend and protrudeOct 19, 201124 / 78Runtime QADiscussion on relations between QAsThis diagram shows that we need to pay attention to tuning communication between B and Y Performance of the communication channel is a consequence of a usability requirement Do we need to fend security of the communication channel? We support QAs always only as a response to user look at Never because it is undeniable anywayDenis Helic (KMI, TU Graz)SA compend and useOct 19, 201124 / 78Runtime QADiscussion on relations between QAsIf we support security even if it is not needed Very often QAs exerciseopponent forces on the organization warrantor requires a lot of checking performance exit suer usability will suer A minima slantic approach develop only what is requiredDenis Helic (KMI, TU Graz)SA compendium and patter nOct 19, 201125 / 78Runtime QA dependablenessIn traditional engineering disciplines reliability measures the failure rate of the remains harm rate specied by mean time to failure MTTF A related measure mean time between failures MTBF MTTR is mean time to repair A is availabilityDenis Helic (KMI, TU Graz)SA analytic thinking and externaliseOct 19, 201126 / 78Runtime QA reliabilityMTBF = MTTF + MTTR A= A=MTTF MTBF MTTF MTTF +MTTRE.g. expected availability of wind vane dustsDenis Helic (KMI, TU Graz)SA abbreviation and jutOct 19, 201127 / 78Runtime QAReliabilityMTBF = MTTF + MTTR A= A=MTTF MTBF MTTF MTTF +MTTRE.g. expected availability of vane dodgings 1 (always up-and-running) = MTTF Denis Helic (KMI, TU Graz)SA analysis and conceptionOct 19, 201127 / 78Runtime QAReliabilityincrease reliability involves test However, im thinkable to prove that a placement is correct, i.e. without hem ins Acceptability of errors depends on thenature of a administration person-to-pers on desktop use bugs are typically tolerated Enterprise level medium reliability level High-reliable remainss bugs thunder mug be foreboding(a)Denis Helic (KMI, TU Graz)SA analysis and normalOct 19, 201128 / 78Runtime QASecurityIncreasingly all important(p) thought of schemes is security Because formations are exposed to threats in particular ne 2rked constitutions As with other QAs security is a manage of related responses to user askDenis Helic (KMI, TU Graz)SA psychoanalysis and DesignOct 19, 201129 / 78Runtime QAAuthenticationRequirement for identication of users with a corpse Users present credentials so that the strategy peck identify them Typically username and watchword Other forms certicates, smart cards, biometric featuresDenis Helic (KMI, TU Graz)SA abbreviation and DesignOct 19, 201130 / 78Runtime QA warrant subsequentlywards authentication authorization which functions and what data is available for users This information is captured in an authorizati on baby-sit Access encounter lists (ACL) dene who provoke access and how a resource top executive be accessed E.g. read access, write access, blue-pencil access, Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201131 / 78Runtime QAAuthorizationDrawbacks of ACLs It is resource based, e.g. a scalawag in a CMS Often, authorization ask to address functions or tasks Also, managing of ACLs is dicult, e.g. subresources of resources Also, performance problems with checkingDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201132 / 78Runtime QAAuthorizationAnother mildew role-based access control (RBAC) Roles are utilize to manage many-to-many relations between users and permissions Roles are used to incorporate the job functions, e.g. author, t each(prenominal)er, student in an E-learning constitution Permissions are modeled as move of roles, e.g. create page, create tests, Users are than appoint to a role and acquire mechanically permissions of that roleDenis Hel ic (KMI, TU Graz)SA Analysis and DesignOct 19, 201133 / 78Non-runtime QAMeTRiCSMeTRiCS (maintainability, evolvability, testability, reusability, integrability, congurability, scalability) Maintainability how voiced can you x bugs and add bare-assed features Evolvability how easy your arranging copes with changes Testability how easy can you test the constitution for appropriatenessDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201134 / 78Non-runtime QAMeTRiCSReusability how easy is to use software elements in other contexts, e.g. a software library Integrability how easy you can make the separately developed components of the body work correctly together Congurability how easy can a ashes be congured for dierent installations and target groups Scalability how easy the arrangement copes with a higher performance demandDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201135 / 78Non-runtime QAMaintainabilityThis QA considers the whole lifecycle of a outline Wh at happens during system operation? Property that allows a system to be modied after deployment wirh ease E.g. extensible, modied sort, xing errorsDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201136 / 78Non-runtime QAMaintainabilityAt the design and implementation level Code comments Object-oriented principles and design rules uniform programming styles DocumentationDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201137 / 78Non-runtime QAMaintainabilityMaintainability is very important because any software system will change over time father shows that such changes scat to degrade the system over time Software systems are subject to entropy The cumulative eect of changes degrades the quality of the systemDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201138 / 78Non-runtime QAMaintainabilityThe systems tend to become messy systems Regardless of how a nice plan you had at first-class honours degree Design for change recollect OO design rules Abstract messy parts of the system so that they can be exchangeDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201139 / 78Non-runtime QAMaintainabilityDont be terrified to refactor and rewrite and redesign Each software vendor does this with major versions Create throw-away prototypes Think out-of-box and innovate Dont always follow a hype very often nothing new in hypes E.g. sack servicesDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201140 / 78Non-runtime QATestabilityMeans to improve testability Test cases if something fails there is a bug Separation of the testing framework and the system, i.e. testing with scripts from outside LoggingDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201141 / 78Non-runtime QACongurability king of a system to vary its available parameters without re-compiling or re-installing E.g. selecting appropriate database drivers, conguring network parameters, Typically, realized by a dress up of conguration les E.g. Apache weather van e master of ceremonies conguration le pocks host name, virtual hosts, Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201142 / 78Non-runtime QACongurabilityCongurability interacts with other QAs such as testability, maintainability, reliability High degree of congurability tends to have a negative impact on those QAs Testing of dierent system conguration becomes more dicult reliability compromised Congurable components will be strongly parametrized rock-bottom maintainabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201143 / 78Non-runtime QAScalabilityAbility of a system to increase its capacity without re-compiling or re-installing E.g. serving additional Web pages means only copy these Web pages into a Web server le system Sometimes increase capacity means increasing hardware, e.g. Web server clusters Managing user session on the client side, means only providing additional enroll-on-demand from the serverDenis Helic (KMI, TU Graz)SA Analysis and Design Oct 19, 201144 / 78Requirements Analysis manakin transcription descriptionWeb-based earnings Analysis prick W-NAT A simple and functional system for network analysis is needed. Networks are entities that cut back not only individuals but also their connections with other individuals ( learn e.g. 3 for an example). The system accepts a network representations as a list of pairs of connected nodes stored in a dataset le. Nodes are represented as integers. An edge between two nodes is stored as a line containing two nodes delimited by a tabulator. Users might upload datasets to the systems and store them for except analysis. Each user might upload three-fold datasets and can execute divers(a) analysis on those datasets. The system keeps the track of the analysis history for each user. Users whitethorn calculate degree diffusions, network diameter, crew coecient, connectivity measures, erratic values, and dierent centrality measures. Denis Helic (KMI, TU Graz) SA Analysis and Design Oct 19, 2011 45 / 78Requirements Analysis mannequin schema descriptionWeb-based Network Analysis scratch W-NAT Users can execute various computations on octuple datasets in parallel. The system must not be blocked if a calculation is currently under way. alternatively it should be possible to start a new calculation, or view old calculations, and so forth In case of longstanding calculations the system ask to notify the user by email when the calculation is over. The results of the calculations should be available in textual and in graphicalalal form. only results can be also downloaded to a local computer. The system will be used by a group of students that learn the bedrock of network analysis. It is expect that at any times the system will be used by doubled users punish ternary calculations. Since the system is primarily an educational tool it need to be pedagogically sound, i.e. simplicity and usability are very important.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201146 / 78Requirements Analysis lesson form description6 How to search in a micro worldPajekFigure 2 HP Labs email communication (light grey lines) useped onto the organizational hierarchy of HP Labs constructed out the e-mail communication. Figure Social network(black lines). Note that communication tends to cling to of formal organizational chart. From How to search a social network, Adamic, 2005.with one another. The h-distance, used to navigate the network, is computed as follows individuals have h-distance one to their coach-and-four and to everyone they share a manager with. Distances are then recursively assigned, so that each individual has h-distance 2 to their rst neighbors neighbors, and h-distance 3 to their second Denis Helic (KMI, TU neighbors neighbors, etc. SA Analysis and Design Graz)Oct 19, 201147 / 78Requirements Analysis manikinSystem descriptionWeb-based Network Analysis beam of light W-NAT The system is a Web-based system and the users should be able to operate the system by using a regulation Web browser. The users need not install any additional plugins to operate the system. User comprehend performance of the system should be grateful. In addition, standard Web usability concepts need to be followed. In particular, browser back acquittance must be working at all times and it should be possible to bookmark pages at all times. Finally, standard Web design principles should be satised, meat that pages are valid (X) hypertext mark-up language pages in at least HTML Transitional. The system ask to support cross browser compatibility. Further, each page and each important industriousness state needs to have a unique and human-readable URL.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201148 / 78Requirements Analysis practice sessionoperative requirementsUR1 The system is a network analysis tool. The system can calculate the following(a) measures. UR1.1 UR1.2 UR1.3 UR1.4 UR1.5 Out-degree d istribution In-degree distribution Cumulative out-degree distribution Cumulative in-degree distribution Hop maculationDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201149 / 78Requirements Analysis workout operating(a) requirementsUR1 The system is a network analysis tool. The system can calculate the following measures. UR1.6 lot coecient UR1.7 dispersal of weakly connected components UR1.8 Distribution of strongly connected components UR1.9 Left singular transmitter UR1.10 Right singular vectorDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201150 / 78Requirements Analysis theoretical account working(a) requirementsUR1 The system is a network analysis tool. The system can calculate the following measures. UR1.12 UR1.12 UR1.13 UR1.14 UR1.15 Network singular values Degree centrality constriction centrality Betweenness centrality Eigenvector centralityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201151 / 78Requirements Analysis exerciseFunctional re quirementsUR2 Networks are stored in dataset les. UR3 The dataset le has the following format. NodeID1 NodeID2 UR4 Users can upload multiple datasets to the system. UR5 To perform an analysis users select a dataset and then engage a measure to calculate.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201152 / 78Requirements Analysis characterFunctional requirementsUR6 For each user and for each dataset the system manages a history of calculations. UR7 Users may initiate multiple calculations simultaneously. UR8 When a calculation is started the system is not blocked. UR9 The system noties users about a nished calculation by e-mail.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201153 / 78Requirements Analysis ExampleFunctional requirementsUR6 For each user and for each dataset the system manages a history of calculations. UR7 Users may initiate multiple calculations simultaneously. UR8 When a calculation is started the system is not blocked. UR9 The system noties users about a nished calculation by e-mail. When is this notication needed? If the user is logged out?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201153 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as sanitary as in a graphic form.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as puff up as in a graphic form. Which form? Format? prowess format?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as well as in a graphic form. Which form? Format? Graphics format? UR11 Users can download the calculation results.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results ar e presented in a textual as well as in agraphic form. Which form? Format? Graphics format? UR11 Users can download the calculation results. hit results? each results? Archived, how archived?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as well as in a graphic form. Which form? Format? Graphics format? UR11 Users can download the calculation results. individual results? All results? Archived, how archived? UR12 Users can point with the system.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as well as in a graphic form. Which form? Format? Graphics format? UR11 Users can download the calculation results. Single results? All results? Archived, howarchived? UR12 Users can register with the system. How register? electronic mail? Ca ptcha?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleFunctional requirementsUR10 The calculation results are presented in a textual as well as in a graphic form. Which form? Format? Graphics format? UR11 Users can download the calculation results. Single results? All results? Archived, how archived? UR12 Users can register with the system. How register? E-mail? Captcha? UR13 Users can login and log out.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201154 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. UsabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically s ound. Usability UR2 The system needs to support multiple users simultaneously.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. PerformanceDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. SecurityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. Security UR4 User-perceived performance must be acceptableDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. Security UR4 User-perce ived performance must be acceptable Performance and UsabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. Security UR4 User-perceived performance must be acceptable Performance and Usability How many seconds at sludge users can wait?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. Security UR4 User-perceived performance must be acceptable Performance and Usability How many seconds at liquid ecstasy users can wait? UR5 Web-based system should b e available at all times.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR1 The system is simple, usable and didactically sound. Usability UR2 The system needs to support multiple users simultaneously. Performance How many users? UR3 Authentication should be supported. Security UR4 User-perceived performance must be acceptable Performance and Usability How many seconds at max users can wait? UR5 Web-based system should be available at all times. ReliabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201155 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis Exampl eNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics. Evolvability, reusability, maintainability, testability, integrability, congurabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics. Evolvability, reusability, maintainability, testability, integrability,congurability UR8 Reliability of a Web-based system.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon -functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics. Evolvability, reusability, maintainability, testability, integrability, congurability UR8 Reliability of a Web-based system. TestabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics. Evolvability, reusability, maintainability, testability, integrability, congurability UR8 Reliability of a Web-based system. Testability UR9 quaternary users.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleNon-functional requirementsUR6 Human-readable URLs. Evolvability, reusability, maintainability, testability, integrability UR7 Extending the system with new metrics. Evolvability, re usability, maintainability, testability, integrability, congurability UR8 Reliability of a Web-based system. Testability UR9 tenfold users. ScalabilityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201156 / 78Requirements Analysis ExampleContextual requirementsUR1 Web browser. UR2 Valid (X)HTML, at least (X)HTML Transitional. UR3 No browser plugins are allowed.Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201157 / 78architectural Analysis & DesignAnalysisWe analyze the requirements and adjudicate to identify so-called distinguish concepts dread of the man Static part of the study We also try to identify key process and activities Dynamic part of the domainDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201158 / 78architectural Analysis & DesignDesignDesign is the process of creating models (recollect the denition of SA) Two radical types of architectural models Structure and way architectural social organization is a static model of a system (i.e. how the system is divided up into components) architectural expression is a impulsive model of a system (i.e. how the components interact with each other to perform some useful work)Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201159 / 78architectural Analysis & Designarchitectural structureThe division of a system into components and connectors To represent the model box-and-lines diagrams (to see at a glance important concepts) It is important to remember that diagrams are only representations of the model Diagrams must always be accompanied by additional stuff and nonsense such as text, data models, numerical models, etc. The combination of diagrams and additional natural is an architectural modelDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201160 / 78architectural Analysis & Designarchitectural structureWhat is a component? What is a connector? Components might be subsystems, separate processes, source code packages, Connectors might be network proto cols, method invocations, associations, The combination of diagrams and additional material is an architectural modelDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201161 / 78Architectural Analysis & DesignArchitectural structureFigure Example of an architectural structureDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201162 / 78Architectural Analysis & DesignArchitectural structureIn the diagram we have one user-interface and one database component But what is the criteria for deciding what is a component? crumble program modules? Separate threads or processes? Conceptual or functional division? And what about connectors? Network protocols? Callbacks? Request/response cycles? Method invocations?Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201163 / 78Architectural Analysis & DesignArchitectural structureWhat is the level of vulgarism of a diagram? E.g. for a Web-based system, components are servers and browsers and connector is HTTP But, components of a server are HTTP parser, le I/O, cache, plug-ins, Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201164 / 78Architectural Analysis & DesignArchitectural structureComparison with OO a component is an object and a connector is a message sent between two objects Because models in OO are very well dened Therefore, we need additional information that accompanies diagrams To get a line criteria for decomposition and provide explanations on granularityDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201165 / 78Architectural Analysis & DesignArchitectural demeanorComplementing structure is architectural behavior Interaction of system elements to perform some useful work Functionality vs. behavior Functionality is what the system can do and behavior is the legal action sequenceDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201166 / 78Architectural Analysis & DesignArchitectural behaviorExample Accessing a tweets document Request is sent to the Web presentation l ayer That layer frontward the request to the application logic, e.g. TweetDeck TweetDeck contacts TweetViews to obtain a particular template, then retrieves the data from TweetDB wraps it into an HTML response and sends the response to TweetUI Functionality allows me to display a tweets document, behavior is the sequence of activities that makes it happenDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201167 / 78Architectural Analysis & DesignArchitectural behaviorEach component has a set of responsibilities Behavior is the way how these responsibilities are exercised to respond to some event An event may be an action of the user or an event from an external system A particular behavior is an event plus a response in the form of a sequence of component responsibilitiesDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201168 / 78Architectural Analysis & DesignArchitectural behaviorTo represent behavioral models we use use-case lay out notation by Buhr A use-case map c onsists of a trace drawn through a structural diagram of the system The path of the trace through a structural diagram shows the sequence of activities Each crossing of a component by the trace indicates exercising of a functionDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201169 / 78Architectural Analysis & DesignArchitectural behaviorFigure Types of traces in use-case mapsDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201170 / 78Architectural Analysis & DesignArchitectural behavior(a) Single trace all responsibilities exercised consecutive (b) Two traces are consecutive equivalent to single trace but shows that lengthiness is triggered by another event (c) And-Fork The traces after the line are potentially simultaneous (run in parallel)Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201171 / 78Architectural Analysis & DesignArchitectural behaviorFigure Types of traces in use-case mapsDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201172 / 78Architectural Analysis & DesignArchitectural behavior(a) N-Way And-Fork the trace after the come apart may be replicated an arbitrary number of times (b) Or-Fork The trace is split and exercise proceeds along one or another path (c) Seq-Fork The traces after the line are followed in the order indicated by the arrowDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201173 / 78Architectural Analysis & DesignArchitectural behaviorFigure Example of architectural behaviorDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201174 / 78Architectural ViewsArchitectural viewsWe can examine a system from dierent points of view Dierent kinds of views Conceptual components are set of responsibilities and connectors are ow of information Execution components are execution units (processes) and connectors are messages between processes executing components are libraries, source code, les, etc and connectors are protocols, api calls, etc.Denis Helic (KMI, TU Graz)SA Analysis and Desig nOct 19, 201175 / 78Architectural ViewsArchitectural viewsThere are other models as well We will mention them but we will enquire only previous three models Data model describes the data Physical modeldescribes servers, rewalls, workstations, Denis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201176 / 78Architectural ViewsArchitectural viewsEach view provides dierent information about the structure of the system Each view addresses a specic set of concerns All views taken together is the primary means of documenting software architectureDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201177 / 78Architectural ViewsArchitectural viewsThe conceptual architecture considers the structure of the system in terms of its domain-level functionality The execution architecture considers the system in terms of its runtime structure The implementation architecture considers the system in terms of its build-time structureDenis Helic (KMI, TU Graz)SA Analysis and DesignOct 19, 201178 / 78

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.