You are on page 1of 8

Project plan for Online

Bookstore system
1. Project Overview
1.1. Project description
The Online Bookstore System is a comprehensive web-based platform
that aims to revolutionize the way books are sold and accessed. This
system provides an intuitive and user-friendly interface for customers
to browse, purchase, and manage their book orders, while also offering
a range of features to enhance the overall experience.
1.2. Project Scope
An online bookstore system is a software application that allows users
to search for and purchase books online. It provides a platform for
customers to browse through a catalog of books, view book details,
make online payments, and place orders for book delivery. The system
also includes features for managing inventory, tracking orders, and
generating reports.

1.3. Assumptions
- the end user has a stable internet connection to access the online bookstore system.

- the user has a web browser capable of displaying the website.


- the user logging in with an ID and password is a valid user.
- all products listed on the online bookstore website are available according to the stock.
- he credits card number provided by the user is not stored in the database but is
redirected directly to a secure payment gateway, such as PayPal, via SSL.
- the online bookstore system will run on a properly working web server and database
system with an internet connection.
- the computer systems used by the end users are in proper working condition and
capable of basic functions like powering on, logging in, opening browsers, and
navigating to the website.

1.4. Constraints
o Geographical constraints
o Time constraints
o Inventory Constraints
o User Constraints
o Payment Constraints

2. Project Start-up
2.1. Project Life Cycle
Phase Activities Sequence
1- target audience
2- system functionality
Planning 3- timeline & budget
Phase #1
4- conduct feasibility
study
1- gather info to learn
problem domain.
2- define system requirement.
4- prioritize requirement
5- generate and evaluate
Analysis alternatives
Phase #2
6- review recommendation
with management.
1- design and integrate database.
2- design and integrate the network
3- design the application
architecture
4- design the user interfaces.
Design 5- prototype for design details.
Phase #3
6- design and integrate system
controls
1- Construct software components.
2-Vertify and test.
3-Train the users and document the
system. Phase #4
4-Install the system
Implementation
2.2. Methods, Tools, and Techniques
o Development Methodology: Choose a suitable development
methodology like Agile (Scrum, Kanban) for iterative
development and continuous improvement.
o Programming Languages: Select appropriate backend and
frontend languages based on project complexity and team
expertise. Examples:
▪ Backend: Python (Django, Flask), Java (Spring), Node.js
(Express)
▪ Frontend: HTML, CSS, JavaScript (React, Angular,
Vue.js)
o Database: Choose a database management system to store book
information, user data, and order details. Examples: MySQL,
PostgreSQL, MongoDB.
o Version Control System: Use a version control system like Git
for code management, collaboration, and tracking changes.
o Project Management Tools: Utilize tools like Trello, Asana,
Jira to manage tasks, track progress, and collaborate efficiently
within the development team.
o Front-End Techniques:
▪ Responsive design frameworks (Bootstrap, Foundation)
▪ Client-side validation for user input
▪ AJAX for dynamic content updates without full page reloads.

o Back-End Techniques:
▪ Secure coding practices to prevent vulnerabilities.
▪ Object-Relational Mapping (ORM) for efficient data access
from database.
▪ API integration for payment processing and other
functionalities.
2.3. Estimation Methods and Estimates
Example for Three-point Estimates: User Registration.
• Estimation Process:
o Identify Estimations:
▪ Optimistic Estimate (O): 2 Person-Days - Assuming a
smooth development process with minimal technical
challenges.
▪ Pessimistic Estimate (P): 5 Person-Days - This accounts
for potential complexities like security vulnerabilities or
integration issues.
▪ Most Likely Estimate (M): 3 Person-Days - This
represents the most realistic estimate based on team
experience and anticipated development effort.
o Calculate Weighted Average:
▪ Use the formula: Estimate = (O + 4M + P) / 6
▪ Estimate = (2 + 4 * 3 + 5) / 6 = 3.33 Person-Days.
2.4. Schedule Allocation

Activities Start date End date


1- target audience 16/4/2024 20/4/2024

2- system functionality 21/4/2024 23/4/2024

3-Confirm project feasibility. 24/4/2024 30/4/2024

4- timeline & budget. 16/4/2024 22/4/2024


1-Gather information to learn problem domain. 22/4/2024 28/4/2024
2-Define system requirements. 29/4/2024 5/5/2024
3- Build prototypes for discovery of requirements. 6/5/2024 8/5/2024
4- Prioritize requirements 6/5/2024 8/5/2024
5- Generate and evaluate alternatives 9/5/2024 14/5/2024
6- Review recommendations with management 15/5/2024 19/5/2024

1-Design and integrate database. 20/5/2024 27/5/2024


2- Design and integrate the network 20/5/2024 22/5/2024
3- Design the application architecture 20/5/2024 22/5/2024
4- Design the user interfaces. 24/5/2024 27/5/2024
5- Prototype for design details. 28/5/2024 5/6/2024
6- Design and integrate system controls 6/6/2024 12/6/2024
1- Construct software components. 13/6/2024 14/6/2024
2-Vertify and test. 15/6/2024 18/6/2024
3-Train the users and document the system. 19/6/2024 26/6/2024
4-Install the system 27/6/2024 28/6/2024

2.5. Resource Allocation


Task © Resource
1-Define project Analyst, computer tool to draw WBS.
problem and scope.

Project manager, computer tool such as


2-Timeline and
Budget Gantt Designer to draw Gantt chart.
3-Confirm project Analyst
feasibility.

4- Target audience Project manager

1-Gather information to Analyst, questioner method.


learn problem domain.

2-Define system
requirements. Analyst, computer tool.

3- Build prototypes for


discovery of requirements. Computer tool to build it.

4- Prioritize requirements Analyst.

5- Generate and evaluate


alternatives Analyst.

6-review recommendations
Analyst, Project manager
with management

1-Design and integrate Database designer, SQL server, shared


database. computer room.

2- Design the application Developer, ASP.net, shared computer room.


architecture
3- Design the user Interface designer, Graphic tools, shared
interfaces. computer room.

4- Prototype for design Designer


details.

5- Design and integrate


Designer and developers, shared computer
system controls
room.

1- Construct software Developers, code generator,


components.
ASP.NET, SQL server

2-Vertify and test.


Inspector, shared computer room and
acceptance tester and independent tester.

3-Train the users and


document the system. Training rooms, trainers, and users.

4-Install the system Installation team

You might also like