• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/47

Click to flip

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