Waterfall software process
Requirements: product requirements document Design: software architecture Implementation: software Verification: Maintenance:
Accidental complexity
Relates to problems which engineers create and can fix
Ex) the details of writing and optimizing code
Essential complexity
Is caused by the problem to be solved and relate to the complexity of context and stakeholders involved
Problem of requirements
Success Factors in 1995
Success factors 2015
Importance of software process
Project success
Financial
Safety
Mitigate project risks
Waterfall vs agile
Model, view, controller
Module cohesion
The extent to which software entities pertaining to the same functionality are contained within a single module
Inter-module coupling
The extent of inter-module connections
Architecture quality attributes
Want low coupling and high cohesion
-results in easier maintenance of code, higher modifiability, and localization of changes
Categories of requirements
Role of architecture
Functionality
-the ability of the system to do the work for which was intended
-has the strangest relationship with architecture
Eg) “when user presses the green button something happens”
Quality requirements
Pertain to the functions of a system
Eg) how quickly does the dialog appear (performance)
How often will func fail (availability)
(Usability)
Two categories of QA’s
Problems with QA’s
Storyboarding
Powerful validation technique
-always them to see if it looks and flows the way it should
V & V activities through development