+ All Categories
Home > Design > Design in construction

Design in construction

Date post: 15-Apr-2017
Category:
Upload: krishna-eg
View: 61 times
Download: 0 times
Share this document with a friend
18
Design in Construction
Transcript
Page 1: Design in construction

Design in Construction

Page 2: Design in construction

Software Design

• Design is the activity that links requirements to coding and debugging.

Page 3: Design in construction

Design Challenges Design is a Wicked Problem

“Wicked” problem as one that could be clearly defined only by solving it, or by solving part of it.

Design is a Sloppy process (Even if it produces a tidy result)

Design is about Tradeoffs and Priorities Design involves Restrictions Design is nondeterministic

Page 4: Design in construction

Design is a heuristic process Design involves trail and error Design is emergent

A tidy way to summarizing these attributes of design is to say that design is “emergent”

Page 5: Design in construction

Key Design Concepts

• Software’s Primary Technical Imperative– Managing Complexity

When projects do fail for reasons that are primarily technical, the reason is often uncontrolled complexity.

Page 6: Design in construction

Desirable Characteristics of a Design

• Minimal complexity• Ease of maintenance• Loose coupling• Extensibility• Reusability• Stratification (keep the level of decomposition

stratified)

Page 7: Design in construction

Levels of Design

Page 8: Design in construction

Common subsystems

• Business rules• User interface• Data access• System dependencies

Page 9: Design in construction

Design Building Blocks

• Find Real-World objects– Identify the objects and their attributes (methods

and data)– Determine what can be done to each object– Determine what each object is allowed to do to

other objects– Determine which are the objects available in

public and private

Page 10: Design in construction

Form Consistent Abstractions

Page 11: Design in construction

Encapsulate Implementation Details

Page 12: Design in construction

Inherit

Page 13: Design in construction

Hide Secrets

Page 14: Design in construction

Keep coupling loose

• Coupling describes how tightly a class or routine is related to other classes or routine.

Coupling Criteria– Size– Visibility– Flexibility

Page 15: Design in construction

Kinds of Coupling– Simple-data-parameter coupling– Simple-object coupling– Object-parameter coupling– Semantic coupling

Page 16: Design in construction

Look for common design pattern

• Design pattern provides the cores of ready-made solutions that can be used to solve many of software’s most common problems.

Page 17: Design in construction
Page 18: Design in construction

Design Practices

• Iterate : Try different approaches.• Divide and Conquer• Top-Down an Bottom-Up design approaches• Experimental Prototyping


Recommended