Systems Design Techniques
Live Virtual Training available
(Course includes examination fee)
Course OverviewThe Systems Design Techniques course is aimed at system designers and software architects wishing to gain a hands-on knowledge of current best practice techniques used in the design of software solutions to meet business requirements. The course considers how requirements specified in a set of deliverables produced by business and systems analysts can be realised using models from the Unified Modeling Language (UML) supported by more traditional approaches such as data normalisation. Key course areas are:
- Interface between analysis and design
- Input and output design
- Data-driven versus component-driven design
- Logical data design and normalisation
- Logical process design
- Component based design and n-tier software architectures
- System controls and security
- Physical design (including de-normalisation and star schemas)
- Testing and systems implementation
The course is particularly appropriate for designers working in various software environments, including those primarily working on system enhancements. At the end of the course participants will not only have a good understanding of the models and methods used, but will be confident of applying them in project situations.
Course ContentIntroduction
- Objectives and constraints of design
- The place of design in the systems development life cycle
- Using the products of analysis to drive systems design
- The work of the designer
- The scope of design
- Design methodologies
- Architectural issues in design
- Introduction to design patterns
Input and output design
- Identifying inputs and outputs
- Output design, management information systems & business intelligence
- Data capture, preparation and input design
- System to system data interchange
- Selection of appropriate output and input technologies
- An understanding of user issues
User-interface (UI) design
- Objectives of UI design
- Design of input and output interfaces
- Dialogue types
- Usability and style guides
- Prototyping the interface
- Modelling the user interface
Component-based design
- Introduction to components & software architectures
- Component design principles: cohesion, coupling, responsibility and reusability
- Using analysis models (use case diagram and class diagram) to create a logical component architecture
- Use case realisation with UML interaction diagrams
- Defining component interfaces
- Component engineering
- MVC (Model, View, Controller), choreography and orchestration design patterns
Logical data design (normalisation)
- Notation and conventions of relational data analysis (normalisation)
- Principles of progressive normalisation through first, second and third normal forms
- Rationalising results from normalisation of multiple data sources
- Building the normalised (Third Normal Form) data model
- Defining the final logical data design using Entity-Relationship Diagrams
Logical process design
- Activity Diagrams (UML)
- Structured English / pseudocode
- Data Navigation Diagrams
Physical Design
- Optimising the logical design
- Principles of physical data design
- Principles of physical process design
- Design and architecture
- Packaging the design for delivery using Deployment Diagrams (UML)
Systems controls
- Risk in systems development
- Verification and validation of data
- Object controls
- Data controls & self-checking codes
- Function and state controls
- Visibility and encapsulation in object-oriented design (UML class diagrams)
- Audit trails
- Output controls
- Clerical controls
- Access controls, physical and logical security
- Backup and recovery
- Business continuity and disaster planning
- Legal requirements of the designer
BCS certificates
This course prepares participants to sit a one-hour, open book, examination leading to the certificate in Systems Design Techniques offered by BCS, the Chartered Institute for IT. This certificate is a specialist practitioner module for the BCS Diploma in Solution Development.
---------------------------------------------
Systems Design Techniques
---------------------------------------------