Ask Computer Engineering Expert

PROBLEM 1:

A system keeps track of prices of machine parts in a warehouse. Prices of machine parts in the warehouse may change. Interested users may register with the system to watch price changes of a specific machine part in the warehouse. Each machine part is uniquely identified by its name and ID number. At any time different types of users may register or un-register to watch the price of a specific machine part in the warehouse. Each time when the price of a machine part changes, the system notifies all users registered to watch the price change of this machine part.

a. Develop a class diagram for the system using the Observer design pattern. For each class list all operations with parameters and briefly specify them using pseudo-code. In addition, for each class provide its attributes. Make the necessary assumptions for your design. Notice that the components in your design should be de-coupled as much as possible. In  addition, components should have high cohesion.

b. Provide two sequence diagrams showing:

  • How the user registers to observe a price change of a selected machine part.
  • How the system notifies users about price change of a specific machine part.

PROBLEM 2:

The ACCOUNT component supports the following operations:

OPEN (int p, int y, int a)   // open an account where  p is a pin,  y is an user's identification #, and a is a balance

PIN (int x)    // provides pin #

DEPOSIT (int d);  // deposit amount d  

WITHDRAW (int w);  // withdraw amount w 

BALANCE ();   // display the current balance

LOGIN(int y)   // login where y is a client's identification #

LOGOUT()    // logout from the account

suspend()    // suspends an account

activate()     // activates a suspended account 

close()      // an account is closed

The  ACCOUNT component is a state-based component and supports three types of transactions: withdrawal, deposit, and balance inquiry.  Before any transaction can be performed, operation OPEN(p, y, a) must be issued, where y is a client's identification #, p is a pin used to get permission to perform transactions and a is an initial balance in the account. It is assumed that OPEN() operation is issued only once for a given account. Before any transaction can be performed, operation LOGIN(y) must be issued (where y is a client's identification #) followed by PIN(x) operation. The PIN(x) operation must contain the valid pin # that must be the same as the pin # provided in OPEN(p,  y,  a) operation. There is a limit on the number of attempts with an invalid pin. The account can be overdrawn. If the account is overdrawn  then the withdrawal  transaction cannot be performed. The account may become suspended by suspend() operation. If the account is suspended, withdrawal, deposit, and logout transactions cannot be performed. A suspended account can be activated by activate() operation. In addition, a suspended account can be closed by  close() operation. The detailed behavior of the ACCOUNT component is specified using EFSM. The EFSM of Figure 1 shows the detail behavior of the ACCOUNT component.

Design the system using the State design pattern. Provide two solutions:

  • de-centralized version of the State pattern
  • centralized version of the State pattern

Notice that the components in your design should be de-coupled as much as possible. In addition, components should have high cohesion.

For each solution:

a. Provide a class diagram for the system.  For each class list all operations with parameters and specify them using pseudo-code. In addition, for each class provide its attributes and data structures. Make the necessary assumptions for your design.

b. Provide a sequence diagram for the following operation sequence: OPEN(123,111,1000), LOGIN(111), PIN(123), DEPOSIT(200), BALANCE(), suspend(), close()

Attachment:- Assignment Files.rar

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92199885

Have any Question?


Related Questions in Computer Engineering

Does bmw have a guided missile corporate culture and

Does BMW have a guided missile corporate culture, and incubator corporate culture, a family corporate culture, or an Eiffel tower corporate culture?

Rebecca borrows 10000 at 18 compounded annually she pays

Rebecca borrows $10,000 at 18% compounded annually. She pays off the loan over a 5-year period with annual payments, starting at year 1. Each successive payment is $700 greater than the previous payment. (a) How much was ...

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 ...

Suppose you make 30 annual investments in a fund that pays

Suppose you make 30 annual investments in a fund that pays 6% compounded annually. If your first deposit is $7,500 and each successive deposit is 6% greater than the preceding deposit, how much will be in the fund immedi ...

Question -under what circumstances is it ethical if ever to

Question :- Under what circumstances is it ethical, if ever, to use consumer information in marketing research? Explain why you consider it ethical or unethical.

What are the differences between four types of economics

What are the differences between four types of economics evaluations and their differences with other two (budget impact analysis (BIA) and cost of illness (COI) studies)?

What type of economic system does norway have explain some

What type of economic system does Norway have? Explain some of the benefits of this system to the country and some of the drawbacks,

Among the who imf and wto which of these governmental

Among the WHO, IMF, and WTO, which of these governmental institutions do you feel has most profoundly shaped healthcare outcomes in low-income countries and why? Please support your reasons with examples and research/doc ...

A real estate developer will build two different types of

A real estate developer will build two different types of apartments in a residential area: one- bedroom apartments and two-bedroom apartments. In addition, the developer will build either a swimming pool or a tennis cou ...

Question what some of the reasons that evolutionary models

Question : What some of the reasons that evolutionary models are considered by many to be the best approach to software development. The response must be typed, single spaced, must be in times new roman font (size 12) an ...

  • 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