Professional Documents
Culture Documents
Introduction To Software Engineering Software Modelling UML: Elements of Software Construction
Introduction To Software Engineering Software Modelling UML: Elements of Software Construction
003
Elements of Software Construction
Lecture 1
2
Learning Outcomes
To be able to :
3
What is Software Engineering?
4
What is Software Engineering?
Software Engineering is a discipline whose goal
is the production of:
• quality software,
• delivered on time and
• within budget, that
• satisfies the user’s needs
It encompasses:
• processes,
• management techniques and
• technical methods
to achieve the software engineering goals.
5
Addressing Software Engineering Issues
ASPECTS
UML
Modelling Testing
Coding
6
Software Development Life Cycle
(SDLC)
• SDLC: process of building, deploying, using,
and maintaining a system
• Five activities or phases in a project
1. Planning, This is
2. Analysis, commonly
3. Design, known as
4. Implementation, Waterfall
5. Support model
7
SDLC Phases and their Objectives
8
Software Engineering Methodology
9
Software Engineering Methodology
• Waterfall
• Unified Process
(UP)
– Agile
– Scrum
• DevOps
10
Unified Process (UP)
– A methodology
• An iterative and incremental approach in
software development
• Suited to tackling large and complex systems
• Based on the “divide and conquer” principles
– plan out intermediate deliveries of system
functionalities according to their priority
• Most influential OO system development
• Elaborate set of activities and deliverables for
every step of the development process.
http://www.thefreedictionary.com/methodology
11
Unified Process (UP)
– A methodology
12
RUP Phases & their Objectives
13
Iterations in Unified Process
14
An example of UP Life Cycle Model
15
Disciplines in Unified Process
16
The Unified Process Disciplines
• 3 support disciplines
– 1. Project Management,
– 2. Configuration and Change Management, and
– 3. Environment
• These disciplines are used throughout the
duration of the software development life cycle
18
The Requirements Discipline
19
Activities of the Requirements
Discipline
Activity List
20
Functional Requirements
23
Iteration is required for Information Gathering
24
Techniques for Information Gathering
25
Software Engineering Problem
26
Software Engineering Problem
27
Software Models
28
Purpose of Software Models
29
The Relationship between Information
Gathering and Model Building
30
UML
31
UML Diagrams
• Numerous diagrams
• Each diagram:
– Contains a set of co-related graphical
notations
– Depicts different aspects of a system
32
UML Diagrams used for Modeling
33
Summary
35