lecture 2 Flashcards

(21 cards)

1
Q

What is a software process?

A
  • A series of steps involving activities, constraints, and resources to produce an intended output.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is a software process required?

A
  • Processes impose consistency and structure to a set of activities, and helps maintain consistent level of quality in outputs.
  • A process is not simply a procedure or recipe for producing a product. A process usually provides alternative procedures for performing a task.
  • A process structure allows us to examine, understand, control, and improve the activities that comprise the process.
  • processes allow capture of past experience.
  • processes allow us to organize our knowledge about software development.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the key characteristics of a process?

A
  • Prescribes major activities.
  • Uses resources and is subject to constraints.
  • Produces intermediate and final products.
  • Can include sub-processes linked in a hierarchy.
  • Has entry and exit criteria for activities.
  • Activities organized in sequence.
  • have guiding principle that explain the goal of each activity.
  • Constraint, or controls may apply to activities, resources, and Products
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the four fundamental activities in software processes?

A
  • Software Specification
  • Software Development
  • Software Validation
  • Software Evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some important characteristics of process models?

A
  • Understandability
  • Visibility
  • Supportability
  • Acceptability
  • Reliability
  • Robustness
  • Maintainability
  • Rapidity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the Waterfall Model.

A
  • Also called the linear sequential model.
  • Oldest model, commonly used in aerospace and defense projects.
  • Has separate and distinct phases.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the faces of waterfall model?

A
  • requirements analysis and definition.
  • system and software design
  • implementation and unit testing
  • integration and system testing
  • operation and maintenance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the pros and cons of the Waterfall Model?

A

Pros:
* Simple to implement * ease of project management.
* Widely understood and used.

Cons:
* Requires documentation to be provided at each phase
* different organization have different labels for stages. which makes it confusing.
* real projects rarely follow the sequential flow.
* Difficult to state all requirements upfront.
* No working version available until later in the project.
* undeducted blunders can be disastrous.
* Iteration is hard to accommodate.
* all information must be known at the beginning of the project
* deadlock can occur
* does no scale up to large projects well

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe the V-Model.

A
  • Variation of the Waterfall Model.
  • Emphasizes verification and validation at each development phase.
  • Testing phases are directly associated with each development stage.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe the Prototyping Model.

A

Involves creating a prototype before the actual system is built.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Who is the prototyping model suitable for?

A

Suitable for small or medium interactive systems or Parts of large systems, or short-lifecycle systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the kinds of using prototyping model?

A
  • lack of process visibility
  • Software development management relents it.
  • the ballparks often make implementation compromises
  • systems are often poorly structured
  • special skills may be required.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe the RAD (Rapid Application Development) Model.

A
  • High-speed adaptation of the Waterfall Model.
  • Focuses on rapid development through component-based construction.
  • Appropriate for information systems with well-understood requirements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the characteristic of RAD model?

A
  • Rapid developments of business and high level of reuse
  • for large but scalable projects, RAD requires sufficient human resources to create the right number of RAD teams.
  • If commitment is lacking from either constituency, RAD projects will fail.
  • Not all types of applications are appropriate for RAD
  • RAD is not appropriate when technical risks are high
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the Incremental Model?

A
  • An evolutionary model that develops software in increments.
  • Each increment adds functionality, allowing for earlier implementation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the advantages of using the incremental model?

A
  • Useful when staffing is unavailable for a complete implementation by the business deadline.
  • Early increments can pay implemented with fewer people
  • increments can be planned to manage technical risks.
17
Q

Describe the Spiral Model.

A
  • Realistic for large-scale systems.
  • Iterative with an emphasis on risk assessment and management at every stage.
18
Q

What are the characterist of the spiral model?

A
  • Realistic for Large-Scale Systems
  • Early Error Elimination
  • Software Quality Assurance Mechanisms
  • Suitable for Complex, Dynamic, and Innovative Projects
  • Adaptable to User and Financial Changes
  • Lack of Explicit Guidance for Objectives and Alternatives
  • Requirement for Ongoing Technical Risk Assessment
  • Complexity in Risk Assessment and Resolution
19
Q

What is the Component-Based Development Model?

A
  • Focuses on reusing existing components.
  • Suitable for object-oriented software development.
  • Lack of a rich Library of reusable component.
20
Q

Fill in the blank: when a process is used for building a product it’s called a

A

Software Lifecycle

21
Q

Why do we have different life cycles?

A

Because we have different systems