120 likes | 139 Views
Distributed Software Development. Web Project Project Design Overview. Overall project design. Design specifications for: Database (ER model) PostgreSQL database schematics User interface definitions Error handling Menu hierarchy Basic JSP construction and EJB component logic
E N D
Distributed Software Development Web Project Project Design Overview
Overall project design • Design specifications for: • Database (ER model) • PostgreSQL database schematics • User interface definitions • Error handling • Menu hierarchy • Basic JSP construction and EJB component logic • Activities underway: • EJB to database and EJB to JSP interfacing • Database testing and optimizing • User interface graphical design • Gaining proficiency in technologies used
So what is this schema about? • Database features: • Multiple project interdependencies (cronological and hierarchical) • Multiple task dependencies (cronological and hierarchical) • Personnel and other resources can be deployed to more than one task or project • Projects and tasks can have more than one leader, and one person can be a leader to more than one task or project • Personnel can be assigned to more than one group of resources • Record keeping for meetings, risks and contingencies, project baselines etc.
Menu hierarchy definitions • Menu contains 7 main units • Project overview • Resource maintenance • Project planning • Task maintenance • Project control and auditing • Overall project reports • Web billboard • Menus are enabled depending on user’s project role and access privileges • Users can assume the following project roles: • Client • Project leader • Task leader • Personnel
Menu hierarchy definition - submenus • Project overview • Schedule overview (Gantt, CPM, PERT and table view) – access: ALL • General project info – access: ALL • Tasks overview – access: Project leader, task leader, client • Planned cost – access: Project leader, task leader • Risks and contingencies - access: ALL • Project baselines - access: Project leader, task leader • Resource maintenance • Resource group maintenance – access: Project leader • Resource maintenance – access: Project leader • Human resources • Miscellaneous resources
Menu hierarchy definitions – submenus II • Project planning • General project information and planning – access: Project leader • General project description - access: Project leader • Task maintenance • Tasks setup • Recurring tasks setup • Gantt, PERT, CPM (critical path method) and table tasks overview • Cost planning • Project baseline setup • All functions are project leader and task leader privileged • Project control and auditing • Tasks control and review • Schedule auditing • Cost auditing • Resource control and review • Meetings • Project change-log • All functions are project leader privileged
Menu hierarchy definitions – submenus III • Overall project reports • Project completion status • Project completion date estimate • Critical tasks status • Indefinite factors • All functions are project leader privileged • Web billboard • View billboard – access: ALL • Enter task information – access: Task leader • Enter project information – access: Project leader
Enterprise Java Beans and Java Server Pages • Java Server Pages • Dynamic HTML code generation • Session control using JSP session object (each user one session per browser) • Passing information between pages using POST method • Information passed on to EJB tier • EJB tier passes information on to the database • Enterprise Java Beans • Methods and classes for communication with the database tier • Reusable code for frequently used database operations (authorization check-ups, cost calculation etc.) enabling faster and more reliable development
Error handling • JavaScript • Errors made at entry time (illegal values entered to GUI fields) • Enterprise Java Beans and JSP • Fatal server error or database error • Database entries are handled in transactions • Data entries and operations are stored into a file • Attempts to store illegal values into the database • Appropriate error message is returned and the user redirected to a page containing the error message • A link is made to the previous page so the attempted values can be corrected and entered once again