- Scope of the Project
The scope of the project is to create a robust software process for the organization. The system is named as MarketPlace Software. The creation of the software process involves creating database schema that supports the organization business and processes. The database also allows for storing of data, representing and querying the data. It allows the data to be analyzed and converted into meaningful information for the organization. The project plan defines all elements of development in the software life cycle.
An important area for any organization is to extract information from raw data. Relational database systems are a standard for most transactions in various organizations. The project is designed with Database as a central element to the software development for the organization.
As part of the project plan, an infrastructure network solution is designed that must support the software processes and allow scalability. A pictorial view of workstations, servers, bridges, routers, access points and gateways is designed. The internet access is also designed. A security policy is also defined that is based on the CIA triangle that stands for Confidentiality, Integrity, and Availability.
Database Design and Schema
The advantages of a relational database are abundant. An organization’s information reliability and availability enhances through it. It provides a base for improved decision making. It should be compatible and adaptive to any modification. In this project as well a database schema is designed consisting of tables, views and indexes and also the corresponding queries for retrieving and storing data. A schema is a rational depiction of the complete database. The conventional database utilizes relational-database model (Halpin, 1996).
Software Architecture
Designing software architecture is complicated, the complexity increases with the size of the software systems. The software architecture is a picture of a system that facilitates the concept of its behavior and functionality. Software architecture represents a glimpse of the project as well as the whole system. It characterizes that how the work assignments can be attained through following the design and implementation prospects. Software development project always targets a scalable and stable product that requires a solid architecture (Rumbaughet al., 1991).
The following aspects are considered while designing the project plan for architectural design
- The compatible sections like user interface can be redesigned till end with minimal collision.
- All the layers are recognized and acted upon accordingly that includes the network, database, user interface and business logic layers. All layers have interaction with each other.
- The procedure of testing and test cases is defined.
MarketPlace Software is designed on the basis on MVP design pattern. A three Layered Architecture project is the foundation of this project. Layers facilitate the development of the product in such a way that classes can be set into divided layers. Each layer has a specific purpose and seclusion of each simplifies the process of designing. It is a three-layered system that includes Presentation Layer, business layer, and data access layer. Presentation Layer presents the interactive User Interface; business Layer contains the business logic and interacts with the database via Data Access Layer. It utilizes jdbc or specific database drivers while connecting to the database.
Extensibility and Scalability
The application is customized in such a way that can be extended in terms of the structure and user interface. Its flexibility allows the addition of new components with the minimal refraction of design and code changes required.
Representation of an N-Tier Software Architecture
Entity Relationship Diagram
An entity relationship diagram (Figure1, Appendix) depicts the relational database model that has been created for the database design of the data warehouse. The ER Diagram depicts the relationship between all tables. It also shows a view that is created by combining information from different tables. View is not a physical table, but a logical table that is created through a query. All the tables are in third normal form.
User Interface Design
The below interaction diagram shows the flow of screens and the interaction of view with Model beans. The user interface design consists of a mail screen that acts as an entry point for all application. The design consists of several views that are in place and have their separate actions. Each of the views is related to a particular business action. The model and beans act as the controllers of information and enable a seamless transition of information between the user interface the backend database. The user interface is designed keeping in view the aspect that it can take full benefit and use of network components like internet and printer.
Data Flow Diagram (DFD)
A Data Flow Diagram (Figure2, Appendix) depicts the flow of data and capturing of the data for process flow. The DFD depicts the process of User browsing through Supplier information and placing orders. In the interim, various operations and transactions take place that are captured in various database tables. The Data Flow Diagram is a powerful visual representation of the flow of data. It captures the processes and facilitates a robust design of the software system keeping the data in central position. The data flow is most important aspect of any software process or system for any given organization.
Project Plan
Microsoft Project 2013 is used to develop a project plan. The file (ProjectPlan.mpp) consists of various tasks with subtasks and timeline that will monitor the progress of the database design. The Appendix (Figure3, Appendix) depicts a picture of the project plan. The plan consists of tasks, and several subtasks that define the timeline for the project completion. The project plan was updated several times to incorporate various changes that occurred during the flow of project design and creation. The project plan entails to all aspects of software design including user interface, network design, and database design.
Comprehensive security policy
An attack on either of the elements of the CIA is an attack on the Information Security of the organization. As part of the project plan, a robust security policy has been designed. The policy addresses ethical aspects related to employee, information, password usage and access to network resources.
- Control Measure
Software measures and metrics are considered to be an important aspect of the software development process for any organization. The identification of control measures and creation of metrics has become a vital part of the process. The growth of the industry has put large focus on this aspect of the software development process. The importance and relevance of control measures have been highlighted to a great deal in much of the literature that emphasizes the productivity and quality of software processes and products (Li & Cheung, 1987).
- Goals and Objectives
The Objective of the Project Plan is to design a software system that is robust and beneficial for the organization. The aim of the Project Plan is to design all aspects of the software process including database, user interface and network.
The goals of the Project Plan are:
- Design a Relational Database System for the organization
- Define all aspects of database including tables, schema, procedures, relationships, views and indexes
- Design the User Interface Screens for a seamless flow of the application
- Designing the Network Diagram, envisioning the hardware requirements and the respective placements in the network
- Create ER and DFD diagrams using MS Visio for depicting the flow of software systems
- Create a Microsoft Project Plans that lays out all the necessary schedules, targets and resources required for completing the project on time
- Create a Final Cost Analysis and Identify the Control Measures
- Identify the Hardware requirements
- Identify the software requirements
- Project Cost Analysis
A typical software development cycle can be broken down into various individual components where each of them consists of specific functions. The components put together to complete the software system. The project cost is involved at various stages of the development. The stages of development are Feasibility Study, Requirements Definition, Global Design, Prototype Construction, User Evaluation, System Implementation, Testing and Update and Maintenance.
The various aspects of cost during the project life cycle include
- Project Plan Advantages
The advantages of the project plan are several. The project plan enables to create the overall picture of the project development. It enables the stakeholders of the project execution to implement the activities at each stage. Project plan is an effective tool for planning the complete cycle of the project. Project plan is very beneficial and useful for planning the cost analysis. Implementation of the project plan has enabled to adhere to timelines, identifying resources and predicting the problems, risks, and issues.
- Information Technology Implementation
The implementation of Information Technology includes all layers of the process. The implementation includes Network Implementation, Hardware Setup, and Software Setup. The implementation phase of Information Technology is distributed across different phases of the development.
- Network Implementation
The network implementation includes identification of servers, network equipments like bridges, routers, and switches. The various components of the network to be used as identified in the network layout plan (Figure 4: Network layout and plan) are:
- Hardware Implementation
- Main Server
- Database Server
- Personal Computers (Workstations) with CPU x86 architecture for Staff
- RAM 8 GB for servers and 4/8/12 GB for Workstations
- LED Display Monitors
- Computer Department Workstations
- Front Office Department Workstations
- Mobile Workstations like Laptops
- Internet Setup
- Switches
- Ethernet Setup
- Bridges for connecting to critical resources
- Hub for connecting to shared resources like printer, scanner
- Peripheral devices like printers, keyboards, network devices, CD/DVD drives
- Wireless Access Points
- Firewall setup
- Software Implementation
The software implementation process requires setup of various tools and process for development of the final software product. The various software identified are:
- Microsoft Word will be required for various documentation purpose.
- Outlook express for email information exchange.
- Windows 8 Server Operating System.
- MS SQL Server Database for database requirements
- IBM Weblogic Web Application Server for hosting web applications
- Norton Anti-virus for protecting the system from any virus threats.
- Symantic anti-virus for protection from online threats
- Veracode for data security
- McAfee Complete Data Protection
- Web Hosting Providers and related Software
- Integration of payment gateways
- Windows 8 Operation System or Linux OS
- Database Software like MS SQL Server or Oracle
References
Gopal, A., Krishnan, M. S., Mukhopadhyay, T., & Goldenson, D. R. (2002).
Measurement programs in software development: determinants of success.
Software Engineering, IEEE Transactions on, 28(9), 863-875.
Halpin, T. (1996). Conceptual schema and relational database design. Prentice-Hall, Inc.
Li, H. F., & Cheung, W. K. (1987). An empirical study of software metrics.
Software Engineering, IEEE Transactions on, (6), 697-708.
Mantei, M. M., & Teorey, T. J. (1988). Cost/benefit analysis for incorporating human factors in
the software lifecycle. Communications of the ACM, 31(4), 428-439.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., & Lorensen, W. E. (1991).
Object-oriented modeling and design (Vol. 199, No. 1).
Englewood Cliffs, NJ: Prentice-hall.