Sie sind auf Seite 1von 73

1

1 Introduction
1.1 Introduction to project
The main objective of the Project Management Metrics Calculator for Schedule and Effort Deviation to generate the reports to project manager by using centralized data to bring out the successful completion of specific project. Project Manager can generate the Reports and Metrics for a particular phase and task. System Details Project Manager wants to see several reports such as number of open tasks, closed tasks, pending tasks, all tasks that assign to a developer, all open tasks for a specific developer, all closed tasks for a specific developer. Task life cycle

Open State

In Progress state

Completed state

Closed state

OnHold state

ReOpen state

Fig 1.1 Life cycle of task Reports at Task Level Numbers of Tasks are processed in Open State.
Project Management Metrics Calculator

Numbers of Tasks are processed in InProgress State. Numbers of Tasks are processed in Completed State. Numbers of Tasks are processed in Closed State. Numbers of Tasks are processed in On Hold State. Numbers of Tasks are processed in Reopen state. Based on the reports the Project Manager wants to calculate the Metrics. There are two types of Metrics, they are:  Effort deviation  Schedule deviation 1. Effort Deviation Effort spent by the developer doesnt satisfy the expected time, then effort deviations are occur. They are as follows: Positive Deviation The actual time is exceeded by the developer.

Negative Deviation The actual time is preceded by the developer. Effort Deviation Tasks Days D1 D2 D3 D4 Total 8 8 8 6 30
Negative Deviation

T1 (32hrs)

T2 (32hrs) 8 8 8 10 34
Positive Deviation

T3 (32hrs) 8 8 8 8 32
Zero Deviation

Fig 1.2 Effort Deviation

Project Management Metrics Calculator

Effort deviation can be calculated at three levels Project level Phase level Task level 2. Schedule deviation Schedule deviation occurs when the project deviates from actual period of time There are two types of schedule deviations Positive Deviation Negative Deviation Positive Deviation When the project exceeds actual period of time.

Negative Deviation When the project precedes actual period of time. Schedule deviation can be calculated at three levels Phase level Task level

1.2 Introduction to organization


NeoApp Profile NeoApp develops custom software solutions for companies in a variety of industries. Since its beginning in August 2008, NeoApp has offered efficient, reliable and cost-effective solutions with good quality by implementing CMMI practices from its development facility located at Hyderabad. NeoApp has expertise in latest technologies and caters to your exacting requirements. NeoApp helps you from concept to completion of a project with full range of service offerings.

Project Management Metrics Calculator

Most importantly, NeoApp combines the right strategy with the right products and the right people, ensuring technical superiority, high quality deliverables and timely implementations. NeoApp supports different delivery and billing models to fit your requirements. By having NeoApp involved with your software development projects, you benefit with reduced costs and faster development cycles. To reduce the development costs NeoApp strictly adhere on reusable component model with plug and play architecture. Offshore outsourcing model became easily adoptable and has increased benefits beyond cost reductions. The offshore outsourcing with NeoApp includes full spectrum services and multi fold benefits. NeoApp, with its experience in executing offshore projects ranging from large enterprise solutions to small plug-in applications, helps customers achieve the offshore outsourcing goals. NeoApp establishes suitable project execution methodologies for each project and accomplishes offshore execution on time and on budget. NeoApp pays high importance to quality of deliverables and has mandatory quality doors in place for each project ensuring success of the overall project. NeoApp works with you from conceptualization to completion and has the required expertise to pick up the project at any stage in its life cycle. y y y y Business concept and system study Requirement Study Design Architecture and develop specifications Design the framework of the solution

Project Management Metrics Calculator

y y y y y y

Develop the solution QA the solution against requirements Continuous support for the solution Develop prototypes for proof of concept Engineer the solution Release as per plan The team and project approach of NeoApp has resulted in above expected

deliveries of projects. NeoApp works with you in refining the project at every stage and with its vast and experienced talent pool, NeoApp brings value with innovation to the project. NeoApp offers complete solutions to application maintenance requirements helping organizations to cut costs and optimize resource utilization. NeoApp performs the following tasks on a variety of technology platforms beginning with Legacy to Client Server to Browser based internet application. y y y Application Development Application Maintenance Application Support

NeoApp with its experience in wide range technologies and ability to learn quickly help you ensuring availability of your systems to your customers. NeoApp performs systems monitoring and undertakes evolutionary development of these applications as required and deemed fit.

Project Management Metrics Calculator

2 System Requirements
System Requirement Specifications 2.1 Hardware Requirements
Processor RAM Hard disk : Pentium IV 500 MHz : 512 MB RAM : 500 MB or above

2.2 Software Requirements


Java 2 platform (J2SE 1.6) Windows XP

Project Management Metrics Calculator

3 Literature survey
3.1 Existing System The user in this system maintains the separate Excel Sheets (Project Manager) for maintain the data. So that the Project Manager has to calculate the metrics and reports manually for a particular Phases or task or project by using the Excel sheets data. 3.2 Proposed System The Proposed System is providing the interface to generate the reports and metrics for project manager by using centralized data of the Project Monitoring management process results. Project Manager will access the centralized data through PMMC system. PMMS System acts as an interface for the project manager to generate reports.

Project Management Metrics Calculator

4 System Analysis
System Analysis is first stage according to System Development Life Cycle model. This System Analysis is a process that starts with the analyst. Analysis is a detailed study of the various operations performed by a system and their relationships within and outside the system. One aspect of analysis is defining the boundaries of the system and

determining whether or not a candidate should consider other related systems. During analysis, data is collected from the available files, decision points, and transactions handled by the present system. Logical system models and tools are used in analysis. Training, experience, and common sense are required for collection of the information needed to do the analysis Logical system models and tools are used in analysis. Training, experience, and common sense are required for collection of the information needed to do the analysis. This System Analysis is a process that starts with the analyst. Analysis is a detailed study of the various operations performed by a system and their relationships within and outside the system.

4.1 Software Requirement Specification


Software Requirements Specification plays an important role in creating quality software solutions. Specification is basically a representation process. Requirements are represented in a manner that ultimately leads to successful software implementation. Requirements may be specified in a variety of ways. However there are some guidelines worth following: -

Project Management Metrics Calculator

1. Representation format and content should be relevant to the problem 2. Information contained within the specification should be nested 3. Diagrams and other notational forms should be restricted in number and consistent in use. 4. Representations should be revisable. The software requirements specification is produced at the culmination of the analysis task. The function and performance allocated to the software as a part of system engineering are refined by establishing a complete information description, a detailed functional and behavioral description, and indication of performance requirements and design constraints, appropriate validation criteria and other data pertinent to requirements. An outline of the Software Requirements Specification A simplified outline can be given for the framework of the specifications. This is according to the IEEE Standards.

4.2 User Requirement Specification


4.2.1 User characteristics The user interface helps the users in registering with the application. The operational user interface also helps in adding new data as and when required.. There are no restriction or access rights for the user to access the system. The interface helps the users with the transactional states like data insertion. 4.2.2 Functional requirements The system after careful analysis has been identified to be presented with the following modules:

Project Management Metrics Calculator

10

PMMC_R_001: System should provide a provision to login for the project manager PMMC_R_002: System should provide a provision to generate report on how many tasks are in Open state to the Project Manager. PMMC_R_003: System should provide a provision to generate report on how many tasks are in OnHold state to the Project Manager. PMMC_R_004: System should provide a provision to generate report on how many tasks are in Closed state to the Project Manager. PMMC_R_005: System should generate a report of Schedule deviation for a project to the Project Manager. PMMC_R_006: System should generate a report of Schedule deviation for each phase to the Project Manager. PMMC_R_007: System should generate a report of Schedule deviation for a particular task to the Project Manager. PMMC_R_008: System should generate a report of Effort deviation for a project to the Project Manager. PMMC_R_009: System should generate a report of Effort deviation for each phase to the Project Manager. PMMC_R_010: System should generate a report of Effort deviation for a particular task to the Project Manager.

4.3 Feasibility Study


An important outcome of the preliminary investigation is the determination that system requested is feasible. It is proposed to solve the problem development a computer

Project Management Metrics Calculator

11

based information system for job searching. Since the data is voluminous and involves a lot of overhead. Therefore, it is the best activity for computerization. The proposed system is feasible in following aspects. 4.3.1 Technical Feasibility The technical feasibility is measured with the current Equipment, existing software technologies and available personnel are sufficient for the proposed system. The proposed system is technically feasible since the equipment; software technology and available personal in the organization are well suitable for the proposed system. 4.3.2 Economic Feasibility Economic feasibility is measured that the proposed System having sufficient benefits in the economic point of view. Since the necessary hardware and software are available in the organization, there is no need to procure and install new hardware and software. Thus, initial investment on hardware and software is nothing. There is no need of extra personal for the proposed system. Hence, the proposed system is economically feasible. 4.3.3 Operational Feasibility The operational feasibility is measured by the usage of the system after implementation and resistance from the users. Hence, it is encouraging to undertake a detailed system analysis.

Project Management Metrics Calculator

12

5 System Design
System Design
The most creative and challenging phase of the life cycle is system design. The term design describes a final system and the process by which it is developed. It refers to the technical specifications that will be applied in implementations of the candidate system. The design may be defined as the process of applying various techniques and principles for the purpose of defining a device, a process or a system with sufficient details to permit its physical realization.

The designers goal is how the output is to be produced and in what format. Samples of the output and input are also presented. Second input data and database files have to be designed to meet the requirements of the proposed output. The processing phases are handled through the program Construction and Testing. Finally, details related to justification of the system and an estimate of the impact of the candidate system on the user and the organization are documented and evaluated by management as a step toward implementation.

The importance of software design can be stated in a single word Quality. Design provides us with representations of software that can be assessed for quality. Design is the only way where we can accurately translate a customers requirements into a complete software product or system. Without design we risk building an unstable system that might fail if small changes are made. It may as well be difficult to test, or could be one

Project Management Metrics Calculator

13

whos quality cant be tested. So it is an essential phase in the development of a software product.

5.1 Input design


The input design is the link that ties the information System into the real world of its users. The inputs, which are given by the user, will form the core of the processes. So the inputs have to be care fully analyzed and care has to be taken to avoid in correct inputs. The guidelines that have been followed in designing the input forms are.

 Minimizing the number of input by collecting only required Data and grouping similar or related data.  Maintain consistently between information display and input.  Providing help facilities those are context sensitive.  The format of the same data in different screens must be same.  Consistent terminologys are to be used throughout the system

5.2 Output design


Computer output is the most important and direct source of information to user. Efficient, intelligible output design should provide user with systems relationships and help in decision-making. The major form of output is hard copy from the printer; printouts are to be designed around the out put requirements of the user. The output devices to be considered depends on factors such as compatibility of the device with the system, response time requirements, expected print quality and number of copies needed. The output design was carried out in consultation with the user reports, which have many

Project Management Metrics Calculator

14

columns, are printed n compressor mode, which can be printed on laser printers and others in uncompressed mode so as to facilitate its usage online printers.

5.3 Selected software


5.3.1 About JAVA The Internet helped catapult Java to the forefront of programming, and Java, in turn, has had a profound effect on the Internet. The reason for this is quite simple: Java expands the universe of objects that can move about freely in the cyberspace. In a network, two very broad categories of objects are transmitted between the server and our computer passive information and dynamic, active programs.

As desirable as dynamic, networked programs are, they also present serious problems in the areas of security and portability. Java achieves this security or protection by confining a Java program to the Java execution environment and not allowing it to access to other parts of the computer. Many types of the computers and operating systems are in use throughout the world and many are connected to the Internet. For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed.

Java was designed to be easy for the professional programmers to learn and use efficiently. The object model of Java is simple and easy to extend, while simple types, such as integers are kept as high-performance non-objects. The multiplatformed environment of the web places extraordinarily demands on a program, because the program must execute

Project Management Metrics Calculator

15

reliably in a variety of systems. Thus, the ability to create robust programs was given a high priority in the design of Java. At the same time, Java frees us from having to worry about many of the most common cause of programming errors. Because Java is strictly typed language, it checks our code at the compile time and also at run-time.

Java was designed to meet the real world requirements of creating interactive, networked programs. Java supports multithreaded programming, which allows us to write programs that do many things simultaneously. A central issue for the Java designers was that of code longevity and portability. Their goal was write once; run anywhere, any time, forever .

Java enables the creation of the cross-platform programs by compiling into intermediate representation called Javabytecode. This code can be interpreted on any system that provides a java virtual machine. Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is not much different from accessing a file. The original version of Java (OAK) included features for intra-address-space messaging. Java programs carry with them substantial amounts of the run-time type information that is used to verify and resolve accesses to objects at run-time. This makes it possible to dynamically link code in a safe and expedient manner.

Project Management Metrics Calculator

16

5.3.2 Introduction to JAVA Creation of JAVA


Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and

Mike Sheridan at SUN Microsystems Incorporation in the year 1991.It took 18 months to develop the 1st working version. This language was initially called OAK, but was renamed JAVA in 1995, many more contributed to the design and evolution of the language. JAVA overview Java is a powerful but lean object-oriented programming language. It has generated a lot of excitement because it makes it possible to program for Internet by creating Applets. Programs that can be embedded in web page. The context of an applet can be an animation with sound, an interactive game or a ticker tape. With constantly updated stock prices. Applets can be just little decorations to liven up web page, or they can be serious applications like Word processor or Spreadsheet. There are many buzzwords associated with Java, but because of its spectacular growth in popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will soon be everywhere. Java builds on the strength of C++. It has taken the best features of C++ and discarded the more problematic and error prone parts. To this lean core, it has added garbage collection (automatic memory management), multithreading (the capacity for one program to do more than one thing at a time), security capabilities. This result is that Java is simple, elegant, and powerful and easy-to-use.

Project Management Metrics Calculator

17

Java is actually a platform consisting of 3 components 1. Java Programming Language. 2. Java Library of Classes and Interfaces. 3. Java Virtual Machine The following sections will say more about these components. JAVA is portable One of the biggest advantages Java offers is that it is portable. An application written in Java will run on all the major platforms. Any computer with a Java-based browser can run the applications or Applets written in the Java-Programming-Language. A programmer no longer has to write one program to run on a Macintosh, another program to run on a Windows-machine still another to run on a UNIX-machine and so on. In other words, with Java developers write their programs only once.

The Virtual Machine is what gives Java is cross platform capabilities. Rather being compiled into machine language, which is different for each OSs and computer architecture, Java code is compiled into Byte codes. With other languages, the program code is compiled into a language that the computer can understand. The problem is that other computers with different machine instruction set cannot understand that language. Java code on the other hand is compiled into Byte-Code rather than a machine language. These byte codes go to the JVM, which executes them directly or translates them into the language that is understood by the machine running it.

Project Management Metrics Calculator

18

JAVA is object oriented The Java programming language is OBJECT-ORIENTED, which makes program design focus on what you are dealing with, rather than on how your are going to do something. This makes it more useful for programming in sophisticated projects, because one can break the things into understandable components. A big benefit is that these components can then be reused.

Object-Oriented Languages use the paradigm of classes. In simplest term, a class includes both the data and the functions to operate on data. You can create an instance of a class, also called an object, which will have all the data members and functionality of its class. Because of this, you can think of a class as being like template, with each object being a specific instance of a particular type of class.

The class paradigm allows one to encapsulate data so that specific data values are those using the data cannot see the function implementation. Encapsulation makes it possible to make the changes in code without breaking other programs that use that code. If for example, the implementation of a function is changed, the change is invisible to any programmer who invokes that function, and does not affect his/her program, except hopefully to improve it. Java includes inheritance, or the ability to derive new classes from existing classes. The derived class, is also called as Sub-Class, inherits all the data in the functions of the existing class.

Project Management Metrics Calculator

19

5.3.3 JAVA development environment To code, edit, debug and test the java programs, one needs to have a java development environment. At the minimum this will consists of a java compiler interpreter and applet viewer where applets can be tested. Suns java development kit (JDK) latest version is 2.2 can be freely downloaded from the Internet. Java compiler is available on DOS, Win95, WINNT, Solaris and MAC etc. Introduction to JavaScript Implementation of the system is completely done in Java language, because of the features of Java. The features of like servlets, applets, ease of network programming and the popularity of Java too. To cover client side needs, HTML and JavaScript are also used. JDBC (Java Data Base Connection) It is a java data base connectivity having data base as a back-end of java as front end. Database is a collectivity of related data. A data base management system (DBMS) controls the storage or retrieval of data in the database. The main use of this JDBC is the database connectivity.

Using drivers we can get connection to the back-end: 1. Which drive we are going to connect back-end. 2. Create a data source name (dsn). 3. Create a statement for connection. The package we use here is import java. Sql. *

Project Management Metrics Calculator

20

Interfaces of jdbc include driver, connection, and statement; prepare statement, callable statement, Result Set, Result Set Meta data. Classes of JDBC are driver manages, driver property information, date, and time, and timestamp, type. The driver defined by the classJdbc odbc driver in package sun.jdbc.odbc. Class sun.jdbc.odbc.jdbc odbc driver represents the jdbc to odbc bridge driver. Introduction to JDBC JDBC (Java Database connectivity) is a front-end tool for connecting to a server to ODBC in that respect, however JDBC can connect only java client and it uses ODBC for the connectivity. JDBC is essentially a low-level API since any data manipulation, storage and retrieval has to be done by the program itself. Some tools, which provide a higherlevel abstraction, are expected shortly.

The next question that needs to be answered is why we need JDBC, once we have ODBC on hand. We can use the same ODBC to connect the entire database and ODBC is a proven technology. Problem for doing this is ODBC gives a c language API, which uses pointers extensively. Since java does not have any pointes and is object-oriented sun Microsystems, inventor of java developed to suit its needs. Requirements to use JDBC To use JDBC you need a basic knowledge of databases and SQL.A part from this you need the jdk1.1 (Java Development Kit1.1 available javasofts website) or a version of Java since jdk1.1 and above come bundled with JDBC software.

Project Management Metrics Calculator

21

After that you need to have a back-end database engine for which a JDBC driver is available. When JDBC drivers are not available JDBC-ODBC bridge drivers are used to access the database through ODBC. Back-end is not needed when JDBC driver is capable of storing and retrieving the data itself, or if JDBC-ODBC Bridge and the ODBC driver can be used to store and retrieve Database Models JDBC and accessing the database through applets and JDBC API via an intermediate server resulted server resulted in a new type of database model which is different from the client-server model. Based on number of intermediate server through the request should go it is named as single tire, two tire and multi tire architecture Single Tier In a single tier the server and client are the same in the sense that a client program that needs information (client) and the source of this type of architecture is also possible in java, in case flat files are used to store the data. However this is useful only in case of small applications. The advantage with this is the simplicity and portability of the application developed Server and client

Database

Project Management Metrics Calculator

22

Two Tier(client-server) In two tier architecture the database resides in one machine and client in different machine they are connected through the network. In this type of architecture a database management takes control of the database and provides access to clients in a network. This software bundle is also called as the server. Software in different machines, requesting for information are called as the clients. Three Tier and N-Tier In the three-tier architecture, any number servers can access the database that resides on server. Which in turn serve clients in a network. For example, you want to access the database using java applets, the applet running in some other machine, can send request only to the server from which it is down loaded. For this reason we will need to have a intermediate server which will accept the requests from applets and them to the actual database server. This intermediate server acts as a two-way communication channel also. This is the information or data from the database is passed on to the applet that is requesting it. This can be extended to make n tiers of servers, each server carrying to specific type of request from clients, however in practice only 3 tiers architecture is popular.

JDBC Driver Types The JDBC drivers that we are aware of at this time fit into one of four categories:

Project Management Metrics Calculator

23

1. JDBC-ODBC Bridge Plus Odbc Driver The java soft bridge product provides JDBC access via ODBC drivers. Note that ODBC binary code end in many cases database client code must be loaded on each client machine that uses this driver. As a result, this kind of driver is most appropriate on a corporate network where client installations are not major problem, or for application server code written in java in a 3-tier architecture. 2. Native API Partly-Java Driver This kind of driver converts JDBC calls into calls on the client API for oracle Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine. 3. JDBC-NET All-Java Driver This driver translates JDBC calls into a DBMS independent net protocol, which is then translated, to a DBMS protocol by a server. This net server middle-ware is able to connect its all java clients to many different databases. The Specific protocol used depends on the vendor. In general, this most flexible JDBC alternative. It is likely that all vendors of this solution will provide products suitable for intranet use. In order for these products to also support Internet access, they must handle the additional requirements for security, access through firewalls, etc that the web imposes. Several vendors are adding JDBC drivers to their existing database middleware products. 4. Native Protocol All-Java Driver This kind of driver converts JDBC calls into the network protocol used by DBMS directory. This allows a direct call from the client machine to the DBMS server that is

Project Management Metrics Calculator

24

practical solution for intranet access. Since many of these protocols are proprietary, the database vendors themselves will be the primary source. Several database vendors have these in progress. Eventually, we expect that driver categories 3 and 4 will be the preferred way to access databases from JDBC. Driver categories one and two are interim solutions where direct all java drivers are not yet available. Category 4 is in some sense the ideal; however, there are many cases where category 3 may be preferable:

5.4 UML Diagrams


The UML is a language for j Visualizing j Specifying j Constructing j Documenting These are the artifacts of a software-intensive system. A conceptual model of UML The three major elements of UML are j The UMLs basic building blocks j The rules that dictate how those building blocks may be put together. j Some common mechanisms that apply throughout the UML. Basic building blocks of the UML The vocabulary of UML encompasses three kinds of building blocks: j Things

Project Management Metrics Calculator

25

j Relationships j Diagrams

Things are the abstractions that are first-class citizens in a model; Relationships tie these things together; Diagrams group the interesting collection of things. Things in UML: There are four kind of things in the UML 1. Structural things 2. Behavioral things. 3. Grouping things 4. An notational things These things are the basic object oriented building blocks of the UML.They are used to write well-formed models. Structural things Structural things are the nouns of the UML models. These are mostly static parts of the model, representing elements that are either conceptual or physical. In all, there are seven kinds of Structural things.

Project Management Metrics Calculator

26

5.4.1 Use case Diagrams

Fig 5.1 Use Case Diagram for Project Manager

Project Management Metrics Calculator

27

5.4.2 Sequence Diagrams

Fig 5.2 Sequence Diagram for Login

Project Management Metrics Calculator

28

Fig 5.3 Sequence Diagram for view Effort Deviation

Project Management Metrics Calculator

29

Fig 5.4 Sequence Diagram for View Effort Deviation for Project

Project Management Metrics Calculator

30

Fig 5.5 Sequence Diagram for View List of Developers

Project Management Metrics Calculator

31

Fig 5.6 Sequence Diagram for view Schedule Deviation for Phase

Project Management Metrics Calculator

32

Fig 5.7 Sequence Diagram for view Schedule Deviation for Project

Project Management Metrics Calculator

33

Fig 5.8 Sequence Diagram for view Schedule Deviation for Task

Project Management Metrics Calculator

34

Fig 5.9 Sequence Diagram for View Effort Deviation for Phase

Project Management Metrics Calculator

35

Fig 5.10 Sequence Diagram for View Effort Deviation for Task

Project Management Metrics Calculator

36

Fig 5.11 Sequence Diagram for View Schedule Deviation

Project Management Metrics Calculator

37

5.4.3 Class Diagrams

Fig 5.12 Class Diagram for Login Management System

Fig 5.13 Class Diagram for Project Metrics Calculation

Project Management Metrics Calculator

38

Fig 5.14 Class Diagram for Report Generator

Fig 5.15 Class Diagram for Schedule Deviation

Project Management Metrics Calculator

39

Fig 5.16 Class Diagram for Task Effort

Fig 5.17 Class Diagram for Team Assignment Management Handler

Project Management Metrics Calculator

40

5.4.4 Object Diagrams

Fig 5.18 Object Diagram for Login

Fig 5.19 Object Diagram for Assign Task

Project Management Metrics Calculator

41

5.4.5 Collaboration Diagrams

Fig 5.20 Collaboration Diagram for Update Login Details

Fig 5.21 Collaboration Diagram for User Creation

Project Management Metrics Calculator

42

5.4.6 Activity Diagrams

Fig 5.22 Activity Diagram for Login

Project Management Metrics Calculator

43

5.4.7 Component Diagram

Fig 5.23 Component Diagram

Project Management Metrics Calculator

44

5.4.8 State Machine Diagram

Fig 5.24 State Machine Diagram

Project Management Metrics Calculator

45

5.4.9 Deployment Diagram

Fig 5.25 Deployment Diagram

Project Management Metrics Calculator

46

5.5 Data Base Design


Dictionary

Fig 5.26 Project Table

Fig 5.27 Phase Table

Project Management Metrics Calculator

47

Fig 5.28 User Table

Fig 5.29 User Group Table

Project Management Metrics Calculator

48

Fig 5.30 Task Table

Fig 5.31 Task Assignment Table

Project Management Metrics Calculator

49

Fig 5.32 Effort Table

Project Management Metrics Calculator

50

6 Coding
Coding
The program design language is also called as structured English or pseudopodia. PDL is a generic reference for a design language PDL looks like a modern language. The difference between PDL and real programming language lies in the narrative text embedded directly within PDL statements. PDL syntax should include constructs for subprogram definition, interface description date declaration techniques for structuring, condition constructs, repletion constructs and I/O constructs. PDL can be extended to include keywords for multitasking and/or concurrent processing interrupt handling, interposes synchronization the application design for which PDL is to be used should dictate the final form for the design language. The characteristics required by a design language are 1. A fixed system of keywords that provide for all structured constructs date declaration and modularity characteristics. 2. A free syntax of natural language that describes processing features. 3. Date declaration facilities that should include both simple and complex data structures. 4. Subprogram definition and calling techniques that support various nodes of interface description.

Project Management Metrics Calculator

51

6.1 Introduction to Servlets


Servlets are modules that run inside request/response-oriented servers, such as Java-enabled web servers, and extend them in some manner. For example, a servlet might be responsible for taking data in an HTML order-entry form and applying the business logic used to update a company's order database. Servlets are to servers what applets are to browsers.

A few of the many applications for servlets include,


1.

Processing data POSTed over HTTPS using an HTML form, including purchase order or credit card data. A servlet like this could be part of an order-entry and processing system, working with product and inventory databases, and perhaps an on-line payment system.

2.

Allowing collaboration between people. A servlet can handle multiple requests concurrently; they can synchronize requests to support systems such as on-line conferencing.

6.1.1 Servlet Architecture Overview

The central abstraction in the Servlet API is the Servlet interface. All servlets implement this interface, either directly or, more commonly, by extending a class that implements it such as HttpServlet. The Servlet interface provides for methods that manage the servlet and its communications with clients. Servlet writers provide some or all of these methods when developing a servlet.

Project Management Metrics Calculator

52

6.1.2 Writing the Servlet

By default, servlets written by specializing the HttpServlet class can have multiple threads concurrently running its service method. If, for whatever reason, you would like to have only a single thread running a service method at a time, then in addition to extending the HttpServlet, your servlet should also implement the SingleThreadModel interface. This does not involve writing any extra methods, merely declaring that the servlet implements the interface. For example, public class SurveyServlet extends HttpServlet implements SingleThreadModel { /* typical servlet code, with no threading concerns * in the service method. No extra code for the * SingleThreadModel interface. */ ... } Interacting with Clients

Servlet writers who are developing HTTP servlets that specialize the HttpServlet class should override the method or methods designed to handle the HTTP interactions that their servlet will handle. The candidate methods include,
y y

doGet, for handling GET, conditional GET and HEAD requests doPost, for handling POST requests

Project Management Metrics Calculator

53

y y

doPut, for handling PUT requests doDelete, for handling DELETE requests

PMMS Manager import java.util.*; public class PMMSManager { ProjectManagementHandler pmhObj = null; LoginManagementHandler lmObj=null; ProjectManagementPhaseHandler pmpObj=null; TaskManagementHandler tmhObj=null; TaskProgressHandler tphObj=null; TaskAssignmentManagementHandler tamhObj=null; TeamAssignmentManagementHandler tamhObj1=null; ProjectMetricsCalculator pmcObj=null; String status=null; /************** login ****************/ public boolean authenticate(String userID, String password)throws Exception { lmObj=new LoginManagementHandler(); boolean status=lmObj.authenticate(userID,password); return status ; }

Project Management Metrics Calculator

54

/************ view Projects ****************/ public String[ ] viewProjectList()throws Exception { pmhObj=new ProjectManagementHandler(); String[ ] status=pmhObj.viewProjectList(); return status ; /************ view phase list ***************/ public String[ ] viewPhaseList()throws Exception { pmpObj=new ProjectManagementPhaseHandler(); String[ ] status=pmpObj.viewPhaseList(); return status ; } /********* view open state Task List***********/ public String[ ] viewOpenStateTaskList(String phaseID)throws Exception { tmhObj=new TaskManagementHandler(); String[ ] status=tmhObj.viewOpenStateTaskList(phaseID); return status ; } /********** view open state Task List ************/ public String[ ] viewOnholdStateTaskList(String phaseID)throws Exception

Project Management Metrics Calculator

55

{ tmhObj=new TaskManagementHandler(); String[ ] status=tmhObj.viewOnholdStateTaskList(phaseID); return status ; } /******** view open state Task List *************/ public String[ ] viewClosedStateTaskList(String phaseID)throws Exceptio { tmhObj=new TaskManagementHandler(); String[ ] status=tmhObj.viewClosedStateTaskList(phaseID); return status ; } /*********** view users ******************/ public String[ ] viewDeveloperList(String projectID)throws Exception { lmObj=new LoginManagementHandler(); String[ ] status=lmObj.viewDeveloperList(projectID); return status ; } /*********** view Tasks List **************/ public String[ ] viewTaskList()throws Exception {

Project Management Metrics Calculator

56

tmhObj=new TaskManagementHandler(); String[ ] status=tmhObj.viewTaskList(); return status ; } /********** view project phase List ************/ public String[ ] viewPhaseList1(String projectID)throws Exception { pmpObj=new ProjectManagementPhaseHandler(); String[ ] phaseList= pmpObj.viewPhaseList1(projectID); return phaseList; } /************* view Task Effort List **************/ public String[ ] viewTaskEffortList()throws Exception { tphObj=new TaskProgressHandler(); String[ ] status=tphObj.viewTaskEffortList(); return status ; } /*********** view Task Effort Deviation ************/ public EffortDeviation viewTaskEffortDeviation(String taskID)throws Exception { pmcObj=new ProjectMetricsCalculator ();

Project Management Metrics Calculator

57

EffortDeviation edObj=pmcObj.viewTaskEffortDeviation(taskID); return edObj; } /********** view Phase Effort Deviation *************/ public EffortDeviation viewPhaseEffortDeviation(String phaseID)throws Exception { pmcObj=new ProjectMetricsCalculator (); EffortDeviation edObj=pmcObj.viewPhaseEffortDeviation(phaseID); return edObj; } /********** view Project Effort Deviation *************/ public EffortDeviation viewProjectEffortDeviation(String projectID)throws Exception { pmcObj=new ProjectMetricsCalculator (); EffortDeviation edObj=pmcObj.viewProjectEffortDeviation(projectID); return edObj; } }

Project Management Metrics Calculator

58

7 Testing
7. Testing
Testing is the major quality measure employed during the software engineering development. Its basic function is to detect error in the software. Testing is necessary for the proper functioning of the system. Testing has to be done at four levels

7.1 Software Testing Strategies


7.1.1 Unit Testing Unit testing focuses verification effort on the smallest unit of the software, design the module. Here, using the detail design as a guide, important control paths are tested to uncover errors within the boundary of the module. Unit testing is always white-box oriented, and the step can be conducted in parallel for multiple modules. 7.1.2 Integration Testing Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors, associated with interfacing .The objective is to take the unit tested modules and build program structure that has been directed by the design. 7.1.3 Validation Testing Validation testing demonstrates the traces the requirements of the software. This can be achieved through a series of black box tests.

Project Management Metrics Calculator

59

7.1.4 System Testing System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. Although each test has a different purpose, all works should verify that all system elements have been properly integrated and perform allocated functions. The various tests include recovery testing, stress testing, and perform testing.

7.2 Maintenance and implementation


1. Corrective Maintenance This acts to correct errors that are uncovered after the software is in use. 2. Adaptive Maintenance This is applied when changes is the external environment precipitate modifications to software. 3. Preventive Maintenance This improves future maintainability and reliability and provides basis for future enhancements. Criteria Satisfied by Test Cases Test cases that reduced by a count that is greater than one, the number of

additional test cases that much be designed to achieve reasonable testing. Test cases that tell us something about the presence or absence of classes of errors, rather than an error associated only with the specific test at hand.

Project Management Metrics Calculator

60

8 Screen Shots

Fig 8.1 Project Manager Login Page

Project Management Metrics Calculator

61

Fig 8.2 Project List Page

Project Management Metrics Calculator

62

Fig 8.3 Project Manager Home Page

Project Management Metrics Calculator

63

View Open Task Page

Fig 8.4 View Phase List Page

Project Management Metrics Calculator

64

Fig 8.5 View Open Task List Page

Project Management Metrics Calculator

65

Fig 8.6 View Developer List Page

Project Management Metrics Calculator

66

Fig 8.7 View Effort Deviation Page

Project Management Metrics Calculator

67

Fig 8.8 View Task Effort List Page

Project Management Metrics Calculator

68

Fig 8.9 View Task Effort Deviation Page

Project Management Metrics Calculator

69

Fig 8.10 View Schedule Deviation Page

Project Management Metrics Calculator

70

Fig 8.11 View Phase List Page

Project Management Metrics Calculator

71

Fig 8.12 View Schedule Deviation Page

Project Management Metrics Calculator

72

9 Conclusion
This system is implemented fulfilling all the client requirements. The interfaces designed for the system is very user friendly and attractive. The entire project has been developed and deployed as per the requirements stated by the user, it is found to be bug free as per the testing standards that are implemented. Any specification-untraced errors will be concentrated in the coming versions, which are planned to be developed in near future. The system at present does not take care off the money payment methods, as the consolidated constructs need SSL standards and are critically to be initiated in the first face; the application of the credit card transactions is applied as a developmental phase in the coming days. The system needs more elaborative technicality for its inception and evolution.

Project Management Metrics Calculator

73

10 Bibliography

Books Referred
Elias M. Awad, Systems Analysis and Design, Second Edition Roger S. Pressman, Software Engineering, Sixth Edition Ian Somerville, Principles of Software Engineering, Fourth Edition Herbert Schildt, Java Complete Reference, Fifth Edition

Project Management Metrics Calculator

Das könnte Ihnen auch gefallen