Term
What is software Engineering? |
|
Definition
"A form of creative human design." |
|
|
Term
3 Perspectives of Software Engineering |
|
Definition
Business Engineering Design |
|
|
Term
Essential Difficulties of SE |
|
Definition
CCCI Complexity Conformity Changeability Intangibility |
|
|
Term
Principal Design Decisions |
|
Definition
BINS Structure Behavior Interaction Non-Functional Properties |
|
|
Term
Definition of Software Architecture |
|
Definition
"Software architecture is the blueprint for a software system's construction and evolution." |
|
|
Term
Fundamental Principles of Software Architecture |
|
Definition
Rigor and formality Modulary and Abstraction Generality Incrementability Anticipation of change |
|
|
Term
|
Definition
-Encapsulates a subset of a system functionality -restricts access -explicit defined dependencies |
|
|
Term
|
Definition
procedure call or shared data access provide application-independent interaction procedure call, shared memory, message passing, streaming, distribution |
|
|
Term
7 Styles of architectural configuration or topology |
|
Definition
Object-oriented MVC Client server blackboard P2P pip and filter pub-sub |
|
|
Term
Why is descriptive modified from prescriptive? |
|
Definition
Sloppiness Short deadlines lack of documentation need for code optimization inadequate tech |
|
|
Term
Why user-orientation matters? |
|
Definition
its where you make your money medical equipment needs to be easy to use |
|
|
Term
|
Definition
Simpler cheaper higher sales higher satisfaction |
|
|
Term
|
Definition
IPSSSSMD Interviews & observations Personas Scenarios Storyboards Swimming lane diagrams Site maps Mock Ups Design Guidelines |
|
|
Term
|
Definition
MUVCREAMHH Maintain system words to real words User Control and Freedom Visible system Status Consistency & standards Recognition rather than recall Error Prevention Accelerators Minimalistic design Help error recovery help and documentation |
|
|
Term
|
Definition
S: Fine for short program W: Bad for non-trivial programs |
|
|
Term
|
Definition
S:Documentation and disciplined W:Might not get the right program by the end. |
|
|
Term
|
Definition
S:Ensures product meets clients needs W:Beyond all doubt |
|
|
Term
|
Definition
S:Maximizes early return on investment and promotes maintainability. W:May degenerate into build-and-fix. |
|
|
Term
Synchronize-and-stabilize |
|
Definition
S:Ensures components can be successfully integrated. W:Only microsoft uses it. |
|
|
Term
|
Definition
S:Incorporates features of all other models. W:Only works on large scale and must have good RA and risk resolution team. |
|
|
Term
|
Definition
Put certain amount of time into all categories.
The need to have flexibility/adaptability in the process itself. |
|
|
Term
|
Definition
Develop initial version, then maintain. Users become co-developers. |
|
|
Term
|
Definition
Collective code ownership just enough feedback to know where you are Pair programming simple practice |
|
|
Term
Techniques to create requirements |
|
Definition
Interviews, use case/scenarios, prototype solutions, observe customers, identify important object/roles/functions, perform research, glossaries, question yourself. |
|
|
Term
|
Definition
Intro executive summary application context Functional requirements Environmental requirements Software qualities Other requirements Time schedule Potential risks Future changes Glossary References |
|
|
Term
|
Definition
Cretim Purifs Correctness, reliability, efficiency, testability, integrity, maintainability, portability, usability, reusability, interoperability, flexibility, simplicity |
|
|
Term
Users of Requirements Doc |
|
Definition
System Customers Managers System Engineers System Test engineers System maintenance engineers |
|
|
Term
|
Definition
Develop -> Dev ~~~ Tests -> Execute 1.Req. 1.Acceptance 1. System 2.Design 2.Integration-> 3.Code 3.Unit -> |
|
|
Term
Purpose of design notations |
|
Definition
|
|
Term
8 different Design Notations |
|
Definition
CUSS PEAS Class diagram User interface storyboard sequence diagrams Pseudo Code Entity relationship diagrams Architectural diagrams State-transition diagrams |
|
|
Term
|
Definition
Help designers with understand the execution of class diagrams with the classes, their inter-relationships and the operations/attributes of the class. |
|
|
Term
|
Definition
Ensure software meets specification internal consistency "Are we building the product right?" |
|
|
Term
|
Definition
Ensure software meets customers intent External consistency "are we building the right product?" |
|
|
Term
|
Definition
Assure software qualities are met reveal and location F/F/E show system correctness improve the confidence that the system performs as specified and desired |
|
|
Term
|
Definition
Incorrect output or crash |
|
|
Term
|
Definition
Invalid execution state, may or may not produce a failure |
|
|
Term
|
Definition
Defect in source code, called a bug |
|
|
Term
Different levels of testing |
|
Definition
Unit Integration Acceptance |
|
|
Term
What are the tests tasks? |
|
Definition
Devise Test Cases Choose Test Cases Run Test Cases |
|
|
Term
|
Definition
Additional code brought to support dev Test Driver (Main) Test stub: Replacement of real code Test Harness: replacement of other parts |
|
|
Term
|
Definition
Mechanism to decide whether test case succeeds or fails |
|
|
Term
What is White Box Testing? |
|
Definition
Structural tests the nitty gritty need access to source code *Choose test cases that cover all |
|
|
Term
What is black box testing? |
|
Definition
Specification-based testing System behavior Less systematic *Test w/ req, design, function sig |
|
|
Term
What are some different test cases? |
|
Definition
Nodes edges loops conditions paths |
|
|
Term
|
Definition
Not all faults are obvious nodes, edges, or loop combos infeasible "thoroughness" |
|
|
Term
What different subdomains can you make from a basis? |
|
Definition
Size order structure correctness |
|
|
Term
How to avoid problems of structural testing |
|
Definition
LICE SMCG Listeners interactive programs concurrent programs exceptions self-modifying programs mobie code constructors/destructors garbage collection |
|
|
Term
|
Definition
1. Real Needs vs Actual spec & correct 2. Complexity of everything 3. Management, QA, and dev working together. 4. QA is considered cumbersom |
|
|