Assignment 1 – System Modelling
Summary of Assignment
Based on a Case Study, students are expected to draw and discuss: An Analysis Class Diagram, a Communication Diagram, and a Sequence Diagram. Students are also expected to discuss and evaluate the usefulness of UML diagrams and a CASE tool during analysis and design.
Diagrams should be created in Enterprise Architect and inserted into a Word or PDF file to accompany the discursive aspect of the assignment.
Learning Outcome 1: Apply up to date structured techniques to produce analysis and/or design models for a given case study problem
Learning Outcome 2: Have a comprehensive understanding of the role of the systems analyst/ designer, the context in which the systems development activity takes place and the professional standards that are applied to the activity
Assignment Detail – Tasks
Based on the Swift Distribution Ltd. (SDL) Management System (attached as Appendix A), complete the following tasks:
Part 1. Use Case Realisation for the ‘Allocate Truck to Driver` Use Case Analysis Class Diagram
a) In your own words, briefly describe what is meant by an Analysis Class Diagram, and how class
diagrams can be useful in systems analysis and design (max 100 words, +/-10% tolerance).
b) Draw an Analysis Class Diagram for the ‘Allocate Truck to Driver` Use Case, using the Use Case description given. This should include all required boundary, control and entity classes with their associations and attributes. Your diagram should be drawn using the Enterprise Architect software and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your reasons for making those
Communication Diagram
a) In your own words, briefly describe what is modelled in a Communication Diagram, and how Communication Diagrams can be useful in systems analysis and design
b) Draw a Communication Diagram for the use case in your diagram that corresponds most closely to the use case ‘Allocate Truck to Driver`, using the Use Case description given. This should include all control, boundary and entity objects involved in the scenario and sufficient detail of the messages to show that the interaction is feasible and would meet the system requirements. Your diagram should be drawn using the Enterprise Architect software and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your reasons for making those
Part 2. Sequence Diagram
a) In your own words, briefly describe what is modelled in a Sequence Diagram, and how Sequence Diagrams can be useful in systems analysis and design
b) Draw a Sequence Diagram for the use case in your diagram that corresponds most closely to the
use case ‘Allocate Truck to Driver`. This should include all control, boundary and entity objects involved in the scenario and the sequence of interactions that take place in order to meet the system requirements. Your diagram should be drawn using the Enterprise Architect software, and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your reasons for making those
Part 3. Evaluation
Enterprise Architect is a CASE tool. In your own words and using examples, briefly describe what a CASE tool offers during analysis of the World-Wide Tours scenario, and what tasks the CASE tool supports. Give your own evaluation of how the role of an analyst/designer is supported by a CASE tool. Discuss how UML modelling supports the analyst/designer
Database Systems and Design
Assignment 2: Database design and Implementation (EER Modelling and SQL)
Learning outcome 1: Select and comprehensively analyse a problem domain so as to identify data requirements in businesses
Learning outcome 2. Design and implement a database system for the identified requirements using database modelling techniques and appropriate data description and manipulation languages
Learning outcome 3. Formulate arguments as to why data-centred approach is important for applications requiring persistent data storage and processing and have a comprehensive understanding of the features of a database management system and associated performance and reliability issues.
Tasks to be undertaken:
You are tasked to develop a database design (both conceptual and logical) for an appropriate business situation of your choice, and then implement and subsequently query an ORACLE database that is derived from your database design. You should also formulate arguments on the importance of data-centred approach.
Stage 1: Scenario and Conceptual Database Design.
Task 1: Selection of the case upon which the database design and implementation is to be based
First, you need to identify a suitable case study of your choice from which to derive your database requirements. This may be a situation based on a company with which you are familiar or in which you are (or have been) employed, or may be one (or based on one) that you have read about within the trade or academic literature or identified from their web presence. You need to ensure that your business situation is suitably complex to provide you with at least four strong entities, and at least one specialisation: generalisation structure, yet suitably scoped so as to not require a huge quantity of resultant tables (i.e., normally no more than 15) and subsequent input of sample data for querying purposes. It must not be based on a library(DVD, book, CD or film) and not just solely about orders of products. It should not be one that is based on any previous examination scenarios for this module, nor any exercises given to you within your DS&D module lecture material and/or module pack. Once researched and identified, a written scenario needs to be produced that (a) provides relevant background information on the organisation (e.g., its purpose, its principal operations/structure, its products/services, its target markets, etc.), and (b) provides an overview of what operations a database would need to support. Your scenario will probably be no less than one side of A4, but no longer than three slides of A4.
It would be good if you complete this task by the end of Week 3.
Task 2: Provide a conceptual database design for your scenario & the list of enterprise rules being modelled.
The task is to develop an EER Diagram that captures the detailed requirements for the database system that you identified within the scenario you wrote to satisfy the previous Task. The EER Diagram needs to show any weak and strong entities, the primary keys for strong entities, and any relationships between entities (including any generalisation: specialisation structures). *:* relationships must be decomposed, and any actual traps identified should be eliminated using appropriate methods. For each entity, there should be an associated written list of all the attributes that the entity possesses which are not written on the EER Diagram. Any assumptions made during conceptual database design (i.e., anything that you assume that is not written in your Task 1.1 scenario) should be listed.
As well as the conceptual database design, you also need to provide the exact list of enterprise rules that your EER Diagram is diagrammatically representing. (Every relationship will need at least one enterprise rule, depending on its multiplicity and degree. Each binary relationship will typically have two enterprise rules associated with it, for instance.)
A suggestion is that it would be goodif you complete this task by the end of Week 4.
Stage 2: Logical Database Design and Oracle SQL Implementation/querying
Task 3: Provide a Logical Database Design for your scenario
From your conceptual database design, derive a corresponding set of tables. Remember to indicate all primary and foreign key fields for each of the tables using suitable and consistent notation. All key and any non-key attributes should be listed within each table.
Task 4: Create the tables using Oracle DBMS
You need to create all the tables that you identified within your logical database design. Make sure the appropriate fields are defined as key, and that other suitable data integrity rules are enforced. Each of your tables should contain your PNumber as part of the table name. E.g. if your user name is ‘mit10sf`, then if you needed a Car table then you would create a table ‘mit10sfCar`. (Hint: make sure you create the tables in an appropriate order – for instance, those that have foreign keys cannot be created first – why? Think about it!).
Task 5: Data Population
Populate your Oracle tables with some fictitious yet appropriate test data (about FIVE records per large table and TEN records per small table (or as many rows as is relevant) should be enough).
Task 6: SQL Query writing
Define and run SIX queries of your choice (but appropriate to the scenario). Each query should require TWO or more of the following querying facilities, (and all of these facilities should be used at least once in your set of queries) and should be properly justified as to why the query would be useful to your case study organisation:
o Selection of particular table columns
o Inner Join of at least 2 tables
o Outer Join of at least 2 tables
o Use of count and/or another similar mathematical expression
o Use of a sorting/ordering facility
o A condition using “<", ">“, LIKE etc.
o A condition using IN, NOT NULL, or similar.
o A sub-query
Stage 3: Argument
Task 7: Formulate arguments as to why data-centred approach is important for applications requiring persistent data storage and processing and have a comprehensive understanding of the features of a database management system and associated performance and reliability issues.Your arguments will probably be no less than one side of A4 (approximately 500 words).
The results of the above Tasks need to be submitted, i.e.:
• Your case scenario, the list of enterprise rules being represented within your EER Diagram, and the whole conceptual database design.
• The logical database design that follows from your conceptual database design.
• A print out of each of the tables (i.e., the extension of each table) that you have created in ORACLE and the SQL code required to create them (including the code for the integrity rules).
• A print out of each of the six queries you devised, showing both the SQL query statement and the query result. You should provide a brief explanation of what you expect each query to achieve and why you think this query is relevant to your case scenario