Final deck Flashcards
What is factory method pattern?
A creational pattern (under design pattern), that deals with object creation mechanisms.
Basic form of object creation could result in design problems or added complexity. Factory pattern solves this by controlling this object creation
What is the intent of builder design pattern?
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
What is adapter design pattern? (Structural Design pattern)
Convert interface of a class into another interface clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.
What are structural design patterns?
Structural design patterns are all about class and object composition. Structural class-creating patterns use inheritance to compose interfaces. Structural object-patterns define ways to compose objects to obtain new functionality.
What are Behavioral design patterns?
Behavioral design patterns are all about Class’s objects communication. Behavioral patterns are those patterns that are most specifically concerned with communication between objects.
What is Equivalence partitioning?
Software testing technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived.
Goal is to reduce test cases that must be developed.
What are the steps of spiral?
Combination of waterfall and iterative model. Each phase begins with design goal and ends with client reviewing the progress.
- Planning - includes estimating the cost, schedule and resources for the iteration. Involves udnerstanding the system requirements for continuous communication between the system analyst and the customer
- Risk analysis - Identification of potential risk is done while risk mitigation strategy is planned and finalized
- Engineering - Testing, coding, deploying software at the customer site
- Evaluation - Evaluation by the customer. Includes identifying and monitoring risks such as schedule slippage and cost overrun.
When to use spiral?
When project is large
When releases are required to be frequent
When creation of a prototype is applicable
When risk and costs evaluation is important
for medium-high risk projects
when requirements are unclear and complex
when changes may require at any time
when long term project commitment is not feasible due to changes in economic priorities
Advantages of spiral
Additional functionality can be done at later stage
Cost estimation becomes easy as the prototype building is done in small fragments
continuous or repeated development helps in risk management
Development is fast and features are added in a systematic way
Disadvantages of spiral
Risk of not meeting the schedule or budget
works best for large projects, demands risk assessment expertise
for smooth spiral, protocol needs to be followed strictly
More documentation