Lernkarten

Karten 37 Karten
Lernende 1 Lernende
Sprache English
Stufe Universität
Erstellt / Aktualisiert 17.12.2019 / 19.12.2019
Lizenzierung Keine Angabe
Weblink
Einbinden
0 Exakte Antworten 37 Text Antworten 0 Multiple Choice Antworten
Fenster schliessen

Why Software Engineering?

—Where did the specification come from?

—How do you know the specification corresponds to the user’s needs?

—How did you decide how to structure your program?
—How do you know the program actually
meets the specification? —How do you know your program will always work correctly? —What do you do if the users’ needs change?

—How do you divide tasks up if you have more than a one-person team?

Fenster schliessen

What is Software Engineering?

State of the art of developing quality software on time and within budget

Multi person construction of multi version software

Software engineering is different from other engineering disciplines (not constrained by physical law)

(Engineering practices cover not only technological aspects of the products being built, but also such diverse aspects such as planning, process management, and quality standards.

Fenster schliessen

Software development activities

Requirements Collection: Establish customer's needs

Analysis: Model annd specify the requirements ('what')

Design: Model and specify a solution ('how')

Implementation: Construct a solution in a software

Testing: Validate the solution against the requirements

Maintenance: Repair defects and adapt the solution to new requirements

(these are ongoing activties not sequential phases)

Fenster schliessen

Why is the waterfall model unrealistic? What are the problems?

- Because requirements must be frozen too early in the life cycle

- Because requirements are validated too late

--------------------------------

  1. Iteration always occurs
  2. Difficult to state all requirements explicitly at the beginning of the project
  3. There won't be a working version of the software until late in the project

(Early prototyping helps to alleviate 2 and 3)

Fenster schliessen

Why Iterative Development?

New requirements can be introduced at any point in the project. Implementation of prototypes may start before detailed design to explore requirements. Testing typically starts as implementation starts.

Plan to iterate your analysis, design and implementation

(You won't get it right the first time, so integrate, validate, test)

(You should only use iterative development on projects that you want to succeed)

Fenster schliessen

Boehm's Spiral Lifecycle

Lizenzierung: Keine Angabe

With each iteration the system incrementally grows and evolves

Keyword: Iterative and incremental spiral lifecycle

Fenster schliessen

Incremental Development

If possible always have a running version of the system, even if most functionality is yet to be implemented

Integrate new functionality as soon as possible

Validate incremental versions against user requirements

Fenster schliessen

The Rational Unified Process

Lizenzierung: Keine Angabe

Framework for an iterative development lifecycle proposed by Rational Software.