generated from Arquisoft/lomap_0
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #133 from Arquisoft/develop
Añadido redireccionar al perfil y repositorio
- Loading branch information
Showing
28 changed files
with
669 additions
and
425 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,11 @@ | ||
[[section-design-decisions]] | ||
== Design Decisions | ||
|
||
|
||
[role="arc42help"] | ||
**** | ||
.Contents | ||
Important, expensive, large scale or risky architecture decisions including rationals. | ||
With "decisions" we mean selecting one alternative based on given criteria. | ||
Please use your judgement to decide whether an architectural decision should be documented | ||
here in this central section or whether you better document it locally | ||
(e.g. within the white box template of one building block). | ||
Avoid redundancy. Refer to section 4, where you already captured the most important decisions of your architecture. | ||
.Motivation | ||
Stakeholders of your system should be able to comprehend and retrace your decisions. | ||
.Form | ||
Various options: | ||
* List or table, ordered by importance and consequences or: | ||
* more detailed in form of separate sections per decision | ||
* ADR (architecture decision record) for every important decision | ||
**** | ||
|
||
.Desing Decisions ordered by priority (from most to least important) | ||
[options="header",cols="1,2,2"] | ||
|=== | ||
|Desing Decision|Advantages|Disadvantages | ||
| TypeScript | Versatile language to program web applications. | Neither of us has experience with its use. | ||
| React | Very used javascript library. Easy to learn and use. Reusable components. | We have never worked with a library like this. | ||
| Node.js | Allows javascript use in the backend. High-performance for Real-time Applications. Easy Scalability. Easy to learn. | We only know PHP as server-side language. | ||
| Not using REST API | Less latency. Easier to develop. Lighter application. | Higher coupling in the application. Lack of backend | ||
|=== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,35 @@ | ||
[[section-quality-scenarios]] | ||
== Quality Requirements | ||
|
||
|
||
[role="arc42help"] | ||
**** | ||
.Content | ||
This section contains all quality requirements as quality tree with scenarios. The most important ones have already been described in section 1.2. (quality goals) | ||
Here you can also capture quality requirements with lesser priority, | ||
which will not create high risks when they are not fully achieved. | ||
.Motivation | ||
Since quality requirements will have a lot of influence on architectural | ||
decisions you should know for every stakeholder what is really important to them, | ||
concrete and measurable. | ||
**** | ||
|
||
=== Quality Tree | ||
:imagesdir: images/ | ||
image::QualityTree.png[] | ||
=== Quality Scenarios | ||
|
||
[role="arc42help"] | ||
**** | ||
.Content | ||
The quality tree (as defined in ATAM – Architecture Tradeoff Analysis Method) with quality/evaluation scenarios as leafs. | ||
.Motivation | ||
The tree structure with priorities provides an overview for a sometimes large number of quality requirements. | ||
[options="header",cols="1,3,3"] | ||
|=== | ||
|Quality requirement | Quality scenario | Priority | ||
| Usability | Our app has to be easy to use for every kind of user, even for a non-experienced one. The views must be clear and intuitive, and the user has to be able to browse fluently through the entire application. In addition, the required mechanisms to ease the users use of the app must be implemented. | High | ||
| Privacy | Giving the users the control of the information saved and shared, we guarantee that there won't be personal leaks. This is a result of the use of pods and a very cared system of terms and privacy options. | Medium-high | ||
| Efficiency | The conection and browsing speed must be fast enough to keep the users' attention and to not bore them, giving a fluent experience through the app. | Medium-high | ||
| Testability | The application should be able to go through different test and complete them successfully. Besides, the app has to be prepared for all kind of logical uses by the user | Medium-low | ||
|=== | ||
|
||
.Form | ||
The quality tree is a high-level overview of the quality goals and requirements: | ||
Some of these quality attributes have been checked with the following load tests: | ||
|
||
* tree-like refinement of the term "quality". Use "quality" or "usefulness" as a root | ||
* a mind map with quality categories as main branches | ||
* 4 load peaks of 100 users, each 40 seconds: | ||
|
||
In any case the tree should include links to the scenarios of the following section. | ||
**** | ||
:imagesdir: images/ | ||
image::QualityTree.png[] | ||
=== Quality Scenarios | ||
|
||
[role="arc42help"] | ||
**** | ||
.Contents | ||
Concretization of (sometimes vague or implicit) quality requirements using (quality) scenarios. | ||
image::loadTest_4_peaks.png[] | ||
|
||
These scenarios describe what should happen when a stimulus arrives at the system. | ||
* 1 user per second, through 3 minutes: | ||
|
||
For architects, two kinds of scenarios are important: | ||
image::loadTest_1_user_per_second.png[] | ||
|
||
* Usage scenarios (also called application scenarios or use case scenarios) describe the system’s runtime reaction to a certain stimulus. This also includes scenarios that describe the system’s efficiency or performance. Example: The system reacts to a user’s request within one second. | ||
* Change scenarios describe a modification of the system or of its immediate environment. Example: Additional functionality is implemented or requirements for a quality attribute change. | ||
* 3 series of 1, 5 and 10 users per second during 60 seconds, each other: | ||
|
||
.Motivation | ||
Scenarios make quality requirements concrete and allow to | ||
more easily measure or decide whether they are fulfilled. | ||
image::loadTest_3_series.png[] | ||
|
||
Especially when you want to assess your architecture using methods like | ||
ATAM you need to describe your quality goals (from section 1.2) | ||
more precisely down to a level of scenarios that can be discussed and evaluated. | ||
* normal app use (20 users for 30 seconds): | ||
|
||
.Form | ||
Tabular or free form text. | ||
**** | ||
[options="header",cols="1,3,3"] | ||
|=== | ||
|Quality requirement | Quality scenario | Priority | ||
| Usability | Our app have to be easy to use for every kind of user, even for a non-experienced one. The views must be clear and intuitive, and the user has to be able to browse fluently through the entire application. In addition, must be implemented the recquired mechanisms to ease the users use of the app. | High | ||
| Privacy | Giving the users the control of the information saved and shared, we guarantee that there wouldn't be personal leaks. This is a result of the use of pods and a very cared system of terms and privacy options. | Medium-high | ||
| Efficiency | The conection and browsing speed must be faster enaugh to keep users attention and don't bore them, giving a fluent experience through the app. We are looking a balance with the privacy in terms of storeage of the personal user's information | Medium-high | ||
| Testability | The application should be able to go through different test and complete them successfully. Besides, the app has to be prepared for all kind of logical uses by the user | Medium-low | ||
|=== | ||
image::loadTest_normal_app_use.png[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.