King Fahd University of Petroleum and Minerals Information and Computer Science Department SWE‐205: Introduction to Software Engineering (091) Project (20% Weight) Project Description Overview A well established Belgian grocery store (BELGRO) chain has targeted Al‐Khobar and Dammam as possible sites for expansion. The company plans to build two mega‐stores in the Al‐Khobar area while the third will be built in the Dammam area. The BELGRO Company prides itself in its promise to its customer to always have fresh groceries and available stock in their stores. To achieve this goal, the company builds a central warehouse in each district to serve a number of its neighboring BELGRO mega‐stores. Therefore, BELGRO plans to build a new warehouse to serve the three mega‐stores in the Al‐Khobar and Dammam district. The warehouse will require a system to help monitor its supply levels and the freshness of its groceries in order to maintain the high standards its customers have grown accustomed to. High‐level Requirements The high‐level requirements are derived from the high standards that BELGRO is keen to maintain for its customers and are based on the day‐to‐day activities that occur in the warehouse. The high‐level requirements have a dual purpose. Firstly, the requirements will be used to construct a software project management plan. Secondly, the requirements will be used to drive the development process of the end system. The high‐level requirements are as follows: Project Requirement Guidelines 1. On a daily basis, new groceries are brought in by truck drivers and are admitted into the warehouse. The new groceries naturally have the highest level of freshness and are therefore stored towards the back of the warehouse by warehouse laborers, giving older groceries the priority to be taken out and delivered to the mega‐stores first. 2. On a daily basis, the warehouse receives requests for new groceries from the three mega‐stores. Based on these requests, the required groceries are loaded onto trucks by warehouse laborers and shipped to the mega‐stores. The amount of groceries loaded must be determined and approved by a floor manager. Truck drivers then deliver the groceries to the mega‐stores. To maintain the highest level of freshness, the oldest groceries located at the front of the warehouse are loaded onto the trucks. Newer groceries are in turn pushed to the front of the warehouse, by warehouse laborers, to replace the loaded groceries.
3. Inventory levels are checked on daily basis and reviewed by the floor manager. The company has preset threshold “stock levels” in the warehouse for each type of grocery product. If a stock level goes under the threshold level, the floor manager sends a request to bring in more stock of that type the next day. 4. Freshness levels are also checked on a daily basis. The freshness check involves determining how long each grocery item has been sitting in the warehouse. The company has preset “number of days” thresholds for each type of grocery product. If a grocery item remains in the warehouse beyond the preset threshold level, then the item is disposed by garbage men and newer groceries are moved in front to replace it by the warehouse laborers. 5. The warehouse system should also allow the executive manager the ability to adjust the price of each type of grocery item. Price is adjusted based on the following: a. Freshness of grocery item. b. Stock level of a grocery type. c. Daily demand on a grocery type. d. Seasonal adjustments (i.e. the availability of a given grocery item in a given season). 6. Any activity in the warehouse affecting its stock levels must be updated in the system immediately. Project Operational Guidelines The project will be carried out in a team of 4 students (unless approved by your Professor). Each student in a group will work as a group leader for a phase and it will be rotated among the group members. The submission of the documents will be done via WebCT. Phase 1: Software Project Management Plan [20 Marks] Due: November 11, 2009 The Software Project Management Plan is prepared at the commencement of the project to structure the activities that must take place during the project and to provide a tool against which progress can be measured. An example document outline that can be used as a model for the Software Project Management Plan is presented as follows: 1. Software Project Introduction a. Project Overview b. Project Deliverables 2. Project Plan a. Project Activities b. Project Schedule c. Project responsibilities
Phase 2: Business Requirements Specifications [30 Marks] Due: December 12, 2009 The Business Requirements Specification is a document, which reports the finding of the project team after analysis of the client’s requirements. The document specifies the project team’s proposed solutions relating to the software and hardware requirements of the system that is to be developed. It should be written in terms that the customer could understand. An example document outline that can be used as a model for the Business Requirements Specification is presented as follows: 1. Business Requirement Introduction a. Document Purpose 2. Functional Analysis a. Product function b. Use case Analysis 3. Domain Analysis (Conceptual Model) a. Identification of components/modules b. High level class diagram (domain model) 4. Data analysis a. Data input/output b. Data storage 5. User Interface Analysis a. Input Screens Format b. Output Screens Format c. General indication of flow of interaction Phase 3: Design and Development [30 Marks] Due: January 09, 2009 The software design document is prepared for programmers and future maintainers of the system, to specify the detailed architectural structure of the software. The document also includes test provisions that will be applied to the software developed. An example document outline that can be used as a model for the software design is presented as follows: 1. Software Design Scope a. Document Purpose 2. Object Oriented Design a. High level package diagram and components b. Refinement of the Domain Model i. Define any additional objects or classes, or new internal methods or attributes).
ii. Develop the design using Sequence Diagrams. Phase 4: Project Presentation/Demo [20 Marks] Week # 15 The team has spent last few weeks on the project and prototype has been developed. The aim of project presentation/demo is to summarize the project. The presentation should include the following points. 1. Introduce the team members and 2. Summary of the requirements, analysis, design and prototype phases 3. Demonstrate the functionality of the prototype application. 4. Discuss experience and issues with reference to the project. Final Submission Due: At the time of team presentation The final submission will consist of the following documents (preferably on a CD) • All project phase documents merged together to as one single project report • Source code • A user manual