Course Description
At the end of this course you’ll not only have a good understanding of the models and methods used in system design, but you’ll also be able to apply them confidently to a multitude of project situations.
For that reason, this course is for all the system designers and software architects, including those working on system enhancements, who want to gain some hands-on knowledge of the best practice techniques to use when designing software solutions that meet business requirements. We’ll look at how requirements specified in a set of deliverables produced by business and system analysts can be achieved using models from the Unified Modelling Language (UML) and supported by more traditional approaches, like data normalisation. On top of that, the course will cover areas such as interface between analysis and design, logical process design and system controls and security.
Target Audience
Business analysts, project managers, solution and systems developers and anyone who requires a practical understanding of the models and methods of systems design. Systems Design Techniques is also a Specialist Practitioner module on the BCS International Diploma in Solution Development.
Course Content
Introduction
- 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
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)
System 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 Systems Design Techniques Certification
During this three day course you’ll receive all the training you need to prepare for the BCS Systems Design Techniques certificate examination, which is held on the final afternoon of the course. A pass in this module will contribute to the BCS International Diploma in Solution Development. Taking this course will also enable you to work towards SFIA skills DESN level 4 and DBDS level 3.