Object-Oriented Design & Implementation: UML, Patterns, & Open Source in Software Eng., Lecture notes of Object Oriented Analysis and Design

This chapter explores software design and implementation, focusing on object-oriented design using uml, design patterns, implementation issues, and open source development. The process includes defining system context, designing architecture, identifying objects, creating design models, and specifying interfaces. Object-oriented design patterns like the observer pattern are discussed, along with design problems and implementation issues such as reuse and configuration management.

Typology: Lecture notes

2017/2018

Uploaded on 03/10/2018

idrissa-sesay
idrissa-sesay 🇸🇱

1 document

1 / 55

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 7 Design and Implementation
Summary
1 Chapter 7 Design and implementation
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Partial preview of the text

Download Object-Oriented Design & Implementation: UML, Patterns, & Open Source in Software Eng. and more Lecture notes Object Oriented Analysis and Design in PDF only on Docsity!

Chapter 7 – Design and Implementation

Summary

Topics covered

  • Object-oriented design using the UML
  • Design patterns
  • Implementation issues
  • Open source development

Build or buy

  • In a wide range of domains, it is now possible to buy off-the-shelf systems (COTS) that can be adapted and tailored to the users’ requirements. - For example, if you want to implement a medical records system, you can buy a package that is already used in hospitals. It can be cheaper and faster to use this approach rather than developing a system in a conventional programming language.
  • When you develop an application in this way, the design process becomes concerned with how to use the configuration features of that system to deliver the system requirements.

An object-oriented design process

  • Structured object-oriented design processes involve developing a number of different system models.
  • They require a lot of effort for development and maintenance of these models and, for small systems, this may not be cost-effective.
  • However, for large systems developed by different groups design models are an important communication mechanism.

System context and interactions

  • Understanding the relationships between the software that is being designed and its external environment is essential for deciding how to provide the required system functionality and how to structure the system to communicate with its environment.
  • Understanding of the context also lets you establish the boundaries of the system. Setting the system boundaries helps you decide what features are implemented in the system being designed and what features are in other associated systems.

Context and interaction models

  • A system context model is a structural model that demonstrates the other systems in the environment of the system being developed.
  • An interaction model is a dynamic model that shows how the system interacts with its environment as it is used.

Weather station use cases

Use case description—Report weather

System Weather station Use case Report weather Actors Weather information system, Weather station Description The weather station sends a summary of the weather data that has been collected from the instruments in the collection period to the weather information system. The data sent are the maximum, minimum, and average ground and air temperatures; the maximum, minimum, and average air pressures; the maximum, minimum, and average wind speeds; the total rainfall; and the wind direction as sampled at five-minute intervals. Stimulus The weather information system establishes a satellite communication link with the weather station and requests transmission of the data. Response The summarized data is sent to the weather information system. Comments Weather stations are usually asked to report once per hour but this frequency may differ from one station to another and may be modified in the future.

High-level architecture of the weather

station

Architecture of data collection system

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.

Weather station description

A weather station is a package of software controlled instruments which collects data, performs some data processing and transmits this data for further processing. The instruments include air and ground thermometers, an anemometer, a wind vane, a barometer and a rain gauge. Data is collected periodically.

When a command is issued to transmit the weather data, the weather station processes and summarises the collected data. The summarised data is transmitted to the mapping computer when a request is received.

Weather station object classes

Design models

  • Design models show the objects and object classes and relationships between these entities.
  • Static models describe the static structure of the system in terms of object classes and relationships.
  • Dynamic models describe the dynamic interactions between objects.