Reference no: EM132345535
Question -
Part I -
i. A brief overview of the organisational problem your software system is intended to solve and how significant the problem is for your chosen organisation.
ii. A description of the product functionality and quality requirements, based on the requirements document template of Unit 2, Section 2.3 (i.e. the first template you encounter in that unit). You should focus on high-level requirements which clearly relate to the business rather than low-level technical requirements.
iii. A summary of the main stakeholders of the system by organisational role or in relation to the system, and the extent to which they have contributed to the elicitation and validation of the requirements in (ii) above.
Note: if you have received approval of your project from your tutor through the Organisation and Scope forum, you will receive full marks (20 marks) for a.i-iii. You must still submit your answers to a.i-iii as part of this TMA.
iv. A UML use case diagram providing an overview of use cases, actors and their relationships. You should focus on sea-level use cases. You should also explain and justify your modelling choices with respect to three requirements of your choice from (ii) above.
v. A ranking of the use cases, with justification, and an indication of which use cases should be tackled first and why; you should also indicate which stakeholders were involved, and how, in the validation of the use cases and their ranking.
vi. A description, based on the format introduced in Unit 2, Section 3.2, of three high-ranking use cases.
vii. A description of four key business processes which relate to the software system, with an explanation of such a relationship, and their relevant business rules.
viii. A UML activity diagram model of one such process, with appropriate business rules as UML constraints. You should justify your process model and indicate which stakeholders were involved, and how, in the construction and validation of the model.
ix. A UML class diagram, consistent with the artefacts produced in the previous parts of this question and decorated with appropriate constraints. You should give a brief account of how you arrived at your class diagram, e.g. any lexical analysis you may have performed. The diagram should include appropriate classes, associations and their multiplicities, constraints, and attributes and their types, but no operations. You should also discuss and justify four non-trivial modelling choices you have made, highlighting possible alternatives whenever appropriate. You should also include a related glossary.
x. A specification, based on the template in Unit 4, of two system operations consistent with the artefacts produced in the previous parts of this question. You should indicate which system class(es) your operations refer to, adding the class(es) to your previous diagram if necessary. You should also describe the contracts embodied in your operation specifications.
Part II -
Part a: Specifically, you should start from the class diagram and system operations you produced for TMA 01, or a subsequent version you may have produced based on TMA 01 feedback or any subsequent consultation with your tutor. You should include the class diagram at the start of your TMA.
a. You should present the items set out in subparts (i) to (iv).
i. A worked-out design for two system operations of your chosen development problem. For each of them you should include:
- the operation specification based on the template in Unit 4
- a summary of the collaborations for verifying the precondition and fulfilling the postcondition
- a collaboration diagram for the postcondition, indicating all collaborating parties, their links and messages, and any object or link created or removed
- a clear indication of the responsibilities you have assigned, as UML notes attached to the diagram
- justifications for the above in terms of design principles
- the signatures of any new operations created as a result of designing the collaboration (full contracts not required)
- a summary of the effects of your design on the class diagram.
ii. Corresponding Java code for the two system operations in subpart (i). In your code you should include appropriate comments to make it easy to trace from your code back to the design and specifications in subpart (i). (Code is not included in the word count.)
iii. A set of test cases for the two system operations in subparts (i) and (ii). In particular, you should include:
- a summary of your test cases in the body of your TMA, justifying your choices with reference to the operation contracts
- the corresponding code, together with a screenshot of the outcome of running the tests. (Code is not included in the word count.)
iv. The outcome of applying two design patterns of your choice, out of those you have studied in Unit 7, in the context of your chosen development problem. For each of them you should include:
- a description of the design problem you have addressed through pattern application
- a fragment of the class diagram indicating the resulting design structure
- a justification of why the application of the pattern was appropriate for the design problem, and any trade-off you may have encountered. When appropriate, you should relate your discussion to the design principles you learnt in Unit 5.
Part b: Evaluate the extent to which the methods and techniques through which you arrived at your answer to (a) were effective. Outline any appreciable changes or improvements you would apply if you were to do it again.
Attachment:- Assignment Files.rar