Computer Science Assignment – assignment of software engineering process and method
Assignment 2 Term 2, 2013
The purpose of this assignment is to provide you with experience in some basic tasks of a systems analyst. This is given in the context of an imaginary case study. In your assignment, you will develop your case study, working on additional analysis tasks.
The case study scenario given below is to form the basis for your assignment. However, it is expected that you use your imagination to add more detail to the case study to make it your own unique project. It is expected that you will submit your own individual work for this assignment. Begin by reading the case study and then conduct some research of your own and decide upon the details of a project for an imagined small business. You can choose any kind of business as long as it fits in with the partial specifications given in the case study. It is expected that no two students’ assignments will be the same, so make sure that your business has unique characteristics such as name and logo. Though it is expected that some of your requirements will be similar to others, it is also expected that each student will have at least one unique requirement in their project that differs from those of your classmates.
You have been employed as an analyst for a small start up company specialising in web based database systems using php/mysql. Your colleague has visited a potential client for a briefing on a new project. Details are unclear at this stage, however you have been asked to prepare a draft scope document as a starting point. Your boss intends to develop a budget based on the information in your document and then show the scope document to the client at their next meeting. You haven’t time to wait for more details, so you have been asked to make assumptions where necessary. These can be explored with the client at the next meeting.
Your colleague met with the manager of the business and gathered the following information. There are at least 80 frequent-user customers of the business who pay an annual loyalty fee. When the fees are due for renewal, the business sends a renewal notice to the customer with an invoice requesting payment. If fees remain unpaid, the customer status is changed to ‘Inactive’, otherwise, the status remains as ‘Active’. After a customer has belonged to the business for more than ten years, their status is changed to ‘Life Member’ and they no longer have to pay the annual fee. Customers with an active loyalty status are given a 10% discount on all items.
Currently, the business uses a paper based system to keep track of customers’ addresses, telephone numbers – home, work and mobile. It is hoped in the future that the new system will be able to have customers access it remotely to update their personal details after validating themselves using their customer number and a password.
The accountant would like to be able to print reports that list all loyalty customers and their current status. When fees are paid, the accountant would like to be able to log in to the system and update customer status. It is thought this will be done based on a query to pull up details for a customer, and then an option available to update the details as required. The business offers a range of items for sale that could be part of the new system. There is an inventory of items available. Each item will have a status such as ‘in-stock’, ‘on-order’ or ‘out-of-stock’. There will be an on line ordering system, so customers can order items online by logging in and filling out an online order form. The accountant would like to add online payment methods to cash payments made directly over the counter.
The business would also like to engage in charitable work for the local community and so, a fundraising page on the website would be good to attract sponsors and raise funds for supported charities. It is suggested that potential sponsors and also customers of the business who would like to take part should be able to sign up and access this page to make their contributions. Another function of the system is to display business newsletters.
Your colleague forgot to ask whether there were different levels of access to the system for employees, depending on their role in the business, although your boss thinks this may be the case. The schedule is to be displayed for both customers and employees to view when they log in to the system.
Part 1: Events and Structured Analysis with Data Flow Diagrams Examine your assignment 1 submissions and combine ideas from case study as above completed in Assignment 1 to form a new case study (MY BOOK SHOP). For your new case study, focus on all the components of your new system and perform the following structured and object-oriented analysis and design tasks relating to the proposed system for the business.
- Extract useful and relevant information about the scope of the system from the case study and list all possible events to which the system must respond. Create event table entries listing the event, event type, trigger, source, activity/use case, response(s), and destination(s).
An example of the layout for your answer is:
*Minimum 15 Events
- Use all the understanding of the system you have so far from the case background, the events list and the draft scope document you prepared in Assignment 1 to construct the Context Diagram for the complete overall system for the business.
- In order to develop an appropriate Level 0 Data Flow Diagram, the list of business events should be examined for possible logical groupings (e.g., which events are closely related?). Logical groupings or associations of events can suggest subsystems or major processes that make up the system for the business.
Create the Level 0 Data Flow Diagram for the business.
D. Draw Level 1 Data Flow Diagrams (child diagrams) by exploding major processes from your level 0 DFD, one process per group member. Each student should choose a different process from the level 0 DFD and produce adetailed Data Flow analysis on this process.
Part 2: Object Oriented Analysis and Design modelling
A. Create a Use Case Model for the complete overall system for the business and a fully developed Use Case Scenario (description) with exception conditions for ONE of the major use cases in your model.
B. Flow of events essentially documents the functionality of a use case, i.e., what the use case can do from an end-user’s perspective. A scenario is an instance of a use case and it emphasizes how a use case incorporates user activities as well as interactions of related objects. Hence it provides a basis for drawing Activity diagrams and Sequence diagrams.
a. Develop an Activity Diagram for the use case chosen in part A.
b. Develop a System Sequence Diagram (SSD) for the complete overall system and a Sequence Diagram (SD)for your selected use case.
C. Create a Domain Model Class Diagram for the complete overall system.
D. Statechart diagrams are drawn to design and describe internal activity, or method logic, of system objects and to develop a further understanding of such processes and behavior. Create a Statechart Diagram for any ONE of the major objects in your case study system.
E. Design any ONE of the major report(s) required as output to the relevant personnel in the business. Refer to the Event-Response table from part 1 as part of this task.
F. Document the Data Structure for all data flows related to the process you chose in Part 1D.
G. Develop a second Sequence Diagram (SD) and a second Statechart Diagram (parts B & D).
You are required to submit a word processed document in a formal report format (with school cover page attached) containing brief walkthrough/discussions of the diagrams/charts/UI drawings along with those diagrams/charts/UI drawings on or before the due date. You should use a case tool such as Enterprise Architect or the drawing features of a word processor such as MS Word and design GUIs using Interface design tools/methods, e.g., a Graphical Programming environment such as Visual Basic, Visual C++, Delphi, HTML, PowerPoint etc. Note that all diagrams are to be drawn using appropriate conventions, preferably those used by Kendall and Kendall. All files, including the completed statement provided on the next page, should be zipped and uploaded to Moodle. Your lecturer/tutor may have further instructions.