1 / 8

Wrapping up Design and Coding

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

hashim-reed
Download Presentation

Wrapping up Design and Coding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wrapping up Design and Coding Chapter 18

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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!

More Related