3.2 Software Design Specification: Project Monitoring System
3.2 Software Design Specification: Project Monitoring System
3.2 Software Design Specification: Project Monitoring System
Page 1
3.2.1.2 Statement of Scope Monitoring of project progression is a critical component in the overall monitoring of a project. A projects ability to provide accurate, timely information to a variety of audiences may significantly affect the relationship the project has with its staff, monitoring, and beneficiaries of the project and outside funding agencies. In addition, the quality and accuracy of the project details reported to donors and other governmental entities can affect a projects funding, a projects credibility and the publics perception of a project. A project mon itoring strategy should be developed which will specify how project is created or collected, maintained, reported and stored. All projects should have a monitoring system; it may be informal and undocumented or formal and documented. Monitoring of project should be incorporated into the projects comprehensive monitoring system which includes all of a projects information needs. A projects monitoring system should address the use of both technological and human resources. Project Monitoring System has its scope. As a general the process of monitoring is included planning, implementation and evaluation of the projects that can cater all the projects of Municipality to make sure all development projects can be done consistently at all level and any problem occurs will straight away taken into action. An efficiency of monitoring system always needs to be upgraded from time to time with the introducing of some new method or system from the government due to the current technology changing.
Page 3
Processing Functionalities Function Project Information Entry Evaluation information entry Reminders to remember Project Team incharge Risk involved Activities done Progression of project Changes in project Priority Essential Essential Desirable Essential Essential Essential Essential Essential
Output Actual vs. Planned Project Report, Actual Cost vs. Planned Cost Report, Semi-Annual Project Progress Reports, Executive Status Report
Page 4
3.2.1.4 Major Constraints The Project Monitoring System will use JAVA Eclipse IDE with the database server MySQL. The system should be excellent enough to perform all the actions fast.
3.2.2 Data Design As the application is being built in java and MySQL, the overall application design can be classified into three parts.
1. Front End Graphical User Interface 2. Back End Data 3. Internal Functional Procedures
Software Design Specification Page 5
Back End Data For the back end, we are using the MySQL for storing all the information in the form of tables. These tables will be globally accessible to all the internal procedures.
Internal Functional Procedures The internal functional procedures are the logical entities that take out dissimilar task of adding, updating, deleting, viewing or printing the database.
3.2.2.1 Internal Software Data Structure There are no data structures available to the internal software architecture. The intermediate information while updating or adding to any table is stored in the java swing component. When the add or edit and update button is pressed the information in those text fields is directly sent to the database for add or update. For the report printing temporary local variables have been defined in the procedures with significant names to store different values and then print the report.
3.2.2.2 Global Data Structure The only kind of data available globally to the whole system is the database itself stored in MySQL.
3.2.2.3 Temporary Data Structure The Project Monitoring application doesnt use any intermediate temporary files of its own. As data being stored by the DBMS until the command commit is executed in the SQL query by the application.
Page 6
Below are mentioned all tables, their corresponding attributes and a small description of each.
Table Name: Project Attributes: Project Name, Description, Contract Agreement, Start Date, End Date,
Actual Start Date, Actual End date, Project Cost, Evaluator, Activity, Project Team Description: It holds the general information about certain projects. The primary key of this table is Project ID.
Table Name: Activity Attributes: Name, Start Date, End Date, Actual Start Date, Actual End Date, Duration, Risk, Cost, Actual Cost Description: It holds information about the activities done and ongoing. The primary key of this table is Activity ID.
Table Name: Progress Attributes: Progression, Project, Document, Photo Description: It holds the information about the progression of a project. The primary key of this table is Progress ID.
Table Name: Change Attributes: Change, Date, Event Description: Holds information about changes that occur for a project. The primary key of this table is Change ID.
Table Name: Reminder Attributes: Date, Message, Project Description: Reminds the user about a certain project. The primary key of this table is Reminder ID.
Software Design Specification Page 7
Table Name: Evaluation Attributes: Evaluator, Date, Project, Comment, Risk Description: Holds information about the evaluated projects thru the work done by the evaluator. The primary key of this table is Evaluation ID.
Table Name: Project Team Attributes: Name, Leader, Member Description: The project team holds information about the team who handles a project. The primary key of this table is Project Team ID.
Table Name: Personnel Attributes: Username, Password, First Name, Last name, Access category Description: It holds the information about the personnel who uses the system. The primary key of this table is Personnel ID.
The architectural context diagram for the project monitoring system is shown below. As it is clear from the diagram, various actors are admin, project managers and mobile users which will use the system. The subordinate systems that will be used by the software are the database (MySQL) and Java. Also, NetBean is a tool to connect the java to the database. Maintenance system is super ordinate, which needs the software for testing and maintenance purposes.
Page 8
3.2.3.2.1 Component Project 3.2.3.2.1.1 Processing narrative of component Project The component project contains the class Project. It contains the attributes, which are the basic data of the project. It contains the functions, which sets all the related data into and out of the database. The class project contains the data members and functions, which are unique to the project. The responsibilities of this component is to declaring variables of the basic data of the project and implementing functions which set data in the database and retrieve from the database.
Software Design Specification Page 9
3.2.3.2.1.3 Algorithm description of component Project Component Project; The intent of this component is to set basic project data into the database and get data from the database.
Start Declare variables of the basic data Set basic data of the project in the database Get the data from the database End
3.2.3.2.1.5 Restrictions/Limitations This component can only be called when the user requires the data of the project.
Page 10
3.2.3.2.1 Processing narrative of component Activity The component activity contains the class activity. It contains the attributes, which are the basic data of the activity. It contains the functions, which sets all the related data into and out of the database. The class activity contains the data members and functions, which are unique to the activity. The responsibilities of this component is to declaring variables of the basic data of the activity and implementing functions which set data in the database and retrieve from the database.
3.2.3.2.2 Interface description of the component Activity The component activity has an interface with the class project which it inherits attributes and functions. The attributes and operations which are unique to the project are declared and defined in the component class.
3.2.3.2.2.3 Algorithm description of component Activity Component Activity; The intent of this component is to set basic activity data into the database and get data from the database.
Start Declare variables of the basic data Set basic data of the activity in the database Get the data from the database End
Page 11
3.2.3.2.2.5 Restrictions/Limitations This component can only be called when the user requires the data of the activity.
3.2.3.2.3.1 Processing narrative of component Project Team The component project team contains the class project team. It contains the attributes, which are the basic data of the project team. It contains the functions, which sets all the related data into and out of the database. The class project team contains the data members and functions, which are unique to the activity. The responsibilities of this component is to declaring variables of the basic data of the project team and implementing functions which set data in the database and retrieve from the database.
3.2.3.2.3.2 Interface description of the component Project Team The component project team has an interface with the class user which it inherits attributes and functions. The user class has attributes, which are the basic data that determine what kind of access level the user has. The attributes and operations which are unique to the project team are declared and defined in the component class.
Page 12
Start Declare variables of the basic data Set basic data of the project team in the database Get the data from the database End
3.2.3.2.3.5 Restrictions/Limitations This component can only be called when the user requires the data of the project team.
3.2.3.2.4.1 Processing narrative of component User The component user contains the class user. It contains the attributes, which are the basic data of the user. It contains the functions, which sets all the related data into and out of the database. The class user contains the data members and functions, which are unique to the user. The responsibilities of this component is to declaring variables of the basic data of the user and implementing functions which set data in the database and retrieve from the database.
Page 13
3.2.3.2.4.3 Algorithm description of component User Component User; The intent of this component is to set basic user data into the database and get data from the database.
Start Declare variables of the basic data Set basic data of the user in the database Get the data from the database End
3.2.3.2.4.5 Restrictions/Limitations This component can only be called when the user requires the data of the user.
Page 14
3.2.3.2.5.1 Processing narrative of component Change The component change contains the class change. It contains the attributes, which are the basic data of the change. It contains the functions, which sets all the related data into and out of the database. The class change contains the data members and functions, which are unique to the changed made. The responsibilities of this component are to declaring variables of the basic data of the changes and implementing functions which set data in the database and retrieve from the database.
3.2.3.2.5.2 Interface description of the component Change The component change has an interface where it will get its attributes and functions. The change class has attributes, which are the basic data user. The attributes and operations which are unique to the change are declared and defined in the component class.
3.2.3.2.5.3 Algorithm description of component Change Component Change; The intent of this component is to set basic change data into the database and get data from the database.
Start Declare variables of the basic data Set basic data of the change in the database Get the data from the database End
Page 15
3.2.3.2.5.5 Restrictions/Limitations This component can only be called when the user requires the data of the changes.
Page 16
Page 17
3.2.5 Reports Design 3.2.5.1 Inventory of Reports 3.2.5.2 Layout of Reports 3.2.5.3 Data Dictionary of Reports
Page 18