The design process for identifying the sub-systems making up a system and the
framework for sub-system control and communication is architectural design.
The output of this design process is a description of the software architectur
a scenario that describes a thread of usage for a system
actors represent roles people or devices play as the system functions
users can play a number of different roles for a given scenario
Developing a Use-Case
Real-time system control
Driven by externally generated events where the timing of the event is outwith the
control of the sub-systems which process the event.
Two principal event-driven models
Broadcast models. An event is broadcast
Analysis Model Objectives
Describe what the customer requires.
Establish a basis for the creation of a software design.
Devise a set of requirements that can be validated once the software is built.
Analysis Model Guidelines
Analysis products must b
Requirement: A function, constraint or other property that the system must
provide to fill the needs of the systems intended user(s)
Engineering: implies that systematic and repeatable techniques should be used to
ensure that s
Software engineering is the establishment and sound engineering principles
applied to obtain reliable and efficient software in an economical manner.
Software engineering is the application of a systematic, disciplined, quantifiabl
Use Case Diagram Objective
1. Create a semi-formal model of the functional requirements
2. Analyze and define:
Scenarios and reactions
What Makes Good Use-Case Specification?
Lack of ambiguity
Each requirement must be inte
Aimed to control the activities of software development and as such improve
A structured set of activities for
Testing software systems
A software process model is an abstract repre
Softwares Dual Role
Software is a product
Delivers computing potential
Produces, manages, acquires, modifies, displays, or transmits information
Modern software is developed by teams of software specialists
Software is a vehicle for delivering a pro
The repository model
Sub-systems must exchange data. This may be done in two ways:
Shared data is held in a central database or repository and may be
accessed by all sub-systems;
Each sub-system maintains its own database and passes data explicitly to
London Ambulance Service Case Study
Affect managers, stakeholders, and practitioners.
Are believable because they often have elements of truth.
Invariably lead to bad decisions,
Insist on reality as you navigate your wa
What is a software process?
A set of ordered tasks to produce indented output of some kind
The process of building a software product
Life cycle - describes the life of the software from conception thr
Software Project Management
Concerned with activities involved in ensuring that software is delivered
In accordance with requirements; and
Software Management distinctions
Software product intangible
Software design and implementation
The process of establishing what services are required and the constraints on the
systems operation and devel
The process of establishing the services that
The customer requires from a system; and
The constraints under which it operates and is developed.
The requirements themselves are the descriptions of
The system services; and
Software is used by virtually everyone in society either directly or indirectly
The economies of the world are depend on software
Software Engineering Definition
Software Engineering is concerned with theories, methods and tools f
Project Management process
The Project Plan
The project plan sets out:
The resources available to the project;
The work breakdown;
A schedule for the work.
The Project Plan
Project Plan Structure
Requirements engineering processes
The processes used for RE vary widely depending on the application domain, the
people involved and the organisation developing the requirements.
However, there are a number of generic activities common to all processe
Many programs still provide a valuable business benefit, even though they are
one or even two decades old.
Software systems need to be continually updated if they are to remain useful to
These programs must be maintain
Goals and requirements
Non-functional requirements may be very difficult to state precisely and imprecise
requirements may be difficult to verify.
A general intention of the user such as ease of use.
Verifiable non-functional requirement