Image

OLCF Events

Date

Dec 01 2015 - Dec 03 2015

Location

Bldg. 8600, C250 and C152
One Bethel Valley Road

Organizer

Fernanda Foertter
Phone
865-576-9391
Email
foertterfs@ornl.gov

Scientific Software Development Design Meeting

*This on-site training is for ORNL badged employees only.*

In this training, you will learn dozens of proven tips, techniques, and principles to produce clean, industrial strength software design and code.  Capturing the body of knowledge available from research, academia, and everyday commercial practice, this seminar synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. This seminar explains how to shorten development time, reduce errors, and make debugging easier. This seminar includes the following major topics:

Design and code complexity

  • The importance of complexity
  • The different kinds of complexity
  • How you can measure and manage complexity

Data structure design

  • Why data structure design is critical
  • Different data structuring paradigms
  • Data normalization and denormalization

Code Quality

  • The importance of code quality
  • Best practices for naming
  • Critical characteristics of effective comments
  • An introduction to refactoring
  • An introduction to code-level optimization
  • Error processing and notification principles
  • How to use assertions to your advantage
  • Principles of high quality routines and code formatting

Design Patterns

  • What design patterns are and why they are important
  • Model-view-controller
  • Adapter
  • Façade
  • Bridge
  • Strategy
  • Composite
  • Observer

Non-functional requirements “-ilities”

  • An introduction to ISO/IEC 25010 Software Quality Model
  • Beyond ISO/IEC 25010

Design Documentation

  • Desirable properties of design documentation
  • IEEE STD 1016-2009 Recommended Practice for Software Design Descriptions
  • Agile design documentation

Benefits / What you’ll learn:

  • How to measure and manage design and code complexity along with the fundamental design principles that lead to high-quality software that has low implementation efforts
  • How to document designs using either traditional or agile approaches

Who Should Attend

This seminar will benefit programmers, designers, technical leads, and anyone who wants to learn best software design and coding practices.

Attendees should have a basic understanding of object oriented software and be able to read Java, C++, or C# code.

Instructor:  Steve Tockey, Construx

 

 

 

[tab: Agenda] [tab:  Registration]

Registration for this event is now closed.