sat documentation

41
Software Architecture and Testing UC2F1408SE TP030664 Page 1 of 41

Upload: royfelixadekie

Post on 20-Sep-2015

24 views

Category:

Documents


1 download

DESCRIPTION

Sample Documentation

TRANSCRIPT

Software Architecture and TestingUC2F1408SETP030664

Table of Contents1System and Architecture31.1Introduction31.2System Background31.3Why choose to evaluate the system?61.4General evaluation criteria for the architecture evaluation62Stakeholder Consensus Realization Analysis Method (SCRAM)72.1Introduction72.2Steps in SCRAM82.2.1Describe the SCRAM82.2.2Present Business Drivers82.2.3Identify Architectural102.2.4Analyze Architectural Problems102.2.5Solution on Architectural Problems112.2.6Generate Quality Attribute Tree112.2.7Brainstorm and Prioritize Scenarios112.2.8Evaluate Architectural112.2.9Present Results122.3Conclusion123Software Architecture Analysis Method (SAAM)133.1Introduction133.1.1Input to SAAM evaluation133.1.2Output of SAAM133.2Steps of SAAM143.2.1Step 1 Develop Scenarios143.2.2Step -2 Describe Architecture153.2.3Step 3 Classify/Prioritize Scenarios163.2.4Step 4 Individually evaluate Indirect Scenarios173.2.5Step 5 Assess Scenario Interaction183.2.6Step 6 Create the Overall Evaluation193.3Conclusion204ARID214.1Introduction214.1.1Nine Steps of ARID214.2Phase 1224.2.1Step 1 Identify Reviewers224.2.2Step 2 Present Design Presentation224.2.3Step 3 Prepare Seed Scenarios234.2.4Step 4 Prepare for the Review Meeting234.3Phase 2244.3.1Step 5 Present ARID Method244.3.2Step 6 Present Design244.3.3Step 7 Brainstorm and Prioritize Scenario254.3.4Step 8 Perform Review254.3.5Step 9 Present Conclusions255References26

(Sommerville, 2007)

System and ArchitectureIntroductionNowadays, many of the public library are still using manual booking system. The existing system relies on large numbers of manpower to handle customer registration, reservation / booking, payment and borrowing books. This is method waste a lot of time and energy especially during peak hours. There might even a misunderstanding between the clerk and the customer.Therefore, the research has been selecting the Library System to evaluate the architecture. The Library Management system developed with Graphical User Interface (GUI) using Microsoft Visual Studio 2013 and Microsoft Access 2013 for the database. It allows the member / visitor to search for the book, register for membership, return book via touch screen devices directly. Then their action will be proceed by the system and notify them.The following report will evaluate architecture of the Library system using SCRAM, SAAD, and ARID methods.System BackgroundLibrary Management System is to improve the library quality and efficiency in serving customer. Library system helps the library to save time and resources because it doesnt need paper to keep record and staff will not need to update and the paper daily. Whole management system is connected to a single database server. The system will use implement touch screen LCD and a touch screen monitors. The diagram below is the work flow of the Library Management System. In order to make the system work first the member need to register or login to the system, after logging in the member can choose to borrow, return or extend membership. Then the staff will check the information the member input and validate it.

In this system, it gives a lot more benefit to both Library staff and customers. The system will also improve the overall quality from the previous systems. Member can directly do borrow or return book from the system and the misunderstanding between staff and member can be reduced to minimal. Moreover, it will also improve the data collection since all the information are recorded directly to the database. It will also reduce the waiting time by the member and staff. The diagram below shows the use case of the system.

The Library Management System contains components such as register, login, homepage menu, action list, search book, report lost. In this system both the admin and member can login to the system but with different course of actions. The home page menu is the main page on which the user will be redirect after logging in. This page show list of available action from borrowing book, return book, extend the membership, update details / information of user, search for particular book and report lost book. Right after borrowing a book customer need to pay directly to the staff / clerk before checking out. If payment have been done then the staff proceed with the action and update the database.

Who is involved?The Objective of the selection process is to ensure that people with the right skills and relevance to the project are assigned to support the effort effectively. There are two groups of people involved in an architecture evaluation.Evaluation teamThe evaluation team conducts the actual evaluation and documents all findings. The team members and their precise roles will be defined later, but for now simply realize that they represent one to the classes or participants.StakeholdersStakeholders are the people who have specific architectural concerns and a vested interest in the resulting system.Examples of stakeholder in Library Management System are Testers, Managers, Staff and Members.Why choose to evaluate the system?The architecture review resulting in the delivery of better system. The systems are always released with performance issues, security risks, and problems as a result of inappropriate architectures. BJ Public Library system is not ready for an architecture evaluation because the quality of the system do not meet the minimum requirements, such as performance issues, availability is limited and the security is still lacking.General evaluation criteria for the architecture evaluationPerformance: The system must be able to respond fast enough if it is given a task.Security: The security of the system must be well built to ensure no data can leak to outsiders.Modifiability: The system can be changed without using much cost and time.

Stakeholder Consensus Realization Analysis Method (SCRAM)IntroductionSCRAM is a new method created by referring the ATAM method. SCRAM is a method that reveals the architecture problems by giving quality solution. It provide insight on how to analyze problems and prioritize scenarios presented. It is a structured method for analyze and evaluate the architecture. SCRAM method also generate utility tree to understand the quality attributes requirements and brainstorming scenarios to get information or idea from the stakeholders.SCRAM is divided into four phases which breakdown into nine steps. The below table is listing the four phases divided in SCRAM.StepsPhases

1Describe the SCRAMPresentation

2Present Business Drivers

3Identify Architectural ApproachesInvestigating & analysing

4Analyse Architectural Problems

5Solution on architectural problems

6Generate quality attribute utility tree

7Brainstorm and Prioritize ScenariosTesting & Evaluating

8Evaluate Architectural

9Present ResultsReporting

Steps in SCRAMDescribe the SCRAMSCRAM will be used to reveal BJ Public Library Management System and described to the assembled stakeholders. It used to explain the process that everyone will be following allows time to answer questions, and sets the context and expectations for the remainder of the activities. With this action, evaluation team will collected the information that needs by using these 2 techniques which is Utility Tree Generation and Scenario Brainstorming.After scrutinized, the output from the evaluation, the scenarios elicited and prioritized, the questions used to understand/evaluate the architecture, a utility tree, describing and prioritizing the driving architectural requirements, the set of identified architectural approaches and styles, the set of risks and non-risks discovered, the set of sensitivity points and tradeoffs discovered will be reported to respective department.Present Business DriversIn this step, all participants needs understood how the system to be evaluated. The project managers request to presents the system overview from a business perspective. The system that will be presented:1. Most important functional requirements2. Most important quality attribute requirements3. The business goals and context4. The major stakeholdersFor example with BJ Public Library Management System, this system is use for the member to borrow, return, report lost book. So a database is required to record the data which book did the member borrow, return or lost. The stakeholders are the registered members, Librarian staff and the manager / owner of library.

Functional Requirementsis a description of the facility or feature required. Functional requirements deal with what the system should do or provide for users. They include description of the required functions, outlines of associated reports or online queries, and details of data to be held in the system. The functional requirements of the system for BJ Public Library are listed as below:1. Member borrowed details and information will be saved to databaseDetails of the book being borrowed will be saved to the database. The information of member borrowing it will also be saved.2. Monthly report shall be generated by the system.A report that generated by the system will list out the monthly sales.

For quality attribute requirements, i.e. non-functional requirement are the constraints on the services or function offered by the system. It ranges from timing constraints, constraints on the development process and standards. (Sommerville, 2007). The non-functional requirements of the system for BJ Public Library are listed as below:1. Database should be stored the encrypted account details to protect user details.The account details of the user who created accounts are stored in a database. The database contains sensitive personal information such as name and contact numbers. To prevent unauthorized access to the database, the database should be encrypted to ensure that it is secured.2. Different access level should be available for staff and administrators.Administrators are able to gain access to all features in the system. Staff are able to gain access to the system, but not all features are available to staff. Features that are not available to staff are adding product to the system and access to the database of the system. However, staffs are able to view the borrow record of the members.

Identify ArchitecturalCurrent BJ Public Library Management system is using Model-View-Controller (MVC). Below is the graphical view of the architecture Analyze Architectural ProblemsThis steps will analyze problems that come with the architecture. Analyst will analyze what are the system problems and how it was created. Before developing a perfect system, it should have been analyze a few times to ensure problem does not occur. Evaluation team will analyze any problems that will come out from BJ Public Library System, such as calculating amount, printing receipt, login failure, etc.

Solution on Architectural ProblemsThis step is to solve the problems that occur in the system. The system will not be developed without the solution to settle the problems. Solution on solving the problem will be analyze steps by step to ensure another problem did not came out again. By doing so the BJ Public Library Management system can provide member with greater services.Generate Quality Attribute TreeThis step is the most important steps out of all nine steps in SCRAM. Utility trees provide a top-down mechanism for directly and efficiently translating the business drivers of a system into concrete quality attribute scenario. The quality attributes comprise of performance, modifiability, security and availability. With this method, it should produce the most quality goals to be high level nodes.Brainstorm and Prioritize ScenariosBrainstorm is an interactive group process to develop, without criticism. Ideas from all the stakeholders are being considered based on the quality of utility tree in step 6. Therefore, the requirements of different stakeholders on the scene is not the same.From this part, evaluation team can understand the stakeholders requirements or idea on the system. For example if the member of BJ Public Library Management System suggest that the system should also include providing E-book as a service, therefore the service of E-Book are highly ranked scenarios.Evaluate ArchitecturalThe architectural of the system will then be evaluated after those steps of SCRAM. The system will then be evaluate by the evaluation team on how well the system will be able to perform and how good is the current system. The best time on doing this is before the system start to develop because if it start after the developing has been done that it will undoubtedly cost more time and money.The evaluation team will evaluate the system based on the previous steps of identify, analyze problems, solution, attribute tree and brainstorm.

Present ResultsBased on the information collected from SCRAM method such as scenarios, utility tree, analyzing of problem, evaluating the architecture. The SCRAM team presents the end product to the assembled stakeholders and writes a report. And the team will offer a recommendations on how to improve the BJ Public Library Management system to the owner.ConclusionSCRAM is a new method that create by referring to ATAM method. But in SCRAM it will analyze the problems of architecture and identify the architecture to enhance the system become perfect. SCRAM also provide communication with stakeholders and presenting it to them which will allow them to evaluate it and build a better system. After implement SCRAM method on a development of a system, the system will itself will be developed to a system that are going to future enhancing the management system of Library Management system. In future, this method will prove to be very useful for other developer.

Software Architecture Analysis Method (SAAM)IntroductionSAAM is software architecture analysis method aim to determine how specific application quality attributes were achieved and how possible changes in the future will affect it. SAAM is a relatively simple architecture evaluation method that was created to operate the vague claims of modifiability, robustness, portability and so forth.SAAM is also a method for doing a scenario based architecture analysis. SAAM has several steps that need to be done in order to analysis the architecture. It can also be used to evaluate a single architecture or to compare different alternative design.Input to SAAM evaluationSAAM require two input which is description of the architectural design and the quality requirements of the system. However to do this all the quality attributes must be addressed in a certain context.For an example the input of SAAM evaluation in the case of BJ Public Library Management System will be the scenario of Library management system. The Library management will expand the limit of members which will then led to providing service via online. The statement above will be the scenario of the users integrate with the system and it will be the main input.Output of SAAMThe outcome of SAAM is the stakeholders can understand the architecture that has been analyzed. On the other hand it is also a mapping of brainstormed scenarios onto the architectures of the system and possible future change.The output of SAAM evaluation on the given system will be, the efficiency on managing the library and information could be enhance. It can also estimate the cost after the SAAM evaluation has been done.

Steps of SAAM

The diagram above show the six steps of SAAM.Step 1 Develop ScenariosThis step is to develop task scenarios that illustrate the kind of activities the system must support and the kind of changes which can be made in the future .During this process its important to capture all important uses of a system from all stakeholders and user of the system in concern of all quality attributes. Thus, scenarios will represent tasks relevant to different stakeholders such as members, staff, admin and maintainer.StakeholderInterest

MemberUse the system to borrow, return or report lost book without staff.

StaffReceive the payment and validate member details

AdministratorLog in to access the system and change the content of the system.

MaintainerMaintain the usability of the system.

Scenario NumberScenario Description

1To choose the action and directly input it to the system.

2To check the book availability.

3To change the order within a period.

4To update the status for the availability of item.

5To change the payment method of the bill.

6To increase the respond speed without affecting operation of system.

7To increase capacity of the database.

8To make minor modifications to the user interface.

9Integrate with a new development environment

Step -2 Describe ArchitectureThis step is to explain and describe the architecture that has been chosen. The architecture notation that has been use must clearly describe and well understood by the stakeholders.These architecture description need to indicate the system computation and data components, as well as all the component relationships. Some of the data such as meta-data need to be providing also on the above presentation. Input: Admin, staff and member needs to log in to access the system. Member make selection via touch screen or keyboard input on the provided place Member are able to view preview of book and price for borrowing before submit Member can change their personal detailsMenu: Member action will be sent to the system and verified The price that need to be paid is automatically calculated after submitting. Admin can change the availability of a book

Payment: Staff can check the book that the member returned or borrowed and verified with the database Staff can change the payment method of the bill. Staff need to print daily recordOutput: Staff only print the receipt if the customer ask to save paper.Step 3 Classify/Prioritize ScenariosIn this step, the analysis of the scenarios has to be classified into two groups which are direct scenarios and indirect scenarios. A direct scenario which is means that it is supported by the candidate architecture based on the requirements of the system. The direct scenarios are perfectly candidate for the architecture performance or reliability. On the other hand the indirect scenarios must be suffering from major or changes. The prioritization of the scenarios will be choosing by the voting of the participants. Scenario NumberScenario DescriptionType

1To choose the action and directly input it to the system.Direct

2To check the book availability.Direct

3To change the order within a period.Direct

4To update the status for the availability of item.Direct

5To change the payment method of the bill.Direct

6To increase the respond speed without affecting operation of system.Indirect

7To increase capacity of the database.Indirect

8To make minor modifications to the user interface.Indirect

9Integrate with a new development environmentIndirect

Step 4 Individually evaluate Indirect ScenariosAfter the classification of direct/indirect scenarios, table has to be drawn to show the change that required to execute it. In case of an indirect scenario the architect list down the changes to the software architecture that need to change in order to support the scenario and estimate the cost of each task. For each indirect scenario there must be identified the architectural modifications needed to facilitate that scenario. The detailed explanation should contain the range within which the modification is performed. By doing this it will allow the stakeholders to have in-depth understand of how the changes made can be benefit.Scenario NumberScenario DescriptionTypeChangeModificationEstimated Time and Cost

6To increase the respond speed without affecting operation of system.Indirect1Change the implementation according the order steps.12 work days RM600

7To increase capacity of the database.Indirect1To change the bigger database managing.3 work days RM3000

8To make minor modifications to the user interface.Indirect2This will require changes the components which are input and menu.

5 work days RM 200

9Integrate with a new development environmentIndirect1 or 2This requires changes which connects the new development environment.15 work days RM 1300

Step 5 Assess Scenario InteractionWhen two or more scenarios are requesting changes over the same components of the architecture, they are said to interact. In this case, the affected components need to be modified or divided into sub-components in order to avoid of the interaction of the different scenarios. Scenario interaction is an important consideration because it exposes the allocation of functionality to the product's design. In a very explicit way it is capable of showing which modules of the system are involved in tasks of different nature. (Mugurel T. Ionita, 2012)ModuleDescriptionInteractiveChange

InputThe input of the system such as Admin log in and Customer place an order.81

MenuThe interfaces of the menu which are include item list and price.7, 8, 93

PaymentContain information about the order and method of the payment.91

OutputThe output of the system such as bill details and receipt.6, 102

DatabaseStorage of the system.71

Step 6 Create the Overall EvaluationFinally a weight is assigned to each scenario in terms of its relative importance to the success of the system. The weighting ties back to the business goals supported by a scenario or other criteria like costs, risks, time to market, and so on. Based on this scenario weighting can be proposed an overall ranking if multiple architecture are compared. Alternatives for the most suitable architecture can be proposed, covering the direct scenarios and requiring least changes in supporting the indirect scenarios. (Mugurel T. Ionita, 2012)Scenario NumberScenario DescriptionChangeModificationImportant

6To increase the respond speed without affecting operation of system.1Change the implementation according the order steps.1

7To increase capacity of the database.1To change the bigger database managing.3

8To make minor modifications to the user interface.2This will require changes the components which are input and menu.

2

9Integrate with a new development environment1 or 2This requires changes which connects the new development environment.4

ConclusionAs a conclusion, the SAAM method is good for stakeholders in-depth understanding about the architecture being analysed. In some cases, after a SAAM evaluation session the software architecture documentation is improved. Besides that, it also enhanced communication among the stakeholders. Future work also can directly relate with this analysis regards the integration of the scenario-based techniques requirements discipline.

ARIDIntroductionThe Active Review for Intermediate Design combines the philosophy of ATAM (Architecture Tradeoff Analysis Method) and ARD (Active Reviews Design). ARID is a method for evaluating small component of partial architectures in the early or conceptual phases. ARID is motivated by the fact that if the architectural small components are inappropriate, then the entire architecture can be undermined. There are 2 phases and 9 steps in ARID evaluation which will be explained in details later.Nine Steps of ARIDPhase 1 : Pre-meetingStep 1: Identify reviewers

Step 2: Prepare design presentation

Step 3: Prepare seed scenarios

Step 4: Prepare for the review meeting

Phase 2: ReviewStep 5: Present ARID method

Step 6: present design

Step 7: Brainstorm and prioritize scenarios

Step 8: Perform review

Step 9: Present conclusions

Phase 1Step 1 Identify ReviewersIn this step we had to identify the stakeholders or reviewer of the system. Such as the software engineers, programmers, database administrator, manager.Category Name of StakeholderResponsibility

DeveloperSoftware EngineerSolve problem and ensure that solution meets all of the constraints of the system.

Software ArchitectDesign of the architecture of the architecture of the hardware environment.

ClientAdministratorLog in to access the system and change the content of the system.

StaffReceive and select payment method, regularly check on book stock, print everyday report

MemberUse the system to borrow, return, report lost book without the assistance of the staff

Step 2 Present Design PresentationIn my design presentation of ARID, is consisted of a presentation that explained how the member use the system to borrow, report or return the book, and then presented why the member and staff are encouraged to use this system. The goal of this presentation is to provide sufficient details so that the stakeholders know exactly what this is about.

Step 3 Prepare Seed ScenariosThe Management part of the system is the most important part of the system. This is the subsystem that will be used by the member to make action. In this it includes search for book, price for borrowing and book details. The book details is the summary on what the book is about. When member decided to borrow a book the total price is automatically calculated. However the member can cancel it if they want to change it by clicking the remove button. Otherwise they can click the submit button.Performance of the system is very important in library management to satisfy the member. The booking and searching book will respond in a matter of second. Member wont have to worry about the system take a long time for searching.Maintainability, the system will automatically backup its data at the end of the day. The data which would be backup is the book that are being borrowed and the stock. If the system suddenly crush, the staff will only need to restore the last available backup.Step 4 Prepare for the Review MeetingPrepare all the details and information relate to the presentations also prepare copies of the presentation to distribute it to the reviewers during the main review meeting. Below show the example list of participants and Agenda.List of participantsNo:Name:Position:

1.Albert WijayaSoftware Engineer

2.DennisDatabase Administrator

3.Vincent JomanSoftware Engineer

4.JenniferDatabase Administrator

5.Nick ChuaManager

7.TimberlakeConversion System Developer

8.JessicaConversion System Developer

Agenda for the meetingTimeActivities

12.10Introduction of Meeting Process section

12.20-Explain the ARID Process

12.50Explain the Conversion System Architecture section

13.20Question and Answer section

13.40Discussion section-Brainstorm scenario

15.00Review today meeting section

15.30Section End

Phase 2Step 5 Present ARID MethodA meeting will be held between the designer and the reviewer. The review facilitators will briefly explain the steps of ARID to the participants. Briefly explain how the conversion system architecture evaluation process works with the step of ARID method. Each step of ARID will be explained in details.Step 6 Present DesignPresenter present an hour overview presentation and explain about the conversion system in this section to the participants. It includes what is the system, why using this system, how the system works and etc. During this time, a ground rule is that no question concerning implementation or rationale are allowed, and also no suggestion is needed about the alternate design during the presentation. The goal is to see if the design is usable, not to find out why things were done certain way.

Step 7 Brainstorm and Prioritize ScenarioIn this section the designer allow the stakeholders to discuss with other people regarding the system based on their opinion. During brainstorming, the entire seed scenario will put into the pool with all others. Then they will decide which part of the system is most important like performance part of the security part. After that, voting occur. The reviewer can vote to any scenario they wish. After the voting is completed, it is important to make the point that the reviewer has just defined what it mean for the design to be useable, if it performed well under the adopted scenarios then it must be agreed that the design has passed the review.Step 8 Perform ReviewBeginning with the scenario that received most votes all participants need to review back all scenarios. Through all the steps of ARID to gather all information and details of the system. Participants makes extensive use of the example that was handed out as part of the designers presentation.During this time, a ground rule is that the designer is not allowed to help or give hints. In the exercise, the designer was tasked with the UML model on a direct-display projector, so when participants had questions about the program interface or interactions he could quickly take us to the specification part. However the group became stuck or began to go off into the wrong direction and then the designer will stop the proceeding. Each time this happened the designer will asked the scribe to record as an issue.Step 9 Present ConclusionsAt the end, from going through the step of the ARID method, the list of issues with the conversion system architecture is recounted, the participants shared their opinion and thru efficacy of the discussion section and they are thanked for their participation in the meeting.

ReferencesMugurel T. Ionita, Scenario-Based Software Architecture Evaluation Methods: An Overview [Online] Available from http://www.win.tue.nl/oas/architecting/aimes/papers/Scenario-Based%20SWA%20Evaluation%20Methods.pdf Paul C (2000) ATAM: Method for Architecture Evaluation [Online] Available from https://www.sei.cmu.edu/reports/00tr004.pdf Paul C (2000) Active Review for Intermediate Designs [Online] Available from https://resources.sei.cmu.edu/asset_files/TechnicalNote/2000_004_001_13685.pdfBarry Boehm, Marry your architecture in haste and you can repent in leisure [Online], Available from http://www.pearsonhighered.com/samplechapter/020170482X.pdfFunctional Requirements vs Non Functional Requirements(2012) [Online], Available from http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/#conversion-0 Sommerville, I., 2007. Software Engineering, Eighth Edition. 8th ed. Addison-Wesley Publishers Limited. [Online] Available from http://unina.stidue.net/Ingegneria%20del%20Software%202/Materiale/Sommerville%20-%20Software%20Engineering%208e.pdf

Page 27 of 27