Wrapping up Design and Coding

8
Wrapping up Design and Coding Chapter 18

description

Wrapping up Design and Coding. Chapter 18. The Unified Modeling Language (UML). Formal Notation for Development Uses use-case approach. Use Case diagrams, outlines cases. Sequence diagrams outline object exchanges. Class diagrams outline class relationships - PowerPoint PPT Presentation

Transcript of Wrapping up Design and Coding

Page 1: Wrapping up Design and Coding

Wrapping up Design and Coding

Chapter 18

Page 2: Wrapping up Design and Coding

The Unified Modeling Language (UML) Formal Notation for Development Uses use-case approach. Use Case diagrams, outlines cases. Sequence diagrams outline object exchanges. Class diagrams outline class relationships Other diagrams: Package, deployment.

Page 3: Wrapping up Design and Coding

Client-server Design Essentially a ‘customer/supplier’ relationship. Client makes requests of server. Server supplies requested information. Example: Web browser (client) makes

request from Web server which supplies HTML, applets, etc.

Page 4: Wrapping up Design and Coding

Choosing Design Techniques Techniques can be chosen on several criteria:

suitability (applicability), familiarity. Design techniques can be partitioned: Client-server

techniques can be applied to one part of the system while other techniques are applied to others.

Often, experienced engineers will develop their own techniques that are hybrids: based on one or more formal design approach coupled with a healthy dose of experience.

Page 5: Wrapping up Design and Coding

Which Formal Technique(s) Should I Use? Familiarity: Engineers should be familiar with the

technique. This implies formal training, at a minimum! Engineers should take opportunities to continue training in a variety of design techniques.

Applicability: The problems at hand should be suitable for the technique. Sometimes the problem can be redefined to suit a technique we are already familiar with.

Page 6: Wrapping up Design and Coding

Documenting Choices As decisions are made during the design

phase, the reasons should be documented as part of the design.

Reasons for data structure and algorithm choices are good places to begin documentation. For instance, decisions made on the time/space tradeoff principle are good places to start.

Page 7: Wrapping up Design and Coding

Defensive Coding Defensive coding approaches should be reinforced

during the design phase. Error-handling subsystem(s) should be designed as

an integral part of the system. Use of the Error-handling system should be a part of

every subsystem design. This relieves the programmer from the burden of having to make error-handling decisions at coding time.

Page 8: Wrapping up Design and Coding

Managing the Design and Coding Phases Code inspections should be provided for in

the schedule. Since the error handling subsystem can have a

large impact on the implementation, it should be fully represented in the design, and planned for in the code schedule!