markdowns

Software enginneering

A quick guide through software engineering

Use Cases

Show the external vew of the system. Are scenario based technique in the UML which identify the actors in an interaction. A task which the actor needs to perform.

The details of each use case should also be documented by use case description

Template

Example

Use Case

Actors


Software Processes


What is a Process?

Series of activities when providing a service.

All process have the following characteristics:

Software Processes

When the process involves the building of some product we refer to the process as a life cycle

Coherent sets of activities for software systems

Software Process Models

The Waterfall Model

Separate and distinct phases of specification and development.

Waterfall Model

Problems:

Evolutionary Development

Specification and development are interleaved

Evolutionary Model

Based upon the idea of developing an initial implementation, exposing it to the user and refining it based upon their feedback.

Problems:

Agile and Scrum

Use widely in industry today. Lightweight approach to software development

Agile Model

Focused:

Scrum

Advantages


Requirements


Objectives

Requirements engineering

Is the process of establishing :

Why do we need requirements?

To ensure software solution correctly solves a particular problem we must:

What is a requirement?

It may range from a high-level abstract statement of a service or of a system constraint to be detailed mathematical functional specification

Types

Functional Requirements

Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations

Example

Non-functional Requirements

Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards.

Define system properties and constraints:

Process requirements may also be specified, mandating a particular CASE system, programming language or development method.

Classifications

Example:

Domain Requirements

Requirements that come from the application domain of the system and that reflect characteristics of the domain.

Requirements Imprecision

Problems arise when requirements are not precisely stated.

Requirements Completeness and Consistency

They should include description of all facilities required and there should be no contradictions in the description.

Requirements Measures

Requirements