Data Store: Customer
The following are the data stores to be used for the implementation of the database under which the proposed application will run.
Name of Data Store: Customer
Purpose of the data store: This data store is used to hold all the account details of the customer
|
Data Component/ Attribute Name |
Data Type |
Source of the Data |
How data used
|
Example of Valid Data |
customerID |
String |
Data is generated automatically by |
Unique identifier of the customer |
C001 |
|
firstName |
Text |
Customer registration form |
First name of the customer |
John |
|
lastName |
Text |
Customer registration form |
Last name of the customer |
Doe |
|
|
Text |
Customer registration form |
Email of the customer |
||
Street |
Text |
Customer registration form |
Street address of the customer |
8 montreal Road |
|
Suburb |
Text |
Customer registration form |
Suburb of the customer |
Queens drive |
|
city |
Text |
Customer registration form |
City of the customer |
Queens |
|
Country |
Text |
Customer registration form |
Country of origin of the customer |
Australia |
|
Phone |
Text |
Customer registration form |
Phone number of the customer |
02232343423 |
|
Username |
Text |
Customer registration form |
Unique username for login |
djoe |
|
password |
String |
Customer registration form |
Password for login |
J0gnd0e12 |
Name of data store: Book
Purpose of the data store: To hold details of a book
|
Data Component/ Attribute Name |
Data Type |
Source of the Data |
How data used
|
Example of Valid Data |
BookID |
String |
Product data sheet |
Unique identifier of the Book |
B001 |
|
Title |
Text |
Product data sheet |
Title of the book |
A Game of Thrones |
|
ISBN |
Integer |
Product data sheet |
Unique ISBN of the book |
12232434232 |
|
Publisher |
Text |
Product data sheet |
Name of publisher of the book |
Wesley-addison publishers |
|
Author |
Text |
Product data sheet |
Author of the book |
George RR Martin |
|
Image |
Text |
Product data sheet |
Image of the book |
||
Pages |
Integer |
Product data sheet |
Number of pages the book has |
694 |
|
Format |
Text |
Product data sheet |
The format the book is in |
Hardback |
|
Price |
Text |
Product data sheet |
Cost price of the book |
$100 |
|
Description |
Text |
Product data sheet |
Description of the book |
A song of ice and fire |
|
category |
String |
Product data sheet |
Category of the book |
Political fiction |
Data Store: Shopping cart
Purpose: Store details of a cart belonging to a customer
|
Data Component/ Attribute Name |
Data Type |
Source of the Data |
How data used
|
Example of Valid Data |
customerID |
String |
Customer’s shopping cart |
Unique identifier of the customer |
C001 |
|
Title |
Text |
Customer’s shopping cart |
Invoice |
A Game of Thrones |
|
Description |
Text |
Customer’s shopping cart |
Invoice |
A song of ice and fire |
|
Firstname |
Text |
Customer’s shopping cart |
Invoice |
John |
|
lastName |
Text |
Customer’s shopping cart |
Invoice |
Doe |
|
Street |
Text |
Customer’s shopping cart |
Invoice |
8 montreal Road |
|
Suburb |
Text |
Customer’s shopping cart |
Invoice |
Queens Drive |
|
City |
Text |
Customer’s shopping cart |
Invoice |
Queens |
|
Country |
Text |
Invoice |
Invoice |
Australia |
|
Postcode |
Text |
Customer’s shopping cart |
Invoice |
1234 |
|
phoneNumber |
Text |
Customer’s shopping cart |
Invoice |
0123456754 |
|
Quantity |
Integer |
Customer’s shopping cart |
Invoice |
1 |
|
GSTNumber |
String |
Customer’s shopping cart |
Invoice |
102-123-234 |
|
Date |
Date |
Customer’s shopping cart |
Invoice |
12/122018 |
|
UnitPrice |
Number |
Customer’s shopping cart |
Invoice |
$100 |
|
Discount |
Number |
Customer’s shopping cart |
Invoice |
$10 |
|
Tax |
Number |
Customer’s shopping cart |
Invoice |
$5 |
|
total |
Number |
Customer’s shopping cart |
Invoice |
$90 |
The system development life cycle is also referred to as SDLC. SDLC is a model of development of a software where the development process is divided into stages. The stages start from the initialization of the project up to when the final system is deployed and maintained.
The stages making up SDLC are;
- Planning- Planning is the most important stage of the SDLC as this is where a blueprint of the project and the procedure to be followed to develop the system is documented. Most projects fail because of poor planning at the initialization of the project thus planning is very important for any project (Gharhai, 2018). Planning involves determining the schedule to be followed to develop the system, the resources to be used, conducting a feasibility study to evaluate the worthiness of the project. A feasibility study is done to determine whether the project is feasible in the long run given the available resources. This stage of the SDLC involves both the client and the project team.
- System analysis and requirements engineering
After a good project plan is developed, the next phase in the project life cycle is to perform system analysis and requirements engineering. Requirements engineering involves doing research to come up with the requirements of the system. Methods of research specified in the planning phase of the project life cycle are used for requirements gathering. This methods may include questionnaires, interviews and observations. After collecting the requirements, a requirement document is prepared. The document is analyzed by the project team to come up with the system specifications through a process called requirements analysis. The specifications are then documented in a software specifications document which is used later on in the design phase of the project. It’s important to note that during the requirements engineering phase some tests that will be conducted on the functional requirements of the proposed system are also formulated and documented.
- System design
The system design phase comes after the requirements analysis and engineering is complete. For the system design, the software specification document that is attained in system analysis is used. For the proposed online store, the design phase will involve coming up with designs by use of mockups or wireframes. The design mockups are then analyzed and improved continually until the end design is achieved. Behavioral and structural modelling is also done and documented for use in the next phase of the development of the system. The final outcome of the system design phase is a software design document (SDD).
- Development
Development phase involves the implementation of the system based on the software design document achieved in the system design phase. The development of the system is done by the development team which has a project leader and a quality analyst who verifies that the quality of the software is up to standards at all times. A method of development decided upon in the planning phase is used to develop the system. For the proposed online Book Store, the ideal method to use to develop the system will be agile development. Agile development is the best development method to use for the proposed system because of its versatility and ability to adapt with the ever changing requirements during the life cycle of a project. Agile development will be implemented with scrum where the development team will break the tasks into smaller sub tasks and each member of the development team is assigned a task (Stephens, 2015). This tasks are developed and integrated continually as increments thus at the end of each iteration, there is a working version of the system. The working version of the system will be deployed to help the client interact with the system as the development takes place. By engaging the customer, a deeper understanding is created in the customer thus the customer will understand the system better. Using Agile with scrum will help create a motivated team as it will ensure that each member of the development team plays an active role in the development of the proposed online sore.
- Integration and testing.
Data Store: Book
After the development phase of the project life cycle is complete, the next phase is to integrate and test the system. This phase of the project mainly involves the quality analyst who is tasked with ensuring that the system is fully tested, verified and validated. There are different types of tests that will be done on the proposed online store system. These tests include unit testing which involves testing units that were developed in the initial stages. Each unit is tested to make sure no errors at the lowest level exist. After unit testing, integration testing is done to test the integration of the units that are combined to form system components. Integration testing involves making sure that all the units are integrated correctly to form working components. After integration testing is complete, system testing is done where the complete system is tested to make sure that all components were integrated correctly to form a working system. Other tests are also done that include regression testing where the system is tested to fail. By testing to fail, this ensures that all possible scenarios that could occur after the system is tested are captured in this phase. Another type of testing is beta testing where the customer is involved with testing where by a beta version of the complete version is released to the customer. All tests done on the proposed online store system will be documented and a test document produced.
- Deployment
After the system has passed all tests, the next phase in the project life cycle is to deploy the system for use by the client. For the proposed system, the system will be deployed on a live web server. After deployment the store will be live meaning that customers of the store can access the store and start using the online store.
- Maintenance
This is the last phase of the project life cycle. This phase involves maintaining the system to correct any bugs as well as make updates. Maintenance phase is important because any bugs that are detected during normal use of the system are patched and different updates of the system are released to the client
System analysis and design involves analyzing the requirements to come up with the design of the system. System analysis and design is important for the proposed web store because it will help ensure that all requirements are identified. To perform system analysis, requirements gathering techniques must be identified and scrutinized to identify the best and ideal method to use for the proposed online store. Depending on the nature of the proposed online web store, a good requirements gathering technique would be analyzing the current system in use by the business. Analysis of the current system will help the research team to understand how the business operates. This method can will be used interchangeably with interviewing so as to also get the view of the client about what he or she will expect the system to deliver to the business.
System analysis and requirements gathering will be done to make sure that all requirements are identified at this phase. Making sure all requirements are identified helps minimize the risk of requirements change in the final stages of the project life cycle.
SWOT analysis is done to identify the strengths and weakness of a system to understand whether the system in feasible for the business in the long run. For the proposed system, SWOT analysis will be done by identifying the strengths and weaknesses (Vonk, Geertman & Schot, 2007) of the proposed system and the overall cost of the system will be compared with the profits achieved as a result of implementing the system for a timeline of 5 years.
Feasibility study will be done to determine whether the project is worth it or not. There are different types of feasibility studies including;
- Technical feasibility- Technical feasibility involves analyzing the technical usability of the system in terms of inputs, processes and outputs.
- Operational feasibility- This type of feasibility will be done to determine how well the proposed online store system will meet the requirements of the client to solve the current problems the client is facing thus helping to determine whether the project is feasible or not (Scheid, 2013).
- Economic feasibility- This type of feasibility will be done on the cost that will be incurred to implement a new system so that the business can evaluate whether there is available resources to undertake the development.
- Schedule feasibility- This type of feasibility will be done to determine whether the schedule specified in the planning phase of the project planning phase is achievable or not.
Content management systems (CMS) are playing an important role in the development of the projects like GEB online store. A good example of a good CMS that can be used for the development of the proposed GEB store is WordPress. Using a CMS to develop an online store can significantly reduce the cost and the time that would take to develop a complete system. This is because CMS have a lot of features and plugins that are already implemented thus the development team only have to use the plugins to make sure all requirements are met. CMS are also easy to use thus the business may not need to a hire a large development team as it will be easy to develop and deploy the system using WordPress.
System development standards form a basis on which development processes can be rationalized thus each development process should follow the laid out standards to achieve a good piece of software. There is need for standards because without standards development teams can be free to develop the system any way they like just to make profits leaving the customer suffering after the software is deployed. Some crucial of standards are;
- Reliability and safety- By adhering to standards, reliability and safety of is ensured thus the customer gets a standard software which is safe and reliable (Finteq, 2018).
- Support for government legislation and policies- Following standards ensures that end product does not violate any government policies or legislations.
For the proposed online store some of the standards that must be adhered to is to ensure the website is safe and secure. This can be done by ensuring customer data is stored in a secure location and any transfers between the website take place in secure socket layer.
References
Finteq. (2018). Why standards are important in software development – Finteq. Retrieved from https://www.finteq.co.za/why-standards-are-important-in-software-development/
Gharhai, A. (2018). SDLC Phases – Software Development Life Cycle. Retrieved from https://www.testingexcellence.com/software-development-life-cycle-sdlc-phases/
Scheid, J. (2013). Example of an Operational Feasibility Study – What Should Be Included?. Retrieved from https://www.brighthubpm.com/project-planning/72872-an-example-of-operational-feasibility/
Stephens, R. (2015). Beginning Software Engineering. John Wiley & Sons.
Vonk, G., Geertman, S., & Schot, P. (2007). A SWOT analysis of Planning Support Systems. Retrieved from https://dspace.library.uu.nl/handle/1874/25760