Home | Client | Class Page | Teacher's Home | CS Dept. | WSU |
The purpose of the project is creation of the system designed to support functioning of the video rental store.
The system is to allow to store the next basic information:
a) List of movies available in the store and also of those movies that the store does not have but whose names were entered in the system.
b) List of all videos owned by the store.
c) List of all customers of the store.
d) List of employees.
e) Data about videos that are checked out along with the date they were checked out and the date due.
The system is to allow to perform the next basic operations on the data stored:
a) Addition and deletion of the information about movies, videos, customers and employees.
b) Searching for the entered name of the movie, customer or employee and number of the video.
c) Entering the information reflecting videos checking out and checking in.
d) Determining the payment for the video being checked out.
e) calculation of the fee for the video late return;
There are two modes of data access. In non-password protected mode only the searching by movie name or by name of movie star are possible. Other operation are allowed to be performed only by employees in password protected mode.
Detailed description of the data stored by the system, operations allowed on the data and term definitions are stated in Functional Specification.
1.2. Project Deliverables.
The deliverables will include:
a) Stand-alone PC based application running on Windows 95 or Windows NT operating systems.
Due 05/05/99
b) User Manual. Due 04/30/99
1.3. Reference Materials.
Functional Specification.
1.4. Terms and Definitions.
See "Functional Specification", "Definitions" for term definitions.
2. Technical Process.
2.1 System Implementation Analysis.
Two basic approaches are possible in regard to the implementation of the required system: file system based approach or database management system (DBMS) based one.
The system required by the user implies that the data to be stored are quite well defined and their structure is not expected to be frequently changed. Their are no stringent real-time requirements for system functioning. It is possibility that the system will be needed to be converted from single user to multiuser distributed system in future. Enforcing integrity constraints on the data to prevent entering erroneous data is desirable. The system is supposed to store important business information so the system is to be able to recover from hardware and software failures.
The set of requirements the system is to meet leads to the conclusion to chose approach based on using database management system.
2.2. Project Length Estimation.
2.2.1. Length in Case of File System Based Implementation.
In case of file system implementation the estimation of the project length based on the intermediate COCOMO model is as following:
Product�s development mode: organic
Number of thousand of lines of code
(minimal estimation based the experience obtained in Data Structure course*): 2
Nominal efforts = 3.2 x (2)^1.05= 6.63 person-month
EAF**: 3.17
Estimated Length of the Project: 6.63 * 3.17 = 21person-month (in case of group of 5 programmers the length is to be about 4 month)
* Implementing of the product using C++ programming language would require creating at least
5 index tables (for movie, video, actor, customer, employee). Program assignment #1 in CS341 shows that supporting of one of such table requires at least four basic files (2 .cpp and 2 .h files). Average size of the file is estimated to be of 100 lines of code resulting in 400 lines of code per table or 2,000 lines per 5 index tables. Large portion of the code is, obviously, reusable, but, on the other hand, the necessity of supporting interrelation between tables that requires writing additional lines of code is not taken into consideration so 2,000 lines of code seems to be reasonable minimum estimation.
** EAF is calculated basing on the next values of software development effort multipliers: database size - 1.08, analyst capabilities - 1.19, application experience - 1.29, programmer capability - 1.17, virtual machine experience - 1.21, programming language experience -1.07, use of modern programming practices -1.1, use of software tools -1.24, required development schedule - 1.04, all other multipliers are assumed to be equal 1.
The estimated length of the project in case of file system implementation does not meet the requirement that the project is to be finished within the period less then 4 month.
2.2.2. Length in Case of DBMS based Implementation.
Microsof Access DBMS can be used for creating database for storing information. Creating of the database�s tables in this case is to be performed using Access�s SQL declarative language interface, not general purpose language itself. Operations on the database are also to be stated in SQL. To manipulate DBMS API functions are to be coded using such language as Visual Basic.
Approximate number of lines of codes is estimated to be 20 lines per function. Implementation of 40 operations possible on the database would require writing of about 1,000 lines of code in this case. Estimated length of the project in this case is:
3.2 x (1)^1.05 x 3.17 = 10 person-month, or about 2 month in case of team of 5 people.
2.3. Data Structures to be Used.
The data will be stored in the tables (relations) consisting of tuples and fields. The data will be entered in the table, modified, retrieved and searched using API interface based on ODBC classes and coded in Visual Basic Version 5.0.
2.4. Minimal System to Be Implemented.
The minimal system will support storing information about movies, videos, actors and customers. Minimal set of possible operations will include:
- Movie set of operations (see "Functional Specification", "Operations"): 1 - 9;
- Video set of operations: 1 - 5, 7 - 11, 14-15;
- MovieStar set of operations: 1 - 3;
- Customer set of operations: 1 - 4;
- Family set of operations: 1 - 5;
All operations will be implemented at least in non-password protected mode.
3. Process Model.
3.1. Milestones and Baselines.
a) 03/29/99: overall design is to be finished. Work product: Overall Design Document containing the description of subsystems, classes, objects and function modules;
b) 04/05/99: detailed design is to be finished. Work product: Detailed Design Document including complete description of all data structures and algorithmic decisions for all operations;
c) 04/16/99: testing plan is to be completed. Work product: Testing Plan Document including schedule of units testing, integration testing and the whole system testing.
d) 04/03/99: test report is to be produced and user manual is to be completed. Work products:
User manual guideline how the system is to be used and Test Report documents describing the results of all tests carried out in accordance with Testing Plan Document
e) 05/03/99: the final version of functioning system is to be demonstrated to the client. Work product: properly working system satisfying at least minimal agreed requirements.
3.2. Project responsibilities.
1. Faisal Sharif - Project leading, general coordination, code writing
2. Alexey Shanin - Database design, Visual Basic API programming
3. Jimmy Hale - Visual Basic API interface design and programming
4. Cindy Ge - Test planning, debugging, code writing
5. Lily Yuan - Test planning, code writing
Home Page | Client Page | Class Page | Teacher's Home | CS Dept. | WSU |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |