Assignment
Assignment
Assignment
• Your local veterinary clinic is seeing an increased number of animals being brought to their practice
because they have received incorrect dosages of medicine.
• It’s very important that medicine doses are calculated by the weight of an animal, and consider
factors such as their age.
• The practice would like a small application which calculates worming doses for Dogs, and outputs
the cost of the prescription.
You have been provided with the following
information...
• We give our Dogs Promax wormer tablets. The number of tablets they get depends on their weight:
• Small Dogs:• Less than 10 kg body weight = 1 tablet
• Medium Dogs:• 10kg but less than 20 kg body weight = 2 tablets
• 20kg but less than 25 kg body weight = 3 tablets
• 25kg but less than 30 kg body weight = 4 tablets
• Large Dogs:• 30kg but less than 35 kg body weight = 5 tablets
• 35kg but less than 40 kg body weight = 6 tablets
• Over 40 kg = No prescription administered, owners alerted that dog may be overweight and should
come into surgery for a check up
Other Considerations...• Our guidelines change if we are working with puppies or nursing bitches:
1. Puppies under 12 weeks should get 1 Promax Junior Tablet, irrespective of their weight.
2. Nursing Bitches should get 1 Promax Nursing Tablet, per 5 kg of weight. They should also get one
tapeworm drop.
• Costs for tablets depend on the type being prescribed
• Tablets are administered in whole tablets only.
• Promax wormer tablets – £1.25 per tablet.
• Promax junior tablets £1.25 per tablet.
• Promax nursing tablets - £3.00 per tablet
• Tapeworm drop - £3
• Our Prescription Charge is £4.00
Challenge:
1. Create a list of functional and non-functional requirements for
this application
2. Develop a “Sequence of instructions” for this application
3. Develop some wireframe diagrams showing what the application might look like
Sequence of Instructions
• This task is focused on the user experience (UX)
• Use a UX wireframe to answer these questions:
• What will be displayed in the user interface?
• Where will elements be placed on the page?
• How will users interact with the page elements?
• How will the web page or application work?
TASK2
1. Draw a structured flowchart for deciding what to have for your tea tonight
Consider
o Alone or cooking for someone?
o Eat in or go out?
o Cook or takeaway?
o Hot or cold?
o What’s in fridge?
o Etc…
2. Draw a more advanced structured flowchart for making a cup of tea
Consider:
Teabag or loose leaf?
Milk?
Sugar?
Lemon?
Teapot or cup?
When to remove teabag?
TASK 3
TASK 4
Rewrite your Use case for check balance, using the more Detailed Use Case template. (look below)
2. Draw a Use Case Diagram for a Cashpoint/ATM
I. Remember the different end goals
a) Withdraw cash
b) Check balance
c) Top up mobile etc..
Actors: [An actor is a person or other entity external to the software system
being specified who interacts with the system and performs use cases
to accomplish tasks. Different actors often correspond to different user
classes, or roles, identified from the customer community that will use
the product. Name the actor that will be initiating this use case
(primary) and any other actors who will participate in completing the
use case (secondary).]
Description: [Provide a brief description of the reason for and outcome of this use
case.]
Trigger: [Identify the event that initiates the use case. This could be an external
business event or system event that causes the use case to begin, or
it could be the first step in the normal flow.]
Preconditions: [List any activities that must take place, or any conditions that must be
true, before the use case can be started. Number each pre-condition.]
Postconditions [Describe the state of the system at the conclusion of the use case
(guarantees): execution. Should include both minimal guarantees (what must happen even
if the actor’s goal is not achieved) and the success guarantees (what happens
when the actor’s goal is achieved. Number each post-condition]
Normal Flow: [Provide a detailed description of the user actions and system responses that
will take place during execution of the use case under normal, expected
conditions. This dialog sequence will ultimately lead to accomplishing the
goal stated in the use case name and description.]
Scenario 1
You have been hired by the Children's Television Workshop to create the Sesame Street Web portal,
where kids can interact with Elmo, Big Bird, Grover, and their other favourite characters, create their
own Sesame Street episodes, and watch them, all through their Web browser. The customer has
some general ideas about what exactly they want the system to do, but there are a lot of things they
are not sure about yet. The customer has a FIRM deadline 6 months from today -- they hear that
Nickelodian is currently working on something similar, so they want to make sure that they beat
them with the release of their system first.
Scenario 2
You must create Groceries@Home, a Web-based system that will allow people to place orders over
the Internet for groceries to be delivered to their homes: security of customer data and financial
payments is paramount. The customer is the Grocery Home Delivery Service Ltd, a company that
operates nationwide and a company who, up until now, has taken orders for groceries solely by
telephone, but now wants to step into the information age. Your budget is £580,000, and you have
18 months to complete the project. The customer may introduce new requirements, but their
adoption would need to be agreed and the impact on budget and schedule considered. They have
stipulated that the process should be managed according to agreed quality standards and that
configuration management must be maintained. They will not let the system “go live” until it is fully
implemented and tested.
Questions
You may want to consider these questions before you decide which methodology to use:
How stable are the requirements?
Who are the end-users of the system?
Is the timeline aggressive (compressed) or conservative?
What is the size of the project?
Where are project teams located?
What are the critical resources?
Choosing a Software Process
Changes during the software development process are expensive.
If the requirements are poorly understood, or expected to change, select a process that keeps
flexibility.
Iterative refinement, sprints, phased implementation.
If a big software system has many inter-related components, avoid major changes to the design of a
system during development.
Sequential process, such as the modified waterfall model.
If the market for the software is poorly understood, use a process that gets operational software in
front of customers as quickly as possible.
Incremental, sprints.