Unit 7
Unit 7
1
Contents:
q Introduction;
q Object-Oriented Design using UML;
q Design Patterns;
q Implementation Issues;
q Open-Source Development;
2
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Unit-7
Design and Implementation
• Software design and implementation is the stage in the
software engineering process at which an executable software
system is developed.
• Software design is a creative activity in which you identify
software components and their relationships, based on a
customer's requirements.
• Implementation is the process of realizing the design as a
program. These two activities are invariably inter-leaved.
3
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design and Implementation
4
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Object-oriented design using the UML
6
Compiled by : Madan Nath (B.Sc. CSIT, TU)
System context and interactions
7
Compiled by : Madan Nath (B.Sc. CSIT, TU)
System context and interactions
8
Compiled by : Madan Nath (B.Sc. CSIT, TU)
System context and interactions
10
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Architectural design
11
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Architectural design
12
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Architectural design
13
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Architectural design
14
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design models:
15
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design models:
16
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design models:
17
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design models:
18
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Design models:
19
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
20
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
21
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
22
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
23
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
24
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Interface specification
26
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Reuse
Levels of reuse:
The abstraction level: don't reuse software directly but use
knowledge of successful abstractions in the software design.
The object level: directly reuse objects from a library rather than
writing the code yourself.
The component level: components (collections of objects and
object classes) are reused in application systems.
The system level: entire application systems are reused.
28
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Reuse
Costs of reuse:
• The costs of the time spent in looking for software to reuse
and assessing whether or not it meets your needs.
• Where applicable, the costs of buying the reusable software.
For large off-the-shelf systems, these costs can be very high.
• The costs of adapting and configuring the reusable software
components or systems to reflect the requirements of the
system that you are developing.
• The costs of integrating reusable software elements with each
other (if you are using software from different sources) and
with the new code that you have developed.
29
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Configuration management
31
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Host-target development
33
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Open source development
35
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Open source development
36
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Open source development
37
Compiled by : Madan Nath (B.Sc. CSIT, TU)
~ END ~
38
Compiled by : Madan Nath (B.Sc. CSIT, TU)