Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
47 Cards in this Set
- Front
- Back
What is the difference between a functional requirement and a non-functional requirement? |
Functional requirement describes what a software system should do. Non-functional requirement describes a constraint on how the system will do so. |
|
What is the term of an unexpected behavior exhibited by a system when observed by a User? |
Defect/Fault |
|
What is the term of an unexpected behavior exhibited by a system when observed by Q/A? |
Error |
|
What is the term of an unexpected behavior exhibited by a system when observed during unit testing? |
Bug |
|
Loose Coupling |
Design class collaboration should be kept to an acceptable minimum. |
|
High Coupling |
Design class collaborate with as many, if not all, other design classes as possible. Reduces design class self-dependency and re-usability. |
|
Low Cohesion |
Obfuscated code and design that has a large focus of responsibilities and does not efficiently segregate code segments into individual responsibilities. |
|
High Cohesion |
Design class has a small, focused set of responsibilities and single-mindedly applies attributes and methods to implement those responsibilities. |
|
White Box Testing |
Emphasizes viewing the system internally, testing various case inputs that exercise paths through code and determines the appropriate outputs. Usually tested by developers. |
|
Black Box Testing |
Emphasizes viewing the system from the outside, testing features and the solution without involving the inner workings of the product. Testing usually done by Q/A and testers |
|
Validation vs Verification |
Validation: Ensure the correct product was built Verification: Ensure the product is built correctly |
|
What is the purpose of acceptance testing? |
The ensure the program does what is expected of it. Usually tested by the user. |
|
What is Integration testing? |
Once the modules have been unit tested, integration testing tests the functionality of the entire system of modules. Tests look for interfacing issues between modules and if output is what is expected one all modules are interfacing correctly. |
|
What are some examples of Ease of Learning for user usability? |
-Help Dialogues -Tool Tips -Consistent interface -Cater to user/domain knowledge -Follow standards/conventions set by other applications of the same domain |
|
What are the Five defined roles of the formal Inspection process? |
Author-Creator of code, arranges meeting Scribe-Takes notes on what problems are found Moderator-Keeps discussion on track. Reader-Reads/interprets code Inspector-Reviews code pre-meeting, brings up issues during meeting |
|
Describe the incremental build model |
Method of software development where the product is designed, implemented and tested incrementally until the product is finished. Combinations of prototyping and waterfall |
|
Describe Waterfall build model |
A sequential development approach, in which development is seen as flowing steadily downwards. This is when requirements for a problem are well understood. A Strict waterfall approach discourages revisiting and revising any prior phase once completed. (Ex. Military requests navigation software of fighter jets; requirements will be clear cut, and an expected delivery date is set.) |
|
Describe the prototyping build model. |
Development approach of creating prototypes that are used for mock-ups and testing, and then tossed out and reimplemented fully . |
|
What is the adapter pattern? |
A Structural design pattern which adapts older/off-the-shelf components to be compatible with a new system. |
|
What is the factory method pattern? |
A Creational pattern which is designed to create objects. Defines an interface for creating common an object where its parameters determine what type of object. |
|
What is the observer pattern? |
A Behavioral pattern that registers itself to be notified of state changes. |
|
What is the Proxy pattern? |
a Structural pattern that provides a stand-in for another object to control access. |
|
What is the façade pattern? |
A structural pattern that provides an simplified and usable high-level interface that interacts with the more complex lower level subsystem. |
|
What is the singleton pattern? |
Creational pattern that ensures a class has only one instance and provides a global point of access to it. |
|
What is the strategy design pattern? |
Behavioral pattern that defines a family of algorithms/methods that are each encapsulated and interchangeable. Strategy lets the algorithm/method vary independently from the clients that use it. |
|
What are the three sub-types of design patterns? |
Creational, Structural, Behavioral |
|
What is the decorator design pattern? |
A Behavioral pattern that attaches additional responsibilities to the object dynamically. |
|
What is the process of rerunning tests with each change to the system? |
Regression testing; checks to see if a changes in the module broke something that was working before.
|
|
What are two ways to remove defects? |
- Patches, Fixes after release - Fixing process that leads to defects (cost-effective) |
|
What are the three golden rules of usability? |
-Place the user in control -Reduce the memory load of user -Make the interface consistent |
|
Name four interface design principles. |
Anticipation: Anticipate what the user is going to do Communication: Communicate the status of an activity to the user Consistency: Navigations, menus, icons, colors are all within the same them and design style Fitt's Laws: Movement time proportional to distance and size of target Human Interface Objects: use normal radio buttons, checkboxes, droppdowns, etc |
|
What are the three types of quality costs? |
- Prevention - Internal - External |
|
Name some types of costs for Prevention quality cost. |
Training, Formal Code Review, Quality Planning, Testing |
|
Name some types of costs for Internal Failure quality costs. |
Repair, Rework, Failure mode analysis |
|
Name some types of costs for external failure quality costs. |
Warranty, Complaint resolution, helpline support, return and replacement |
|
What are the 5 generic software engineering framework activities? |
-Communication -Planning -Modeling -Construction -Deployment |
|
Name three benefits that design patterns bring to software development? |
-Saves time (Promotes re-use) -Helps readability -Less Errors -Solves a recurring problem -Lowers production costs (already designed) |
|
What is an Anti-pattern? |
Something that seems like a solution but doesn't actually fix the problem. A pattern that is a detriment to productivity and development of the product itself. |
|
What are the four main components of a design pattern? |
-Context: The general situation in which the pattern applies -Problem: A short description of the main difficult -Forces: The issues or concerns to consider when solving the problem. -Solution: The recommended way to solve the problem in the given context. |
|
List 3+ reasons why unit testing is good. |
-Easier to isolate problems -Provided example of how code should behave from documentation -Catches errors earlier in dev cycle -Easiest type of testing to do -Encourages code modularization -Automated -Improved code confidence |
|
Identify 2+ advantages to formal review process |
-Problems are tracked -There exists a defined structure and time -Bugs can prioritized -Reviewers are prepared -Increase knowledge base of all members on source code |
|
Describe three types of testing performed by users and clients |
Alpha: Developers and specific customer come to a controlled environment to test Beta: Less controlled test with customers Acceptance: customers try out software to see if it fits their needs |
|
Integration strategy where the entire integrated system is tested for the first time as a unit. |
Big Bang |
|
Integration strategy where testing starts with the only the User interface and underlying functionality isolated by stubs. |
Top Down |
|
Integration strategy where testing starts at the lower level of the system via drivers. |
Bottum up |
|
What are the differences between a framework and a design pattern? |
-Design patterns are more abstract -Design patterns are smaller architectural elements -Design Patterns are less specialized than frameworks |
|
What is the difference between testing and debugging? |
-Testing finds errors -Debugging removes errors |