You are asked to design and develop a supermarket management software system for a nationwide supermarket corporation, for example, Homebase http://www.homebase.co.uk/ or B&Q http://www.diy.com/. To make the development efficient, you must use the component-based development methodology. The final product will be a prototype such as a management system. During your development, you are expected to utilise the advantages of component-based approach to its maximum.
The specification of the system is given as follows:
This coursework needs to be done using Java programming language in Netbeans 7 or 8. The system aims to provide a suite of supermarket management functionalities for the store manager and other staff. It aims to be a highly secured networked desktop system. The system provides basic functions such as product price control, and advanced cross-department functions such as inventory control and alert. The system is supposed to have a user-friendly interface for better usability. Diagrams from http://www.iii.co.uk and http://www.cmisolutions.com/
The typical functions of Auto Supermarket include (but are not limited to) the following:
- User registration and login: Users need to have their accounts set up. Also user authentication is required before users can use the system. The system has three types of users: system manager, store manager and normal staff user.
- Price Control: The system allows the store manager to set the price of the products and to select products on a variety of sale offers. The sale offers may include seasonal promotions, customer loyalty, and new product promotions.
- Inventory Control: Stock is monitored all the time by uploading data from the accounting department and the store’s local inventory system. Items out of stock will be ordered from the central inventory system at the headquarters. The system generates warning messages for items in low stock automatically and also emails them to the message box of the store manager.
- Delivery Charges: Free delivery may be offered in certain circumstances to increase sales. Charge for shipping is based on weight, quantity ordered, shipping zones and classes.
- Finance Approval : The system offers its customers the opportunity to buy now and pay later using an online finance system, YourChoice. Your prototype should access the online finance system and take appropriate actions based on the approval results.
- Staff shifting: The system allows the store manager to organise staff resources according to customer access load by setting the shift/work hours for members of staff.
The auto-supermarket is to be developed in Java with reusable JavaBeans. It has access to databases but is NOT a Web application. Your tasks come from the following stages of component-based software engineering. At each stage, the tasks cover both development and analysis:
- Component mining: identify potentially reusable components from the basic legacy code of the E-Store system that is provided to you (download it from Moodle under coursework link) and/or other sources such as your previous work, and open source libraries (e.g., sourceforge.com and Google code). Build the identified components into JavaBeans. Complete interface definition should be given for each component.
- Component selection: design the auto-supermarket system by selecting appropriate components your have identified. You are encouraged to find components from other sources whenever possible. You need to reuse at least 3 components in your development. Justify the suitability of your selection based on the system requirement, architecture and the interface of the components.
- Component adaptation: discuss whether there are any mismatches between your pre-qualified components and the current reuse context. Use adequate adaptation techniques to adapt your candidate components if this is necessary.
- Component Integration: build the auto-supermarket system in Java by integrating the adapted components into the new system.
- Testing your system: test your prototype system with appropriate techniques. You need to discuss how your testing has focused on the special features of component-based systems.
- Evaluate your new system in respect of its system quality, development cost and time. You need to justify the benefits of component-based development and the component-based system. Discuss any drawbacks of your development approach and your new system.
The auto-supermarket system is expected to be an expandable and adaptive system to accommodate changing business requirements in the future. You are encouraged (but not required) to apply advanced technologies such as EJB and SOA in your coursework.
S1. The Component-Based Development Report. You should describe and justify your system design, implementation and testing as required in the above task section. You need to evaluate your system and development based on component-based methodology. This document should be no less than 5000 words and no more than 8000 words.
S2. Prototype. Please submit a CD-ROM of your code. Please note that only a prototype is required but you should demonstrate how to achieve the benefits of component-based software engineering to its maximum.
S3. Demo & Presentation. You will be required to demonstrate your prototype during the tutorial session of week 11, and to make a very short presentation (5 minutes) to explain and justify the greatest success and the greatest challenge you have met during your development at your normal lecture time in week 11. This will be an excellent opportunity to show your mastery of CBSE and analytic skills.
S1 The Component-Based Development Report 50 %
S2 Prototype (with demo) 40 %
S3 Presentation 10 %
A distinction level coursework should show you’ve well applied CBSE approach and technologies to the development of the prototype at all the key stages. An objective evaluation is also expected on your use of CBSE approach and your prototype.
A fair pass level coursework should show that you understand CBSE approach and have applied it and some related technologies to the development of the prototype.
A coursework may only get a basic pass if a fully functioning prototype is produced with a design report but with little CBSE methodology applied.
Relationship to Aims and Expected Learning Outcomes of SET11109/11509 Enterprise Computing:
The aims of the module are: “To enable the student to design and implement large-scale software systems through emerging software reuse technologies, mainly component-based development.”, which are supported with the following learning outcomes:
- Design a new system with suitable existing software components in an integration-compliant architecture
- Construct such a system by integrating the selected components with necessary adaptation, and then test the new system
- Achieve more efficient development via design patterns and software product lines
- Critically evaluate the most effective reuse technologies for efficient development of large-scale software systems
The coursework is designed to use your ability to develop a component-based system for an assigned application by identifying, adapting and integrating reusable components (LO1, LO2, LO3), then test the system and evaluate both the component-based system and development activities (LO4, LO2).
Please visit Java coursework help UK to get 100% accurate and reliable solutions for this coursework within the deadline