Internal Code : MAS3250 (U)
Software Requirement & Design
Task: Your task for this assignment is to develop a system design for a computer system that facilitates electronic interaction between students and teachers during lectures, using mobile devices. The system will be called the Electronic Lecture Interaction (ELI). The requirements definition for this system is given in the ELI Requirements Definition reproduced below. As well as the analysis for the software design, you should document the rationale for the design decisions you make and also keep a log (listing date, task, people involved, time taken) for all work undertaken on this project.
Your system design document (80%): Your design document for ELI should comprise the parts described below. For parts a to g, you should supply rationale for your design decisions; however, you do not need to structure your arguments in rhetorical steps (such as issues, proposals, criteria,…, as given in lecture 13). There is no minimum or maximum page limit on your design document. You
should cover all of the parts below and adopt a common document format (font: Times, size: 12, margins: 2.5-3cm).
a. Functional modelling. Provide a use case diagram containing appropriate choice of actors and use cases which covers all the functionality of the given requirements definition but does not invent any new functionality. In the diagram, you should use the client’s language and not new or ambiguous terms. Boundary between this system and external systems should be clearly identified and justified.
For each use case in your diagram, you should provide a table that describes the use case (see the lecture notes for the template).
b. Object modelling. Provide a class diagram to show the significant relationships between objects identified in ELI. You do not need to include boundary and control objects in this diagram. Reasonable roles and multiplicities should be given. For each class in your class diagram, supply the attributes (including the types) and major operations. Again, use the client’s language and do not invent new or ambiguous terms. Names of attributes and operations should be explained. To avoid putting too much information into a single diagram, it is recommended that your main class diagram for the DBMS should contain only the names of all the classes. For each class in the main class diagram, you can then draw a separate class diagram showing the attributes and operations.
c. Dynamic modelling part a. Each member of the group should provide 1 sequence diagram, chosen from any of the use cases in your use case diagram above. Clearly identify which student created each sequence diagram as marks will be allocated on an individual basis for this part. Identify in each sequence diagram, the participating actors and objects. Explain the type (entity, boundary, or
control) of each object. Clearly label the messages sent between the participating objects. Your sequence diagram should be consistent with your class diagrams.
d. Design constraints. List 5 design constraints for ELI and prioritize them. Give sufficient explanation for each design constraint and its priority.
e. Subsystem decomposition. Describe in detail how you would decompose ELI into subsystems.Describe the services provided by each subsystem. Justification of your subsystem decomposition(such as coupling and cohesion) should be given. Are there other ways to decompose the system? Include diagrams alongside your description.
f. Dynamic modelling part b. Each member of the group should supply 1 statechart diagram to describe the dynamic behaviour of the overall DBMS or an object with significant state variation in ELI. Clearly identify which student created each statechart diagram as marks will be allocated on an individual basis for this part. Give a detailed description for each diagram. Choose meaningful names for the states and transitions. Again, use the client's terminology.
g. Design patterns. Each member of the group should list 1 design pattern that would be appropriate to be used in the system. Describe which part of the system that each pattern is suitable for and justify why you chose the pattern. Identify the student author for each, as marks will be allocated on an individual basis for this part.