Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Object Oriented Systems Analysis and Design

Asg- Design Patterns

Submit a sequence diagram illustrating the operation of EACH of their implementations for Assignment ( ie 2 separate sequence diagrams).

Also, to clarify the weightings for the different tasks and sections within each task:

Task 1 (Chat Server)
Task 2 - (Pizza Shop)

Within each task the deliverables will be weighted as follows:
1. Explanatory paragraph:
2. Class diagram (plus sequence diagram if submitted) :
3. Implementation:
4. Output:

Task

For each of the two small case studies provided, decide on an appropriate pattern or patterns to support, and explain that decision. Then, come up with a design to implement that solution and document your solution with a class diagram. Finally, implement a small test application to demonstrate your solution. Show how your solution works to support the described use case with a sequence diagram.

For each case study:

1. A paragraph explaining what pattern or patterns you have decided are appropriate for the solution in a Word compatible word processed document.

2. A class diagram showing your intended implementation classes

3. A ZIP file containing all your implementation source code arranged in the appropriate package hierarchy.

4. A text file containing output demonstrating how your solution supports the described use case.

Case Study 1

A hopeful (and slightly behind the times) startup company is pinning its hopes on a multiplatform distributed text-based chat application.

Signed up members connect to a server using their logonid and password, and are placed in public lobby. Their client is notified of all other currently connected members, and immediately starts receiving messages posted in the public lobby from other members. They continue receiving messages in that public area until they log out. All connected clients are notified whenever a member either connects or disconnects from the service.

While connected, members can also select a subset of other currently connected members and start private chat sessions with them. Messages sent between participants in private chat sessions appear only to those participants. Members can leave private chat sessions whenever they like, but the remaining members can continue chatting, until only one participant is left. Members can also be invited to join a private chat session that has already started.

Implement the message handling aspect of the server. You may assume that the networking aspects of the client are handled internally by the client object. Your job is to implement those aspects of the client that interface with the message handling system, and the server side message handling system itself.

In essence, you are allowed to assume that remote clients are represented by local Client objects, and you only need to organize calling methods on those objects and having those objects call methods in the message handling system. How you simulate new clients connecting and existing clients disconnecting is up to you. How you simulate clients is up to you.

Here is a list of the messages that need to be exchanged between client and server: your job is to make sure those messages get to the right chat session of the right client.

CONNECT(logonid)
DISCONNECT(logonid)
MEMBER_CONNECTED(logonid)
MEMBER_DISCONNECTED(logonid)
SEND_MESG(chat_id, sender_id, message)
RECEIVE_MESG(chat_id, sender_id, message)
chat_id = NEW_CHAT(initiator_id, logonid_list)
REQUEST_CHAT(initiator_id, logonid_list)
INVITE_CHAT(target_id, chat_id)
JOIN_CHAT(logon_id, chat_id)
LEAVE_CHAT(logon_id, chat_id)

These messages are indicative only. You are not bound to implement this exact interface. You do need to implement the functionality as stated.

Case Study 2

Luigi's Pizza makes pizzas. They make a variety of pizza bases, and cover them with a variety of sauces. They then add cheese, and a variety of toppings. Luigi's ‘schtick' is that all pizzas are customizable: customers order a pizza by ordering a base type, selecting a sauce, selecting a cheese, then selecting all the toppings they want. Each base type, sauce, cheese, and topping has its own cost, and the charge for a pizza is calculated by adding up all the component costs.

You job is to write a program that allows customers to order any combination of base, sauce, and whatever and as many toppings as they like, and to produce an itemized receipt with the correct cost for each pizza.

Here are the different bases, sauces and toppings that are available. Remember a pizza consists of 1 base type, one sauce, a particular type of cheese, and whatever toppings the customer wants.
Here are the different types of each component and their costs:

Bases:

 

 

Thin and Crispy

2.00

 

Regular

2.50

 

Deep Pan

3.00

 

Cheese Filled

4.00

Sauces

 

 

 

Tomato

1.00

 

Barbeque

1.50

 

Marinara

2.00

Cheeses

Mozarella

1.00

Buffalo

2.00

Goat

2.50

Cheddar

1.00

Toppings

Salami

1.00

Pepperoni

1.25

Ham

0.75

Bacon

1.00

Chicken

0.80

Ground Beef

1.20

Prawns

2.00

Dried Tomato

0.50

Capsicum

0.50

Olives

0.75

Jalapenos

0.75

Pineapple

0.50

Onion

0.50

Artichoke

1.00

Anchovies

1.50

Parmesan Cheese

1.00

Baby Spinach

0.75

Rationale

This assignment relates to the following learning outcomes:
- be able to evaluate and choose appropriate software design patterns to compose the design of a software system;
- be able to demonstrate use of a Computer Aided Software Engineering (CASE) tool to document the models in a system

Attachment:- Network Messages.rar

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92298121
  • Price:- $55

Priced at Now at $55, Verified Solution

Have any Question?


Related Questions in Computer Engineering

Solve the question given belowwhat is the relative market

Solve the question given below What is the relative market share for the top three cell phone service providers in the united states? The response must be typed, single spaced, must be in times new roman font (size 12) a ...

Taylor found that 8 of the recipients of loans form a

Taylor found that 8% of the recipients of loans form a particular mortgage lender default within 3 years. If he takes a random sample of 736 customers who received loans 3 years ago, what is the average number of custome ...

What is the simplest way to understand hc03 in the

What is the simplest way to understand HC03 in the acid-base study of electrolytes?

Jeff decides to start saving some money from this upcoming

Jeff decides to start saving some money from this upcoming month onwards. He decides to save only $500 at first, but each month he will increase the amount invested by $100. He will do it for 60 months (including the fir ...

Let a and b be events the symmetric difference atriangleb

Let A and B be events. The symmetric difference A(triangle)B is defined to be the set of all elements that are in A or B but not both. In logic and engineering, this even is also called the XOR (exclusive or) of A and B. ...

What is a domain name in the context of internet what is

What is a domain name in the context of Internet? What is the procedure to get a domain name and link it to an Internet Protocol (IP) address? Use an example.

How much of the opposing side should you share in a

How much of the opposing side should you share in a presentation to a multiple-perspective audience, and what techniques would you use?

What is the difference between dekkers algorithm and igloo

What is the difference between Dekkers Algorithm and Igloo approach? Please provide examples that can explain this.

Question 1 what is rdbms2 what is key-value pair

Question: 1. What is RDBMS? 2. What is Key-Value Pair Databases? 3. What are the foundational behaviors of MapReduce? The response must be typed, single spaced, must be in times new roman font (size 12) and must follow t ...

Start up your web browser and clear the browsers cache

Start up your web browser and clear the browser's cache memory (Use the following website if you don't know how to do this), but do not access any site after clearing the cache. ? Open Wireshark and start capturing. Now, ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As