University of Pittsburgh Software Architecture & Programming UML Design Exercise

Software Architecture
Lab 10
Company XYZ has a hazard control model and a few employees. For the employees, there are two
project leaders Chuck and Denise, and two supervisors Jack and Jeff. Jack supervises regular
workers John, Mary, Jane, Tom and Nick. Jeff supervises workers Rob, Ed, Rick and Michael.
Chuck leads workers Joe, Frank, Sam and Greg. Denise leads workers Amy, Wil, Nancy and Adam.
Bob is the manager of Jack and Jeff, while Rachel is the manager of Chuck and Denise. The
company CEO is Steve.
Let the five job titles be ranked in this hierarchical level from top to bottom as CEO, manager,
project leader, supervisor, and regular worker. Each person is assigned with a head person if that
person’s job title is a higher rank. In other words, CEO has no head person and can be a legitimate
head person to a lower rank direct subordinate like manager, project leader, supervisor, or regular
worker. When an employee sees a danger, the issue is reported to his/her assigned head person. If
the head person is a project leader or supervisor, the person will announce the danger to all his/her
direct subordinates and report it to his/her head person. If the head person is a manager, the person
will gather information from all his/her direct subordinates who are project leaders or supervisors
and then contact the CEO. The CEO will throw a meeting demanding all managers to come up
with a set of decisions. The CEO will randomly pick one of the decisions.
Please develop a system to model the following scenario in order. John observes a gas leak of a
big tank and triggers method “void seeDanger()” to report it to his supervisor. The supervisor runs
“void seeDanger()” to tell all his subordinates to perform fixIt() and also informs his manager. The
fixIt() method prints out a message like “The person [name] is fixing it.” The manager runs “void
seeDanger()” to handle the danger by gathering information from all supervisors under his
management and execute “void contactBoss()” to inform CEO. Each supervisor or leader has a
“String provideInfo()” method, saying “Information from [name]”. Supervisor Jeff always sends
Rob and Rick to support the other team that encounters an incidence, i.e., these two guys perform
fixIt() for the other team. The CEO run “void seeDanger()” to throw a meeting to discuss with the
managers, and collect suggested decisions from individual managers who perform their
implemented “Decision suggestedDecision()” method. The CEO grants the final decision by
method “Decision grant(Decision[] da)”.
The CEO receives one decision from each manager. He randomly grants a decision that he receives.
The doIt() method in the final decision object is invoked. The decision displays “The city’s
environmental department is notified” and demands all persons in the company to evacuate. The
evacuation is broadcasted from CEO to all others in a cascading style following a breadth first
search tree structure. The CEO will notify the managers in order, who will each notify their
supervisors or leaders, who will each notify the regular workers under supervision. The evacuation
procedure will start from bottom up. Basically, the regular workers leave first, then the supervisors
or leaders, next the managers, and finally the CEO. Basically, a person’s evacuate() method is
called to evacuate and the method displays “The person [name] is evacuating”.
Please provide the design in UML and point out the applied design pattern(s). Note that a regular
worker in the future may be assigned with a different supervisor, who may be assigned with a
different manager. The design should be flexible in this aspect. (4 pts)
Implement in C# (6 pts)

Calculate your order
275 words
Total price: $0.00

Top-quality papers guaranteed

54

100% original papers

We sell only unique pieces of writing completed according to your demands.

54

Confidential service

We use security encryption to keep your personal data protected.

54

Money-back guarantee

We can give your money back if something goes wrong with your order.

Enjoy the free features we offer to everyone

  1. Title page

    Get a free title page formatted according to the specifics of your particular style.

  2. Custom formatting

    Request us to use APA, MLA, Harvard, Chicago, or any other style for your essay.

  3. Bibliography page

    Don’t pay extra for a list of references that perfectly fits your academic needs.

  4. 24/7 support assistance

    Ask us a question anytime you need to—we don’t charge extra for supporting you!

Calculate how much your essay costs

Type of paper
Academic level
Deadline
550 words

How to place an order

  • Choose the number of pages, your academic level, and deadline
  • Push the orange button
  • Give instructions for your paper
  • Pay with PayPal or a credit card
  • Track the progress of your order
  • Approve and enjoy your custom paper

Ask experts to write you a cheap essay of excellent quality

Place an order