1. 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.
2. 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
3. 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).
4. 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