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  
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.