The Software Process

studied byStudied by 1 person
5.0(1)
Get a hint
Hint

what is the software process?

1 / 32

flashcard set

Earn XP

Description and Tags

33 Terms

1

what is the software process?

a structured set of activities required to develop a software system

New cards
2

what are 3 software process models?

  • waterfall model

  • prototyping model

  • extreme programming XP - part of agile

New cards
3

what are the stages in the waterfall model?

knowt flashcard image
New cards
4

what are the benefits of the waterfall model?

  • Easy to understand, easy to use

  • Provides structure to inexperienced staff

  • Milestones are well understood

  • Sets requirements stability

  • Good for management control (plan, staff, track)

New cards
5

what are the cons of the waterfall model?

  • All requirements must be known up-front

  • Deliverables created for each phase are considered frozen – inhibits flexibility

  • Integration is one “big bang” at the end

  • Little opportunity for customer to preview the system

  • Until it may be too late

  • The Software Crisis existed despite the Waterfall model

New cards
6

what is the software specification stage?

process of establishing what services are required and the constraints on the system’s operation and development

New cards
7

what happens during the software specification stage?

requirements engineering process

  • Requirements elicitation and analysis

  • Requirements specification

  • Requirements validation

Using natural language is often problematic

New cards
8

what is the software design and implementation stage?

the process of converting system specification into executable system

New cards
9

what happens during software design?

design a software structure that realises the specification

New cards
10

what happens during software implementation?

translate the designed structure structure into an executable program such as Java

New cards
11

how related are the design and implementation activities?

The activities of design and implementation are closely related and may be inter-leaved e.g. Generating code automatically from UML

New cards
12

what is the software testing stage?

intended to show the system conforms to specification and meets requirements of system customer

New cards
13

what happens during the software testing?

system testing is carried out which involves executing the system with test cases derived from the specification of the real data to be processed by the system

New cards
14

what is the software evolution stage?

over time the system will change

  • infant mortality = high failure rate at the start of release

  • normal life = system works well and failure rate plateaus

  • wear-out = problems resurface and failure rate rises again

<p>over time the system will change</p><ul><li><p>infant mortality = high failure rate at the start of release</p></li><li><p>normal life = system works well and failure rate plateaus</p></li><li><p>wear-out = problems resurface and failure rate rises again</p></li></ul>
New cards
15

what is the software maintenance stage?

consistently maintain system to work how we expect it, fix bugs and add enhancements

New cards
16

what are the 2 types of prototyping?

  • throwaway

  • evolutionary

New cards
17

what is the throwaway/ rapid/ closed-ended prototyping?

  • Creation of a model that will be discarded rather than becoming part of the final delivered software

  • After preliminary requirements gathering, used to visually show the users what their requirements may look like when implemented

  • Focus is on quickly developing the model

  • Not on good programming practices

  • Can be messy

New cards
18

what are the steps in throwaway prototyping?

  1. Write preliminary requirements

  2. Design the prototype

  3. User uses the prototype

    • Specifies/suggests new requirements

  4. Repeat if necessary

  5. Use the product

  6. Then discard it

New cards
19

what is the evolutionary prototyping model?

  • Developers build a prototype during the requirements phase

  • Prototype is evaluated by end users

  • Users give corrective feedback

  • Developers further refine the prototype

  • When the user is satisfied, the prototype code is brought up to the standards needed for a final product

New cards
20

when is it best to use prototyping?

  • Most beneficial for systems that will have many interactions with end users (use cases) as the greater the interaction between the computer and the user, the greater the benefit of building a quick system for the user to use

  • good for designing human-computer interfaces

New cards
21

what is the difference between the risk curve for prototyping method and waterfall method?

  • prototyping has greatly reduces the risk early on

  • waterfall has a higher risk which gradually goes down

<ul><li><p>prototyping has greatly reduces the risk early on</p></li><li><p>waterfall has a higher risk which gradually goes down</p></li></ul>
New cards
22

why is it good to use multiple iterations rather than 1 iteration?

  • requirements can evolve based on business circumstances and the software needs to support the business and evolve too

  • multiple iterations can respond better to change

New cards
23

what practices are used during extreme programming?

incremental planning

small releases

simple design

test first design

refactoring

pair programming

collective ownership

continuous integration

sustainable pace

on-site customer

New cards
24

what is the incremental planning pinciple?

Requirements are recorded on Story Cards and the Stories to be included in a release are determined by the time available and their relative priority. The developers break these Stories into development Tasks.

New cards
25

what is the small releases principle?

the minimal useful set of functionality that provides business value is developed first. Releases of the system are frequent and incrementally add functionality to the first release.

New cards
26

what is the simple design principle?

Enough design is carried out to meet the current requirements and no more.

New cards
27

what is the test first design principle?

An automated unit test framework is used to write tests for a new piece of functionality before that functionality itself is implemented.

New cards
28

what is the refactoring principle?

All developers are expected to refactor the code continuously as soon as possible code improvements are found. This keeps the code simple and maintainable.

New cards
29

what is the pair programming principle?

Developers work in pairs, checking each others work and providing the support to always do a good job.

New cards
30

what is the collective ownership principle?

The pairs of developers work on all areas of the system, so that no islands of expertise develop and all the developers own all the code. Anyone can change anything.

New cards
31

what is the continuous integration principle?

As soon as work on a task is complete it is integrated into the whole system. After any such integration, all the unit tests in the system must pass.

New cards
32

what is the sustainable pace principle?

Large amounts of over-time are not considered acceptable as the net effect is often to reduce code quality and medium term productivity

New cards
33

what is the on-site customer principle?

A representative of the end-user of the system (the Customer) should be available full time for the use of the XP team. In an extreme programming process, the customer is a member of the development team and is responsible for bringing system requirements to the team for implementation

New cards

Explore top notes

note Note
studied byStudied by 18 people
... ago
5.0(1)
note Note
studied byStudied by 1 person
... ago
5.0(1)
note Note
studied byStudied by 59 people
... ago
4.5(2)
note Note
studied byStudied by 3 people
... ago
5.0(1)
note Note
studied byStudied by 14 people
... ago
5.0(1)
note Note
studied byStudied by 18 people
... ago
5.0(1)
note Note
studied byStudied by 14 people
... ago
5.0(1)
note Note
studied byStudied by 5 people
... ago
5.0(3)

Explore top flashcards

flashcards Flashcard (68)
studied byStudied by 44 people
... ago
5.0(1)
flashcards Flashcard (73)
studied byStudied by 9 people
... ago
5.0(1)
flashcards Flashcard (38)
studied byStudied by 28 people
... ago
5.0(1)
flashcards Flashcard (68)
studied byStudied by 12 people
... ago
5.0(1)
flashcards Flashcard (92)
studied byStudied by 50 people
... ago
4.2(5)
flashcards Flashcard (21)
studied byStudied by 22 people
... ago
5.0(1)
flashcards Flashcard (65)
studied byStudied by 8 people
... ago
4.0(1)
flashcards Flashcard (825)
studied byStudied by 377 people
... ago
5.0(1)
robot