Assessment item 3 Validation phase Value: 25% Due Date: 27-Jan-2019 Return Date: 18-Feb-2019 Length: 2000 words Submission method options: Alternative submission method Task back to top In the final...

1 answer below »

Assessment item 3


Validation phase


Value:25%Due Date:27-Jan-2019Return Date:18-Feb-2019Length:2000 wordsSubmission method options:Alternative submission method

Task


back to top

In the final phase of the project, you need to validate your system designs. You have the following two choices to develop detailed object-oriented design models. You also need to submit a proper documentation describing the different aspects of developed component.


Choice 1:Students who have expertise in object-oriented programming are required to validate their system design through developing a prototype for at least one subsystem of chosen case study. You have an option to use any object-oriented programming language such as Java, C#, C++ etc. to develop this subsystem.


OR


Choice 2:Students who have no expertise in object-oriented programming are required to validate their system design using interaction diagrams (i.e., communication diagrams or sequence diagrams) for at least one subsystem of chosen case study. To do this, identifyfourmost important use cases for the system and develop communication diagrams or sequence diagrams for these use cases.


Rationale


back to top

This assessment task will assess the following learning outcome/s:



  • be able to create analysis and design diagrams with UML notation.

  • be able to compare the syntax, semantics and pragmatics of UML to determine the best diagrams for the problem domain.

  • to be able to verify and validate a system design.


Furthermore , the purpose of this assessment task is to develop student's skills and knowledge in:



  • validating an OO design through the construction of a prototype

  • converting design diagrams into program code

  • preparing project documentation

Please Find the Case Study which I have attached the file . . . . . .
Answered Same DayJan 26, 2021

Answer To: Assessment item 3 Validation phase Value: 25% Due Date: 27-Jan-2019 Return Date: 18-Feb-2019 Length:...

Pratik answered on Jan 27 2021
150 Votes
iDine System Design
The overall system iDine consists of various subsystems as follows :
· Order Management subsystem
· Inventory Management subsystem
· Sales Analytics subsystem
· Customer Feedback subsystem
· Wait time subsystem
Each of these subsystem are inter-dependent and have UML which depend on one or more subsystem.
We observe the Order Management Subsystem and produce a simplified UML diagram for Order Management in the Restaurant.
The Order M
anagement System consists of several database services for following requirements :
1. User Database
2. Menu Database
3. Realtime Order Database
4. Inventory Database
For the sake of implementation , we have simplified the various models and have 3 major classes and a manager class as follows :
    MenuItem
    Customer (acts as User)
    Order
    - Name : string
- Category : string
- Description : string
- itemID : int
- Price : int
    - orderID : int
- totalPrice : int
- done : boolean
    - itemCount : int
- itemID : int[]
- Quantity : int[]
- isComplete : boolean
    + getName()
+ getCategory()
+ getDescription()
+ getItemID()
+ getPrice()
+ toString()
    + getOrderID()
+ getTotalPrice()
+ isDone()
+ addPrice()
+ markDone()
    + getItemCount()
+ addItem()
+ getItemsID()
+ getQuantity()
+ isComplete()
+ markComplete()
The manager class is iDine. It reads the menu database from a text file “Menu.txt” and populates the MenuItem Class. Methods to add and manage new customers and orders are implemented which used orderID and customerID as their primary key for operations.
MenuItem.java
    
class MenuItem
{
    private String Name;
    private String Category;
    private String Description;
    private int ItemID;
    private int Price;
    public String getName()
    {
        return Name;
    }
    public String getCategory()
    {
        return Category;
    }
    public String getDescription()
    {
        return Description;
    }
    public int getItemID()
    {
        return ItemID;
    }
    public int getPrice()
    {
        return Price;
    }
    public void setName(String name)
    {
        this.Name = name;
    }
    public void setCategory(String cat)
    {
        this.Category = cat;
    }
    public void setDescription(String des)
    {
        this.Description = des;
    }
    public void setItemID(int id)
    {
        this.ItemID = id;
    }
    public void setPrice(int p)
    {
        this.Price = p;
    }
    public String toString()
    {
        String ans = ItemID+"\n"+Name+"\n"+Category+"\n"+Description+"\n"+Price+"\n";
        return ans;
    }
}
Order.java
    class Order
{
    private static int MAX_ITEMS = 20;
    private int itemCount;
    private int[] ItemID = new int[MAX_ITEMS];
    private int[] Quantity = new int[MAX_ITEMS];
    private boolean iComplete;
    public Order()
    {
        itemCount = 0;
        iComplete = false;
    }
    public int getItemCount()
    {
        return itemCount;
    }
    public void addItem(int id,int quantity)
    {
        ItemID[itemCount] = id;
        Quantity[itemCount] = quantity;
        itemCount++;
    }
    public int getItemsID(int x)
    {
        if(x            return ItemID[x];
        else
            return 0;
    }
    public int getQuantity(int x)
    {
        if(x            return Quantity[x];
        else
            return 0;    
    }
    public boolean isComplete()
    {
        return iComplete;
    }
    public void markComplete()
    {
        iComplete = true;
    }
}
Customer.java
    class Customer
{
        private int orderID;
        private int totalPrice;
        private boolean done;
        public Customer(int id)
        {
            orderID = id;
            totalPrice = 0;
            done = false;
        }
        public int getOrderID()
        {
            return orderID;
        }
        public int getTotalPrice()
        {
            return totalPrice;
        }
        public boolean isDone()
        {
            return done;
        }
        public void addPrice(int cost)
        {
            totalPrice+=cost;
        }
        public void markDone()
        {
            done=true;
        }
}
iDine.java
    import java.io.*;
import java.util.*;
import java.lang.*;
class iDine{
    private static final int MAX_CUSTOMERS = 50;
    private static final int MAX_MENU_ITEMS = 100;
    private static int custCount;
    private static Customer[] customers = new Customer[MAX_CUSTOMERS];
    private static int orderCount;
    private static Order[] orders = new Order[MAX_CUSTOMERS];
    public static int itemCount;
    private static MenuItem[] menu = new MenuItem[MAX_MENU_ITEMS];
    
    public static void initSystem()
    {
        custCount=1;
        orderCount=1;
        itemCount=0;
    }
    public static void displayMenu()
    {
        for (int i = 0; i < itemCount; ++i)
        {
            System.out.println(menu[i].toString());
        }
    }
    public static void addItem(int custID)
    {
        int orderID = customers[custID].getOrderID();
        System.out.println("Enter item no. to add : ");
        Scanner sc = new Scanner(System.in);
        int id =...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here