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;
29 Cards in this Set
- Front
- Back
What is CMM? |
Capability Maturity Model: A benchmark for measuring the maturity of an organization's software process |
|
What are the 5 levels of CMM based on certain KPA (key process areas)? State the percentages |
Level 1 - Initial (~70%) Level 2 - Repeatable(~15%) Level 3 - Defined (<10%) Level 4 - Managed (<5%) Level 5 - Optimizing(<1%) |
|
The Software Development Life Cycles (SDLC) Model is... |
A framework that describes the activities performed at each stage of a software development project. |
|
There are several kinds of software development life cycle models (SDLC), name a few discussed in this course. |
1. Waterfall Model 2. V-Shaped Model 3. Spiral Model 4. Rapid Application Model |
|
What are the stages of the waterfall model? |
1. Requirements - defines needed information, function behavior, performance and interfaces.
2. Design - data structures, software architecture, interface representations, algorithmic details 3. Implementation - source code, database, user documentation, testing 4. Testing - debugging 5. Installation 6. Maintenance |
|
What are the strengths of the waterfall? |
- Easy to understand - Provides structure to inexperienced staff - Milestones are well understood - Sets requirements stability - Good for management control - Works well when quality is more important than cost or schedule |
|
What are some some deficiencies of the waterfall? |
- All requirements must be known - Deliverables created for each phase are considered frozen (inhibits flexibility) - Does not reflect problem-solving nature - Integration is one big bag at the end - Little opportunity for customer to preview the system |
|
When should we use the waterfall model? |
- Requirements are very well known - Product definition is stable - Technology is understood - New version of an existing product - Porting an existing product to a new platform |
|
What is the V-shaped SDLC model?
|
- A variant of the waterfall that emphasizes the verification and validation of the product. - Testing of the product is planned in parallel with a corresponding phase of development. |
|
What are the stages of the V-Shaped? |
Project and Requirements Planning --> Product Requirements and Specification Analysis --> Architecture or High-Level Design --> Detailed Design --> Coding --> Unit testing --> Integration and Testing --> System and acceptance testing --> Production, operation and maintenance |
|
What are the strengths of the V-shaped model? |
- Emphasize planning for verification and validation - each deliverable must be testable - track progress by milestones - easy to use |
|
What are some weakness of V-shaped model? |
- Does not handle concurrent event - Does not handle iterations or phases - Does not easily handle dynamic changes in requirements - Does not contain risk analysis |
|
When should you use the V-shaped model? |
- Excellent choice for systems requiring high reliability (ie. Hospital) - All requirements are known - When it can be modified to handle changing requirements beyond analysis phase - Solution and technology are known |
|
What is the Spiral Model? |
- Basic idea: evolutionary development - Using the waterfall model for each step or cycle. - Intended to help manage risks by providing feedback along the way. - Don't define in detail the entire system. First develop prototype, implementing the highest priority features first. |
|
What are the stages of the spiral model |
1. Definition (determine objectives) 2. Risk analysis (identify and resolve risks) 3. Prototype (development and test) 4. Validation (develop, verify next level product) 5. Planning (plan next phases/iteration) |
|
What are some strengths using this model? |
- Provides early indication of insurmountable risks, without much cost - Users see the system early because of rapid prototyping tools - Critical high-risk functions are developed first - Design doesn't have to be perfect - Users can be closely tied to all lifecycle steps - Early and frequent feedback from users - Cumulative costs assessed frequently. |
|
What are some spiral model weaknesses? |
- Time spent for evaluating risks too large for small or low-risk projects - Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive - The model is complex - Risk assessment expertise is required - Spiral may continue indefinitely - Developers must be reassigned during non-development phase activities - May be hard to define objective, verifiable milestones that indicate readiness to process through the next iteration |
|
When to use Spiral Model? |
- When creation of a prototype is appropriate - When costs and risk evaluation is important - For medium to high-risk projects - Long-term project commitment unwise because of potential changes to economic priorities - Users are unsure of their needs - Requirements are complex - New product line - Significant changes are expected (research and exploration) |
|
There are also Agile SDLC's, what is an agile SDLC? |
- Speed up or bypass one or more life cycle phases - Usually less formal and reduced scope - Used for time-critical applications - Used in organizations that employ disciplined methods |
|
What is an agile method that was discussed? |
Rapid Application Development (RAD) |
|
What is RAD? |
Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. |
|
What are the phases of RAD? |
-Requirements planning phase -User description phase -Construction phase -Cutover phase |
|
Explain the Requirements Planning Phase |
- It combines elements of the system planning and system analysis phases of the SDLC - Users, managers, and IT staff members discuss and agree on business needs - It ends when the team agrees on the key issues and obtains management authorization to continue |
|
Explain the User Design Phase |
- Users interact with system analysts and develop models and prototypes that represent all system processes, inputs and outputs -Typically use a combination of Joint application development (JAD) and CASE tools. - A continuous interactive process that allows users to understand modify and eventually approve a working model of the system |
|
Explain Construction Phase |
- Focuses on program and application development task similar to SDLC. - However, users continue to participate and can still suggest changes or improvements - Tasks involve programming, coding, app development, unit-integration and system testing. |
|
Explain Cutover Phase |
- Resembles the final tasks in SDLC implementation phase. - Compared to traditional methods, the process is compressed. As a result the system is built/in operation much sooner - Tasks are data conversion, full-scale testing, system changeover, user training |
|
What are RAD strengths? |
- Reduced cycle time - Time-box approach - Customer involved throughout - Focus moves from documentation to code - Uses modeling concepts |
|
What are RAD weaknesses? |
- Must give quick responses - Risk of never achieving closure - Hard to use with legacy systems - Requires a system that can be modularized - Committed to rapid-fire activities |
|
When should you use RAD? |
- well-known requirements - user involved throughout the life cycle - project can be time-boxed - functionality delivered in increments - High performance not required - Low technical risks - System can be modularized |