Uploaded by Supun Tharanga


Software Development for Engineers
Answers to assignments and mini project report should be uploaded to TMA drop box in elearn.ou.ac.lk and hard
copy should be either sent by registered post to the following address or placed in the relevant box provided at the
Dept. of Electrical and Computer Engineering, Colombo Regional Centre.
The Course Co-ordinator – EEX3417
Faculty of Engineering Technology
The Open University of Sri Lanka
Nawala, Nugegoda.
(Answers should be clear, and readable. Use A4 paper. Unclear, unreadable, copied and direct reproduction
from the textbook will not gain any points for the answers. Delayed submissions will count minus marks. A
softcopy should be uploaded to Moodle but it will be considered only if the hardcopy is delayed)
Assignment #1 and Mini Project: 2019/2020
Assignment #1 - Submit on or before 16th November 2019
The aim of this course is to enable you to gain knowledge in fundamental concepts on which software
development is based on. Each question in this assignment has two parts, part(a) and (b).
Part (a) you have to give a solution by referring to the given scenario in part (a).
Part(b) you have to apply the knowledge gained by doing part(a) to solve the selected project out of 7 given
Mini project -Submit the report on or before 15th January 2020
Develop a software for selected project by using Java, Python or HTML. You can use PHP if necessary.
Database can be done in MySQL or Access.
For the mini project you need to develop,
Minimum of 3 data tables (normalized according to relational database norms)
Minimum of 4 screens – login screen, main screen, one screen to add/delete/update data to one
table, one screen to show the results of the calculation
A program that connects the screens, database to the algorithm to get the output
Mini-project will be evaluated by demonstration and viva voce. Time given for a student will be about 15
The student must submit the report before the deadline and bring the source code (as a
soft copy only), and the program in an executable format when he/she is attending the viva voce.
For the mini project, attending for demonstration is compulsory and if you do not attend, marks for mini
project will be not be allocated. The date and time for mini project demonstration will be given in the
Moodle class.
Format for the Mini Project Report (50% of total project marks)
Table of Content
Requirement Analysis (10%) - need use case diagram
High-level design (10%) – identify classes, any diagram
Data Modelling (10%) – Relational database, normalization
Detail design (08%) – screen flow diagram, any other necessary diagrams
Test Results (08%)
Conclusion or Discussion
Appendix – for any other relevant details such as screen layouts, report formats
Please modularise your program and write enough comments to make it readable. 5% of the marks
allocated for the program will be given for program readability.
Note : Hard Copy of the source code is NOT necessary
Working Program and Viva voce - 50% of the total project marks
Your tasks
1. Please select a project according to the first digit of your registration number and answer the questions in
the assignment based on the mini-project assigned to you.
2. To find out details of the requirements in order to carry out the project, you may visit a relevant
organization in your town or village.
3. You may upload the (b) parts of your answer in the assignment to the relevant group in the Moodle class
(E-learn) and get peer feedback and the improved version can be submitted for marking.
Selecting the Project Title for the Assignment and mini project
If your registration number starts with,
1. Develop a system to calculate salary of staff members in a restaurant taking into account
overtime, loan deduction, festival advance and leave.
The program should produce a monthly pay sheet.
2. Develop a system to automate membership details and time allocation for swimmers in a
swimming club. All users should take membership and pay monthly for usage. Usage could be
with a coach or without. The program should produce and income report for a given month
3. Develop a system to automate a CD library. CD library users should take membership. Members
should be able to borrow CDs. There should be a penalty for delayed returns.
4. Develop a system to automate a bookstore
The book store contains various categories of books in stock along with their title, author and
cost and stationary. Total income for a month should be the output from the program. The
management wish to see whether the store get profit from books or stationery.
5. Develop a system to calculate salary of staff members in a school taking into account overtime,
loan deduction, festival advance and leave. The program should produce a monthly pay sheet.
6. Develop a system to manage funds received and distributed by a charity organization in order to
to find out what fundraising activities to get involved and what social services to do. The system
should keep data about fundraising activities, donors, and beneficiaries. The program should
produce a summarized report about its monthly activities.
7. Develop a system to manage the inventory of a florist. You may take into account of re-order
levels of each flower type. The program should produce a monthly sales report.
Assignment 1
- Submit before 16/11/2019
Question 1 (50 marks)
(a) Read the scenario 1 given below and draw a use case diagram and identify classes with their attributes
and operations. (State your assumptions clearly)
(20 marks)
Scenario 1
Part of the process of course registration at OUSL for a new applicant
When an applicant requests to register for a course, an officer from student affairs verifies whether
he/she has relevant entry qualifications and paid the fees. If certificates to show entry qualifications are
not brought the applicant is asked to bring them and return. If the fees are not paid the applicant is
directed to the finance division to make the payment and come. To register for a course, the system
checks whether the course prerequisites are satisfied and let the student register for the particular course.
A student is given a student ID number and a registration number for the particular programme. All
courses have unique course codes, titles, credit ratings and a set of pre-requisites.
(b) Draw a use case diagram for the selected project and identify the classes in the domain with attributes,
functions, and relationships among classes. (State your assumptions clearly). To complete this part you
need to visit a relevant company/organization in your city/town/village, gather requirements and then
analyse the requirements as guided. You may write the name and address of the organization/company
that you selected.
Marks will be given for the following activities,
For uploading to Moodle class for feedback
Giving 2 comments for two others’ work
Final corrected solution
(5 marks)
(6 marks)
(19 marks)
Question 2 (50 marks)
(a) Read the scenario 2 given below and,
i. draw an ER-diagram (Entity relationship diagram) to analyse the data
ii. normalize the data to form a relational database up to 3rd normal form (Only if needed, if not
needed justify).
(15 marks)
Scenario 2
The company named ‘Good Health’ is having a number of pharmacies in hospitals and
supermarkets. A database system is required to manage these pharmacies.
Each pharmacy has a name, a code which you may assume to be unique, an
address, and a phone number.
Each pharmaceutical company has a name, which you may assume to be unique,
an address, and a phone number.
For each drug, the trade name and formula must be recorded. From the trade
name it can be identified from which pharmaceutical company it is supplied.
Pharmaceutical companies have long term contracts with pharmacies. One
company have contracts with many pharmacies. For each contract there is a start
date, end date and the text of the contract.
(b) Design a database for the selected project. Please draw the following diagrams necessary to develop
your database.
a. ER-diagram (Entity relationship diagram)
b. Normalisation of the database up to 3rd normal form. (Only if needed, if not needed justify).
Marks will be given for the following activities,
For uploading to Moodle class for feed back
Giving 2 comments for two others’ work
Final corrected solution
(5 marks)
(6 marks)
(24 marks)