Govt. Murray College Sialkot: Software Engineering
Govt. Murray College Sialkot: Software Engineering
Govt. Murray College Sialkot: Software Engineering
Name:
Ahmad Saleem
Roll No.:
18144156-052
Semester:
4th(Evening)
Department:
Information Technology(IT)
Submitted To:
M. Tahir Subtan
Architectural design
Once interactions between the system and its environment have been understood, you
use this information for designing the system architecture.
You identify the major components that make up the system and their interactions, and
then may organize the components using an architectural pattern such as a layered or
client-server model.
The weather station is composed of independent subsystems that communicate by
broadcasting messages on a common infrastructure.
Object class identification
• Identifying object classes is often a difficult part of object oriented design.
• There is no 'magic formula' for object identification. It relies on the skill,
experience
and domain knowledge of system designers.
• Object identification is an iterative process. You are unlikely to get it right first
time.
Approaches to identification
• Use a grammatical approach based on a natural language description of the
system (used in Hood OOD method).
• Base the identification on tangible things in the application domain.
• Use a behavioural approach and identify objects based on what participates in
what behaviour.
• Use a scenario-based analysis. The objects, attributes and methods in each
scenario are identified.
Interface specification
• Object interfaces have to be specified so that the objects and other components
can be designed in parallel.
• Designers should avoid designing the interface representation but should hide
this in the object itself.
• Objects may have several interfaces which are viewpoints on the methods
provided.
• The UML uses class diagrams for interface specification but Java may also be
used.
Design patterns
• A design pattern is a way of reusing abstract knowledge about a problem and its
solution.
• A pattern is a description of the problem and the essence of its solution.
• It should be sufficiently abstract to be reused in different settings.
• Pattern descriptions usually make use of object-oriented characteristics such as
inheritance and polymorphism.
Creational patterns
This module explores creational patterns, which represent patterns that are often used
in place of direct instantiation with constructors. Creational patterns make the creation
process more adaptable and dynamic. In particular, they can provide a great deal of
flexibility about which objects are created, how those objects are created, and how they
are initialized.
In this module, you will learn:
• How creational patterns help programmers
• Five well-known creational patterns
• The elements of the Factory Method pattern
• How to incorporate the Factory Method pattern into your course project