18 May, 2012
Text Size

Audience

Team leaders, analysts, developers, testers and anyone involved in maintaining documenting software systems.

Prerequisites

There are no prerequisites for this course.

Duration

5 days. Lecture presentations are supported by practical exercises which allow discussion, reinforcement of learning and enhancement of the understanding process.

Course Objectives

Change is inherent in software. Whether a new program is being developed or an existing one being re-engineered, software is in a constant flux. Software maintenance takes up a large share of computing costs, 50 percent on average, but in some companies over 80 percent. Any solutions that can improve maintenance productivity are bound to have a dramatic impact on software costs and the overall profitability of companies. The maintenance problem may be exacerbated by a lack of understanding of the software functionality and database structure. All too often, this is compounded by out of date or missing documentation. This course presents a method for documenting software in an incremental way so that work performed in documenting existing functionality and data is led by authorised changes or enhancements. This eliminates unnecessary project work. The course also includes industry standard techniques used in software design which helps maintenance personnel understand the data and functionality they are dealing with. The objectives of this course are to enable participants to:

  • Appreciate the nature and mechanisms involved in software maintenance.
  • Understand the maintenance process so that it can be modified to meet the needs of individual organisations and projects.
  • Make decisions about what to document and what techniques to use as part of the documentation.
  • Use the appropriate technique in support of maintenance.

Course Content

Structured Maintenance
Typical problems with software maintenance
Software changes, classification of changes
Configuration management and version control
Change requests and change control
Maintenance documentation
Structured maintenance method

Logical and Physical Data Models
Types of database, relational databases
Entities and attributes, primary key types
Relationships and cardinality
Optional attributes, exclusive and reflexive relationships
Foreign keys and referential integrity
Attribute data types, attribute constraints and default values
Logical data models
Physical data models

Reversing Databases
Manual database reversal
Identifying entities, keys, attributes and relationships
Drawing the data model diagram
Documenting the data model, volumetrics
Tools for database reversal
Merging data models
Stored procedures and triggers

Normalising Data Models
Definition of normalisation
Steps in normalising a data model
First, second and third normal form
TNF tests, foreign keys

Data Flow Diagrams
Characteristics of data flow diagrams
Notation
Processes, data stores, data flows, external entities
Data flow diagram hierarchy
Lower level data flow diagram notation
Balancing lower and higher level data flow diagrams
Documenting data flow diagrams
Process descriptions

Use Case Diagrams
Elements of use case diagrams
Actors and use cases
Include and extend relationships
Generalisations
Documenting use cases

Activity Diagrams
Elements of activity diagrams
Activities, initial and final activities
Decisions, signals
Concurrent activities
Swim lanes

Reversing Code
Static program analysis
Reverse engineering
Data and processing cross-reference

Web Site Navigation Diagrams
Simple navigation diagram
Site matrix
Site function diagram
Tools for producing site maps

Course Contact Form

Please complete the form to enquire about running a course at your premises or one of our training facilities

Name:

Email:

Telephone:

Organisation:


Comment: