A newsagent shop employs several newspaper deliverers to hand-deliver the morning newspapers to customers' houses. The customers all live fairly close to the shop and the deliverers are usually (but not always) children who deliver the newspapers before going to School. Each deliverer is assigned a "delivery round" covering the same customers each day. Most customers like to receive the same newspaper each day, ideally before 7.30 so that they can read it over breakfast before going to work. Customer order details can be complex - one customer, for example, has the "Defi Plus" on Tuesdays, the "L'Express" on Mondays to Saturdays, the "WeekEnd" on Sundays and a weekly magazine called "WeekEnd Scope" every Thursday, they also get a two monthly magazines, "Times" and "Le Point". The owner values his customers highly so he doesn't charge for delivery and just charges the normal retail price for each newspaper of magazine.
The owner uses a paper book system to keep track of which customers have which types of newspapers on which days of the week. In the book he records what was actually delivered and calculates the amount that the customer owes based on the price of each type of newspaper. Customers may pay all or part of the amount they owe at any time but they are sent a Bill for the outstanding balance every four weeks. Customers may change their order details, place extra, one-off orders or cancel the papers while they go on holiday. The owner also keeps record of his deliverers.
Every Monday, the owner sends a list of all the newspapers and magazines he needs for each day of the following week (Monday - Sunday) to his newspaper supplier available from the supplier list. Every morning, at about 5.00am, the supplier delivers the required quantity of each type of newspaper and magazine for that day. About two thirds of the newspapers and magazines are for delivery to customers' homes, the other third are kept in the shop and sold "over the counter". When the supplier delivery arrives the owner hand writes the appropriate customer's address on to each individual newspaper or magazine, organizes them into the delivery rounds then gives these to the appropriate deliverers. The deliverers have usually delivered all the papers to customer's houses by 7.30am.
Calculating how much a customer owes is often complex, is time consuming for the owner and unfortunately errors do occur. The owner wants a simple computer system to keep track of all the customers' different newspaper requirements and the amount they owe. He wants the system to consolidate these to produce a daily report with the total of each type of newspaper required so that he can send this to his newspaper supplier. He has seen a computer system that he likes which generates address labels that can be stuck on the newspapers and he prefers the idea of generating labels to handwriting the details.
Question 1:
(a) Show a UseCase Diagram for the above case study.
(b) Draw an appropriate class diagram for the Newsagent Shop System.
(c) Map the given class diagram into a logical Entity Relationship Diagram.
Question 2:
(a) What is a requirement?
(b) What do you meant by the terms requirement engineering?
(c) Briefly explain the requirement capture methods.
(d) Distinguish between requirements definition, requirements specification and software specification.
(e) What are non-functional requirements?
(f) What would be the outcome of software complexity?
Question 3:
(a) What are the different tasks involved in software engineering?
(b) Prepare short notes on the following software development processes.
i) waterfall
ii) code-and-fix
iii) prototyping
iv) spiral
v) Phased