1 CSE2ISD – Information Systems Development Assignment, Semester 1 2017 (30% of total assessment) Object-Oriented Analysis and Design for ISD Due Date: 5:00pm Friday, 12th May 2017 Objective To apply object-oriented methodology for analysis and design of information systems development in a case study. This is an INDIVIDUAL assignment. You are not permitted to work in a group when writing this assignment. Copying, Plagiarism: Plagiarism is the submission of somebody else’s work in a manner that gives the impression that the work is your own. The Department of Computer Science and Computer Engineering treats plagiarism very seriously. When it is detected, penalties are strictly imposed. Students are referred to the Department of Computer Science and Computer Engineering's Handbook and policy documents with regard to plagiarism and assignment return, and also to the section on ‘Academic Misconduct’ in the unit outline available on LMS. No extensions will be given: Penalties are applied to late assignments (5% of total assignment mark given is deducted per day, accepted up to 4 business days after the due date only). If there are circumstances that prevent the assignment being submitted on time, an application for special consideration may be made. See the departmental Student Handbook for details. Submission Guidelines: • Submit the electronic copy of your assignment from LMS on CSE2ISD page only, by 5:00pm Friday, 12th May 2017. • The online submission process includes a statement of authorship declaration. • Please submit a single PDF file containing your assignment solution (you can save as PDF from Word or other word processors). • All diagrams should be produced using an appropriate software tool. • Name your assignment file with your name. Eg., DavidSmith-ISD-Assignment.pdf Please make sure that your assignment appears on LMS after your submission (your uploaded file should show in you LMS). This is your responsibility for your submission. 2 Case Study – Growing Abundance Growing Abundance is a not-for-profit social enterprise who promote and harvest locally grown food. They coordinate mutually beneficial arrangements with private garden owners, commercial growers, and volunteers for maintaining and harvesting community food sources. They also: maintain and harvest community-owned gardens; operate pruning services, catering services and school canteens; run educational programs on horticultural and food preservation techniques; and sell a variety of horticultural products to ensure that they are financially sustainable. They have also recently opened a café-restaurant. Being not-for-profit, the organisation largely relies on the efforts of its volunteers and local property owners, although it does employ a core team of coordinators and operational staff. Volunteers and property owners may sign-up via their website, where they provide their contact details, availability, and indicate the types of activities in which they would like to be involved. Experienced, or lead, volunteers help coordinators organise events, and help coordinate other volunteers. Growing Abundance plan, promote and run various events, including educational workshops, food harvests, and garden maintenance and food preservation working bees. Growing Abundance distribute the harvested food equally among property owners, volunteers and the organisation itself, utilising it in their other operations and distributing it to other community groups. Similarly, other mutually beneficial arrangements provide incentives for voluntary involvement in garden maintenance and food preservation. Growing Abundance operate school canteens and other catering services, as well as the new café-restaurant. All of which provide healthy food choices from locally grown food. School canteen lunches and café-restaurant take-away meals can be pre-ordered via the organisation’s website. Menus are derived from what food (inventory) is currently available. Growing Abundance, with the help of local IT developers, maintains a website to provide current information about Growing Abundance and their activities, and to support their operations. Upcoming events are promoted on the site, and participants can register for events online. Volunteer signup and other expressions of interest can also be registered via the website. The website also facilitates online ordering of catering orders and horticultural products, and the payment of event and course fees where applicable. The online ordering facilities provided by the organisation’s website utilises a typical shopping cart and checkout model for school canteen lunch and other catering orders, for ordering horticultural products, and for registered participants to pay event or course fees. Payments are made via PayPal or credit card using secure portals linked with external providers (PayPal/Bank). 3 Web users create an account, which stores their contact details and their nominated username and password for return visits. User login or account creation is required prior to catering orders or event registrations. However, it is possible to purchase horticultural products as a “Guest” user. Horticultural product orders are either arranged for local pick-up, or delivered via courier at an additional fee. Growing Abundance are actively extending their activities, with increasing numbers of volunteers and property owners signing up. They see the need to increase their capacity and generally improve their existing system. As a first step, they require a systems analyst’s consultation. Your Tasks: [120 marks total] You need to analyse (as a preliminary to designing) an information system for Growing Abundance using the OO methodology. You tasks encompass the following steps: I. Requirements Gathering [15 marks] 1. Create an owner’s view for the system that you can show it to stakeholders for feedback. You can make any reasonable assumptions if any details that you think are important are not clearly mentioned in the case description. If uncertain, consult with the client (via the Further Requirements, Questions and Clarifications link on LMS). [10 marks] 2. Identify the users of the system. List these under subheadings for business and IS users. [5 marks] II. Domain Analysis [20 marks] 3. Write domain definitions and, from there, proceed to establish the domain scope for the system and each subsystem. The following table provides a template for your answer. Growing Abundance Domain Scope Domain Scope Outline   [10 marks] 4 4. Identify the domain concepts from the domain definition and scopes. Categorise the concepts into processes, functions, roles, objects, and business rules. You need to list them in a domain dictionary table using the following template: Growing Abundance Domain Dictionary Name Type Description [10 marks] III. Behavioural Modelling [45 marks] After completing the domain analysis, you are ready to start use case modelling. Please make sure that you use the domain concepts identified during the domain analysis activity as the basis for behavioural modelling. 5. Identify stakeholders of the whole system. List them with descriptions using the following table template. Growing Abundance Stakeholders & Actors Name Description [5 marks] 6. Create a use case summaries for the Online Ordering and Catering Services Management subsystems of the Growing Abundance IS using the template tables below. Growing Abundance Online Ordering: Use Case Summary ID Name Description Actors Growing Abundance Catering Service Management: Use Case Summary ID Name Description Actors [15 marks] 5 7. Complete a use case template for a use case that relates to an online user placing a school lunch order. Use the blank template below. Use Case: ID: Scope: Priority: Summary: Primary Actor: Supporting Actors: Stakeholders: Generalization: Include: Extend: Precondition: Trigger: Normal Flow: Sub-Flows: Alternate Flow/ Exceptions: Post-Condition: Non-Behavioral Requirements: Open Issues: Source: Author: Revision & Date [5 marks] 8. Create a use case diagram for the Catering Services Management subsystem, complete with “include” and “extend” where appropriate. [10 marks] 9. Create an activity diagram for the Online Ordering subsystem. [10 marks] 6 IV. Structural and Dynamic Modelling [40 marks] After completing the behavioural modelling, you will continue with structural and dynamic modelling. 10. Identify classes for both the Online Ordering and Catering Services Management subsystems. List each class, along with responsibilities and the use cases they are associated with, using the following table templates. Growing Abundance Online Ordering: Preliminary Class Candidates Class Responsibilities Use Cases     Growing Abundance Catering Services Management: Preliminary Class Candidates Class Responsibilities Use Cases     [15 marks] 11. Create a complete class diagram with associations and multiplicity information for the Online Ordering subsystem. Is there any relationship in this case study that can be described by aggregation/composition? Are there classes that can be generalized/specialized? [15 marks] 12. Create a sequence diagram for the process of a customer selecting products and completing an online order on the Growing Abundance website. [10 marks]