1. Create a model for a cooking recipe generator. Given a list of ingredients, the recipe generator should output a list of recipes starting with the simplest recipe to the most complicated recipe.

1. Create a model for a cooking recipe generator. Given a list of ingredients, the recipe generator
should output a list of recipes starting with the simplest recipe to the most complicated recipe.
Optionally, the recipe generator should also accept cooking instruments as input, which will then
output the simplest recipe that could be made with the cooking instrument.
2. How would you apply distribution strategy in marketing to the modelling of distributed software.
The marketing distribution strategy includes operation management which means managing the
supplier, manufacturer, wholesalers, retailers and consumers, and the respective channels.
3. Explain the difference between a UML sequence and state diagram. Why would you choose
one over the other.
4. Choose your favorite design pattern. Explain it’s purpose, components, and an anti­pattern for
it.
5. Do you think that Z is a “timeless” modeling language? Will it still be relevant with changing
technologies?
6. Explain the difference between design patterns and architecture patterns.
7. Model RIT student info system course registration; evaluate and analyze implementation
8. Model the following procedures. Use all the modeling techniques required to make the design
as clear as possible:
∙ Hosting a birthday party.
∙ Driving a manual car.
*Model the real­world scenario, not a system that does those things.
9. Assume a supermarket such as Walmart or Target; design a system that would provide users
with a detailed inventory and real­time locations of items. The system/app would enable the
users to search and locate the aisle locations for products using GPS. The app would also
provide the users with information about stock of products, products on sale, and empty billing
counters.
10. The Rochester RC (Radio Controlled) Planes club wishes to implement a down scaled
realization of the aviation industry to enhance their aviation hobby. How would we design a
software that would provide a real­to­life implementation of the aviation experience. Each plane
handler would have a personal hand held display device that would provide updates similar to an
Air Traffic Controller would. Consider elements such as virtual weather, pay load on planes, air
traffic and emergencies.
11. You are to design a software for a Hotel that can help its management with day to day
activities like managing reservations, managing employees, and payroll. The software should be
designed to be scalable and should allow for additional functionality to be added post release.
The requirements for the property management system are outlined below.
○ The software would run on multiple machines located at different workstations in
the hotel. All machines would be of the same platform so a platform dependent
software is acceptable.
○ The machines would be connected via a local network and so communication
between different nodes should be possible. All data would be stored on a server
stub which also is the database server of the system.
○ System should allow for reservation of rooms, system should also allow for
multiple reservations by a single person.
○ There are different type of rooms in the hotel and each has a different tariff and
availability for them.
○ The system would have two users; an administrator who has complete access to
all modules and a basic user who has limited accessibility to the modules based
on the department the user is working for.
○ Each room has a dedicated housekeeping staff and this should be automatically
assigned by the system based on employee availability.
○ The hotel also has its own cab service, the system will also be responsible for
managing cab reservations upon customer requests. The bills for the cab serve
would be added to the customer’s bill for his/her stay.
○ The system should keep a track of the hotel’s account books and also store
payment receipts.
○ Employee salaries should also be kept track of. Each employee would have
access to his/her paystub through the system.
○ The software should allow audits and revenue analysis. This would be on a daily,
monthly, quarterly and yearly basis.
○ The software should allow for new rooms and employees to be added to the
system.
○ Any requirement not specified may be assumed.
You are free to use any of the modelling tools to model the requirements and specify different
constraints.
12. Monroe County wants to set up a disaster management system for the community. You are
to model a preliminary design that meets the specified requirements. This design would have to
be accepted by the officials before a decision can be made and hence it is important to design a
performance critical system. The initial requirements are stated below:
○ The system would get feeds from various department such as the meteorological
department that keep track of any possibilities of a disaster. Reacting to these
feeds is very time critical and would contribute to the acceptance off the design.
○ People would subscribe to the system for emergency updates. Hence the system
should keep track of registered users, their location details and their notification
preferences.
○ The system will also interact with various disaster management authorities such
○
○
○
○
○
as the local police department and the fire stations. The fire stations would
receive information from this system and hence it is expected that the system is
reliable.
Residents may choose to deregister from the system and have the option to
update their contact information.
The system should maintain statistics with regards to the Number of residents,
Number of people travelling in and out of the county work. Other statistics that
may help the system send out appropriate notification should be assumed.
The disaster management authorities would have complete access to the system
and can request for any data that should be supplied by the system immediately.
In case of an emergency the system should send out appropriate notification to
subscribed residents. These notification may include evacuation plans as decided
by the authorities or may simply be warnings and alerts.
Any requirement not specified and is crucial to the design may be assumed
appropriately.
Use appropriate modelling techniques to design and specify constraints on the system.
13. Elevator Problem
An elevator is to be installed in the Golisano School of Computing building with n floors. You are
asked to design the logic required to move the elevators between floors according to the
following constraints:
•Each elevator has a set of n buttons, one for each floor. These illuminate when pressed and
cause the elevator to visit the corresponding floor. The illumination is canceled when the elevator
visits the corresponding floor.
•Each floor, except the first floor and top floor has two buttons, one to request and up­elevator
and one to request a down­elevator. These buttons illuminate when pressed. The illumination is
canceled when an elevator visits the floor and then moves in the desired direction.
•When an elevator has no requests, it remains at its current floor with its doors closed.
1.Model the elevator using UML showing the following diagram:
a)Use case diagram and description
b)Class diagram
c)State chart
d)Sequence diagram
2.Model the constraints using OCL or Z.
14. Crossroad modeling
Crossroads has 6 different food stands (pasta and pizza, salad station, grab­and­go, Deli, Grill,
Asian Cuisine), a convenience store, and two cashiers. Customers can order from any food
stands simultaneously, and each food stand has its own menu and list price. Crossroad has two
cashier stands available where one or both cashiers operate at the same time.
1.Model the ordering and checkout process of Crossroad’s dining service using the following
diagrams:
a)Use case diagram and description
b)class diagram
c)state chart
d)sequence diagram
You are free to make assumptions.
15. The Federal Aviation Administration (FAA) would like to formally model the United States’ air
transportation system. Think about how this system is set up. For example, there are airports,
airlines, airplanes, passengers, etc. All of these parts are interconnected. Your goal is to
statically model United States air transportation in the Alloy language. Specifically, the FAA would
like to find the top four critical areas of the system. Where can interactions among component
parts go wrong? Where can interactions become a minor inconvenience? Note that there is no
set answer. However, You should arrive at your conclusions by setting up Alloy assertions and
facts around your model. See what breaks.
At a minimum, your model should include these parts:
1. Airplane
2. Airline company
3. Passenger
a. Child
b. Adult
c. Etc
4. Luggage
5. Airport
6. Boarding pass
7. Staffa
. Air marshall
b. Pilot & Copilot
c. Flight Attendant
16 . Visionary thinking: will software modeling ever advance to the point where automation will
kick programmers and software engineers out of their jobs? Why? How far into the future would
this occur? How far along are we now? Will some people still need to oversee autocoding
machines?
17. What is the best way to specify and design models, abstractly or using specific
implementation details? What is the best approach to transform requirements intro working
products?
18 . Will we at some point have a natural language modeling tools that will be capable of produce
models, code and implementation just from descriptions and requirements?
19. Parking Lots Management System
The system is used to manage a garage by counting number of parking vehicles in the garage
and letting the vehicles in if there are available parking lots. The system will support several
types of vehicles including regular cars, vans, and motorcycles. The garage has more than one
story, and each story has a maximum number of parking lots. Each story is equipped with a
sensor to detect going­in and going­out vehicles. Each vehicle must equipped with a legitimate
ID device, whose information is stored in the database of the system, to be able to park. Each
story has a crossing gate to let the vehicles in. The gate bars will be raised automatically when
its sensor detect a legitimate ID device. However, if the story does not have any more available
parking lots, the gate bar will not be raised. The gate bar is also will not be raised if the customer
who owns the ID device has not paid to park there before the due date. If a story is being
maintained/repaired, its maximum number of available parking lots is automatically reduced to
half, and vans are not allowed to park. One customer cannot have more than 3 ID devices.
Given the requirements above, model the system with any appropriate modeling technique that
you think it might fit the situation.
20. Suppose your team receives code from an existing project without documentation or a
model. How helpful and effective would reverse engineering be in generating a model for better
understanding of the code? How detailed should be the reversed model be? Is this approach
feasible, what are the tradeoffs?
21. Pretend that you are a software developer for a company and want to convince your
manager to incorporate a new software modeling technique (UML, OCL, Z­notation) in the
software development cycle. You need to convince your manager with research on how this
modeling technique would improve software development for your team. Write a 1 page proposal
backing up your claims with real research.
22. Model the Family Library Management System.
Brief Problem Statement.
A family owns several family libraries in different locations. The main library is in the
father’s house, several libraries are at his sons’ house. They exchange books among each other
and in the process some books are dislocated. The family needs a system to link the libraries
and enable the family members to look up books at any library location. The system should also
provide a mechanism for borrowing and returning books to their location.
System Features
1. The libraries contain a collection of books, transcripts and periodicals. Only
family members are allowed access to the collection.
2. The system should allow any family member to search through the collection in
any of the libraries.
3. Library collections are available for borrowing except for transcripts and old
edition books; they are not allowed to be taken out of the library.
4. The system should keep track of the collections, storing the original location,
current location, and the expected return date.
5. The system provides notifications of returned collections, new added collections
and redundancy warning (if any redundancy occurs in any collection).
6. For each collection, the system stores a document that contains a preface and
index of the content.
7. The system also stores the review on a book by any family member.
8. For each library, the system stores its capacity; if the library is full the system
provides information on the capacity of other locations.
23. Is a UML a Panacca or Malady? Answer with your own opinion and a discussion to support
your answer