lecture12_2up - Object-Oriented Software Engineering...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 9: Architecting and Designing Software Lecture 12 555 9.1 The Process of Design Defnition: Design is a problem-solving process whose objective is to fnd and describe a way: —To implement the system’s functional requirements ... —While respecting the constraints imposed by the quality, platform and process requirements. .. - including the budget —And while adhering to general principles oF good quality
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
556 Design as a series of decisions A designer is faced with a series of design issues • These are sub-problems of the overall design problem. • Each issue normally has several alternative solutions: —design options . • The designer makes a design decision to resolve each issue. —This process involves choosing the best option from among the alternatives. 557 Making decisions To make each design decision, the software engineer uses: • Knowledge of —the requirements —the design as created so far —the technology available —software design principles and ‘best practices’ —what has worked well in the past
Background image of page 2
558 Design space The space of possible designs that could be achieved by choosing different sets of alternatives is often called the design space • For example: 559 Component Any piece of software or hardware that has a clear role. • A component can be isolated, allowing you to replace it wi a different component that has equivalent functionality. • Many components are designed to be reusable. • Conversely, others perform special-purpose functions.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
560 Module A component that is defned at the programming language level • For example, methods, classes and packages are modules in Java. 561 System A logical entity, having a set oF defnable responsibilities or objectives, and consisting oF hardware, soFtware or both. • A system can have a specifcation which is then implemented by a collection o± components. • A system continues to exist, even i± its components are changed or replaced. • The goal o± requirements analysis is to determine the responsibilities o± a system. Subsystem : —A system that is part o± a larger system, and which has a defnite inter±ace
Background image of page 4
562 UML diagram of system parts 563 Top-down and bottom-up design Top-down design • First design the very high level structure of the system. • Then gradually work down to detailed decisions about low- level constructs. • Finally arrive at detailed decisions such as: —the format of particular data items; —the individual algorithms that will be used.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
564 Top-down and bottom-up design Bottom-up design • Make decisions about reusable low-level utilities. • Then decide how these will be put together to create high-
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/23/2012 for the course CS 307 taught by Professor Staff during the Summer '08 term at Purdue University-West Lafayette.

Page1 / 48

lecture12_2up - Object-Oriented Software Engineering...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online