Internal Code : MAS4811
Software Engineering Assignment :
1. Explain design principles including of least privilege and fail-safe defaults, separation of concerns, information hiding, coupling and cohesion, and encapsulation.
2. Describe the design process for a software development project for each of the main software design methods
3. Create appropriate system models for the structure and behaviour of software products from their requirements specifications
4. Use a design paradigm to design a simple software system, and explain how system design principles have been applied in this design.
5. Select an appropriate software architecture as the design basis for a given software requirements specification, justify the selection based on its advantages over alternative architectures.
6. Create software programs that make use of appropriate design patterns.
7. Create user interface software using either event driven or callback based designs
8. Explain the importance of Model-View controller to interface programming.
9. Discuss the properties of good software design including the nature and the role of associated documentation.
10. Create appropriate design documentation for a variety of different designs.