Writing Break

SOFTENG 325 Notes

757 words • Reading time: 4 minutes

SOFTENG 325 Notes

content:

REST API Design

Request header:
Path param:
Search param:
Request body:
Response codes:
Response body:

Quality Attribute Scenarios

Performance

Portion of Scenario Possible Values
Source Internal or external to the system
Stimulus Arrival of a periodic, sporadic, or stochastic event
Artifact System or one or more components in the system
Environment Operational mode: normal, emergency, peak load, overload
Response Process events, change level of service
Response Measure Latency, deadline, throughput, jitter, miss rate

Availability

Portion of Scenario Possible Values
Source Internal/external people, hardware, software, physical infrastructure
Stimulus Fault: omission, crash, incorrect timing, incorrect response
Artifact Processors, communication channels, persistent storage, processes
Environment Normal operation, startup, shutdown, repair mode, degraded operation, overloaded operation
Response Prevent the fault from becoming a failure (detect and recover)
Response Measure Time interval when the system must be available, availability percentage, time to detect the fault, time to repair the fault, time interval in which system can be in degraded mode, proportion of class of faults that the system prevents or handles without failing

Modifiability

Portion of Scenario Possible Values
Source End user, developer, system administrator
Stimulus A directive to add/delete/modify functionality, or change a quality attribute, capacity, or technology
Artifact Code, data, interfaces, components, resources, configurations, etc.
Environment Runtime, compile time, build time, initiation time, design time
Response One or more of the following: make modification, test modification, or deploy modification
Response Measure Cost in terms of number, size, complexity of affected artifacts; effort; calendar time; money; extent to which this modification affects other functions or quality attributes; or new defects introduced

Security

Portion of Scenario Possible Values
Source Internal or external human or another system unknown to our system
Stimulus Unauthorised attempt to display/change/delete data, access system services, change system behaviour, reduce availability
Artifact System services, data within system, component/resources of system, data produced/consumed by system
Environment System is online/offline, connected/disconnected from network, behind firewall / open to network, fully/partially/not operational
Response System continues normal operation without disclosing protected info, records sus activity
Response Measure Harms against system in terms of time/services/assets/etc

Usability

Portion of Scenario Possible Values
Source End user, possibly in specialised role
Stimulus Tries to use efficiently, learn to use, minimise impact of errors, adapt the system, configure the system
Artifact System or portion of system being interacted with
Environment Runtime, configuration time
Response System should provide user with features needed or anticipate user’s needs
Response Measure Task time, no. of errors, tasks accomplished, user satisfaction, knowledge gain, successful : total operations, time/data lost when error occurs

Testability

Portion of Scenario Possible Values
Source Unit/integration/system/acceptance testers, end users (running manually or using automated test tools)
Stimulus Set of tests executed due to completion of coding task / sub-system integration / whole system implementation, delivery of system to customer
Artifact Portion of system being tested
Environment Design/development/compile/integration/deployment/run time
Response Execute test suite and capture results, capture activity resulting in fault, monitor system state
Response Measure Effort to find fault/s, effort to achieve % of state space coverage, probability of fault being revealed in next test, time to prep test environment, time to perform tests, effort to detect faults, length of longest dependency chain in test, reduction in risk exposure

Tactics

ye ye ye ye ye

For Usability: support user intiative, support system initiative, separate UI (e.g. MVC pattern)

Architectural Patterns

See actual slides for better details.

Structures and Views

Module Structures

Elements are modules representing functional responsibility.

See actual slides for diagrams.

Component and Connector Structures

How elements communicate with each other at runtime to function.

See actual slides for diagrams.

Allocation Structures

Maps software components into external environments; relationships include (execution, testing, deployment).

See actual slides for diagrams.