THE OPEN UNIVERSITY OF SRI LANKA DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING BACHELOR OF TECHNOLOGY EEX3417 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 projects. ___________________________________________________________________________________________ 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, o Minimum of 3 data tables (normalized according to relational database norms) o 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 o 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 minutes. 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. 1 ● 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 ● Introduction ● 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 ● References ● 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. 2 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, i) ii) iii) 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. 3 • 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, i) ii) iii) For uploading to Moodle class for feed back Giving 2 comments for two others’ work Final corrected solution 4 (5 marks) (6 marks) (24 marks)