Software Engineering Final Exam
Study online at https://quizlet.com/_hs3wws
1. structured analysis: considers data and the process that transforms data as separate entities
2. object oriented analysis: considers the class and how it collaborates with other classes
3. requirements of modeling for webapps: - content analysis
- interaction analysis
- functional analysis
- configuration analysis
4. interaction model: - use cases
- sequence diagrams
- state diagrams
- user interface prototype
5. functional model: - user observable functionality
- operations contained within analysis classes
6. configuration model: server side:
- server hardware and operating system environment must be specified
- interoperability considerations on the server side must be considered
- appropriate interfaces, communication protocols, and related collaborative information must be specified
client side:
- browser configuration issued must be identified
- testing requirements should be defined
7. design principles: - design process should not suffer from tunnel vision
- design should be traceable to the analysis model
- design should not reinvent the wheel
- design should minimize the intellectual distance between the software and the problem as it exists in the real world
- design should exhibit uniformity and integration
- design should be structured to accommodate change
- design should be structured to degrade gently
- design is not coding, coding is not design
- design should be assessed for quality as it is being created
- design should be reviewed to minimize conceptual errors
8. architecture: the overall structure of the software and the ways that structure provides conceptual integrity for
a system
9. cohesion: the degree to which a module performs one and only one function
, Software Engineering Final Exam
Study online at https://quizlet.com/_hs3wws
10. coupling: the degree to which a module is connected to other modules in the system
11. refactoring: process of changing a software system in such a way that it does not alter the external behavior
of the code yet improves its internal structure
12. why architecture?: - enables communication between all parties interested in the development of the
system
- highlights early design decision
- provides a relatively small, intellectually graspable model of how the system is structured and how its components wil
work together
13. data design: - create a model of data at a high level of abstraction
- iteratively refine into more implementation specific representations
- data structures at the component level
- database architecture at the application level
- data warehouse at the business level
14. data warehouse: a large independent data store that contains some but not all data that are stored in a
business' database
15. data mining: navigating through a business' databases for the purpose of knowledge discovery
16. architectural styles encompass: - set of components that perform a function required by a system
- set of connectors that enable 'communication, coordination, and cooperation' among components
- constraints that define how components can be integrated to form the system
- semantic models that enable a designer to understand the overall properties of a system by analyzing the known
properties of its constituent parts
17. architectural patterns: - concurrency - applications must handle multiple tasks in a manner that simu-
lates parallelism
- persistence - data persists if it survives past the execution of the process that created it
- distribution - the manner in which systems or components within the systems communicate with one another in a
distributed environment
18. horizontal partitioning: - define separate branches of the module hierarchy for each major function
(vertical lines)
- user control modules to coordinate communication between functions
19. vertical partitioning: - design so that decision making and work are stratified (horizontal lines)
- decision making modules should reside at the top of the architecture
Study online at https://quizlet.com/_hs3wws
1. structured analysis: considers data and the process that transforms data as separate entities
2. object oriented analysis: considers the class and how it collaborates with other classes
3. requirements of modeling for webapps: - content analysis
- interaction analysis
- functional analysis
- configuration analysis
4. interaction model: - use cases
- sequence diagrams
- state diagrams
- user interface prototype
5. functional model: - user observable functionality
- operations contained within analysis classes
6. configuration model: server side:
- server hardware and operating system environment must be specified
- interoperability considerations on the server side must be considered
- appropriate interfaces, communication protocols, and related collaborative information must be specified
client side:
- browser configuration issued must be identified
- testing requirements should be defined
7. design principles: - design process should not suffer from tunnel vision
- design should be traceable to the analysis model
- design should not reinvent the wheel
- design should minimize the intellectual distance between the software and the problem as it exists in the real world
- design should exhibit uniformity and integration
- design should be structured to accommodate change
- design should be structured to degrade gently
- design is not coding, coding is not design
- design should be assessed for quality as it is being created
- design should be reviewed to minimize conceptual errors
8. architecture: the overall structure of the software and the ways that structure provides conceptual integrity for
a system
9. cohesion: the degree to which a module performs one and only one function
, Software Engineering Final Exam
Study online at https://quizlet.com/_hs3wws
10. coupling: the degree to which a module is connected to other modules in the system
11. refactoring: process of changing a software system in such a way that it does not alter the external behavior
of the code yet improves its internal structure
12. why architecture?: - enables communication between all parties interested in the development of the
system
- highlights early design decision
- provides a relatively small, intellectually graspable model of how the system is structured and how its components wil
work together
13. data design: - create a model of data at a high level of abstraction
- iteratively refine into more implementation specific representations
- data structures at the component level
- database architecture at the application level
- data warehouse at the business level
14. data warehouse: a large independent data store that contains some but not all data that are stored in a
business' database
15. data mining: navigating through a business' databases for the purpose of knowledge discovery
16. architectural styles encompass: - set of components that perform a function required by a system
- set of connectors that enable 'communication, coordination, and cooperation' among components
- constraints that define how components can be integrated to form the system
- semantic models that enable a designer to understand the overall properties of a system by analyzing the known
properties of its constituent parts
17. architectural patterns: - concurrency - applications must handle multiple tasks in a manner that simu-
lates parallelism
- persistence - data persists if it survives past the execution of the process that created it
- distribution - the manner in which systems or components within the systems communicate with one another in a
distributed environment
18. horizontal partitioning: - define separate branches of the module hierarchy for each major function
(vertical lines)
- user control modules to coordinate communication between functions
19. vertical partitioning: - design so that decision making and work are stratified (horizontal lines)
- decision making modules should reside at the top of the architecture