• 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/29

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;

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