Lecture 2: Software Processes

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/58

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

59 Terms

1
New cards

Software process

A set of activities whose goal is the development or evolution of software (specification, development, validation, evolution).

2
New cards

Specification

What the system should do and its development constraints.

3
New cards

Development

Production of the software system to meet the specification.

4
New cards

Validation

Checking that the software does what the customer wants.

5
New cards

Evolution

Changing the software in response to changing demands.

6
New cards

Software process model

A simplified representation of a software process from a perspective, including activities, products, and roles.

7
New cards

Waterfall Model

A sequential software process model with distinct phases and limited feedback; progression through requirements, design, implementation, testing, and deployment.

8
New cards

Requirements analysis

Identifying functionalities to be provided by the system through end-user consultation.

9
New cards

System and software design

Establishing an overall architecture showing how sub-systems interact.

10
New cards

Implementation and unit testing

Coding the software and testing individual units for proper operation.

11
New cards

Integration and system testing

Combining units into a complete system and testing to ensure requirements are met.

12
New cards

Operation and maintenance

Installing the system at the user site, training users, and fixing issues post-delivery.

13
New cards

Characteristics of Waterfall Life Cycle

Discrete, sequential stages; each phase must finish before the next begins; milestones and documentation.

14
New cards

Drawbacks of Waterfall Life Cycle

Inflexible to change; limited customer involvement; difficult to accommodate incomplete requirements.

15
New cards

Prototyping Model

Uses a throwaway prototype to elicit requirements and feasibility, especially when requirements are unclear.

16
New cards

Prototype

A simplified version of the system used to explore requirements or user experience.

17
New cards

Purpose of prototype

To elicit and validate requirements and feasibility, and to refine system design.

18
New cards

Prototyping model benefits

Speeds requirements elicitation, improves user interaction understanding, and increases acceptance.

19
New cards

Prototyping model drawbacks

Prototypes can mislead about progress, may be reused improperly, and can cause quality issues if misused.

20
New cards

Prototype development cycle

Requirements gathering → define functionality → quick design → build throwaway prototype → evaluate and refine.

21
New cards

Throwaway prototype

A prototype intended to be discarded after its purpose is served.

22
New cards

Benefits of prototyping

Clarifies misunderstandings, aids user interaction design, and aids requirement validation.

23
New cards

Spiral Model

A risk-driven process model with iterative loops that combine elements of other models; emphasizes risk assessment and reduction.

24
New cards

Spiral Model sectors

Objective setting; risk assessment and reduction; development and validation; planning.

25
New cards

Spiral Model drawbacks

Requires risk expertise, lacks inherent milestones, and can be hard to manage with many contributors.

26
New cards

Incremental Model

Delivering the system in increments, each adding functionality; allows early delivery and user feedback.

27
New cards

Incremental plan

Prioritize user requirements and deliver highest-priority ones first; later increments freeze requirements.

28
New cards

Incremental advantages

Early value delivery, prototypes for elicitation, lower overall risk, focused testing.

29
New cards

Incremental problems

Small increments must deliver usable functionality; difficult to size increments; documentation and change management can be challenging.

30
New cards

Agile Modelling (AM)

An approach to improve system modelling by combining practices from modeling methods within a project.

31
New cards

Agile Modelling steps

Define requirements, find/use stories, high-level planning, begin iterations, write stories, implement functionality, test, deploy.

32
New cards

Agile methodology

Group of iterative development methods with short timeboxed iterations and minimal long-term planning.

33
New cards

Timebox

A fixed-duration iteration in agile development, typically 1–4 weeks.

34
New cards

Story cards/User stories

Brief requirements from the user perspective, written on cards for planning.

35
New cards

Product backlog

A prioritized list of user requirements maintained by the Product Owner.

36
New cards

Sprint backlog

Tasks derived from the product backlog to be completed in a sprint.

37
New cards

Acceptance testing

Testing to determine whether the system satisfies requirements and is acceptable to the user.

38
New cards

XP (Extreme Programming)

An agile methodology focusing on quality, frequent releases, test-driven development, and customer involvement.

39
New cards

XP release cycle

Select user stories for release, break into tasks, plan release, develop/integrate/test, evaluate, and release.

40
New cards

XP practices (general)

Incremental planning, small releases, simple design, test-first development, and continuous refactoring.

41
New cards

XP practices (2): Pair programming

Two programmers work together at one workstation to improve quality and share knowledge.

42
New cards

XP practices (2): Collective ownership

Any developer can change any part of the code; no isolated ownership.

43
New cards

XP practices (2): Continuous integration

Code is integrated frequently with automated tests run after each integration.

44
New cards

XP practices (2): Sustainable pace

Avoids excessive overtime to maintain productivity and code quality.

45
New cards

XP practices (2): On-site customer

A customer representative is available full-time to the team to provide requirements.

46
New cards

XP testing

Test-first development, scenario-based testing, customer involvement, and automated test harnesses.

47
New cards

Requirements scenarios

User requirements expressed as scenarios or stories, broken into implementation tasks.

48
New cards

Scrum

An agile framework with roles (Product Owner, Scrum Master, Team), artifacts (Product Backlog, Sprint Backlog), and timeboxed Sprints.

49
New cards

V-Model

Verification and Validation model; left side shows development activities, right side shows corresponding test activities.

50
New cards

Verification

Static checking of design and code through reviews and inspections.

51
New cards

Validation

Dynamic testing of the actual product by executing the code.

52
New cards

V-Model test levels

Unit/Component testing, Integration testing, System testing, Acceptance testing.

53
New cards

V-Model advantages

Simple, early test planning, proactive defect tracking, good for small projects with clear requirements.

54
New cards

V-Model disadvantages

Rigid and inflexible; limited early prototypes; changes require test/document updates.

55
New cards

When to use V-Model

Small to medium projects with clearly defined and fixed requirements and available resources.

56
New cards

Reuse/Component-Based Development

Developing by reusing existing components, then modifying and integrating them into the new system.

57
New cards

Component analysis

Search for components to implement requirements; exact matches may not exist.

58
New cards

Requirements modification (reuse)

Modify requirements based on available reusable components.

59
New cards

System design with reuse

Designing the system to incorporate reusable components or