Mobile Based Project Status Tracking System

Published on May 2016 | Categories: Documents | Downloads: 29 | Comments: 0 | Views: 506
of 85
Download PDF   Embed   Report

Comments

Content

A Project Report On

A MOBILE BASED PROJECT STATUS TRACKING SYSTEM
Submitted In Partial Fulfillment Of The Requirements For The Award Of The Degree Of

MASTER OF COMPUTER APPLICATIONS
By AMRUTHAM ANILKUMAR 002-09-016

VIVEKANANDA SCHOOL OF P.G STUDIES
(AFFILIATED TO OSMANIA UNIVERSITY) PANJAGUTTA, HYDERABAD.

2011

1

A Project Report On

A MOBILE BASE PROJECT STATUS TRACKING SYSTEM
Submitted in partial fulfillment of the requirements for the award of the degree of

MASTER OF COMPUTER APPLICATIONS
By AMRUTHAM ANILKUMAR 002-09-016 Under the esteemed guidance of Mr. A.Vidyanand.

VIVEKANANDA SCHOOL OF P.G STUDIES
(AFFILIATED TO OSMANIA UNIVERSITY) PANJAGUTTA, HYDERABAD.

2008 - 2011

2

Date: 05.05.2011

CERTIFICATE
This is to certify that Mr.A.ANIL KUMAR studying MCA III- year II- Sem in Vivekananda School Of Post-Graduate Studies of OSMANIA UNIVERSITY has successfully completed the project on titleMOBILE BASED PROJECT STATUS TRACKING SYSTEM. He has been enthusiastic, diligent & consistent in the study undertaken and had active involvement in the project. We wish him all the success in the future endeavours Regards,

K. A. Prasanna, Asst. Manager-HR.

3

ACKNOWLEDGEMENT
The Satisfaction that accompanies the successful completion of any task would be incomplete without mentioning of the people who made it possible and whose encouragement and guidance has been the source of inspiration throughout the course of the project. My profound thanks to Mr.P.V.Rao(Director,VSPGS), the Teaching staff (Department of Computer Science) , Laboratory-In-Charge and Librarian of Vivekananda School of Post Graduate Studies, Hyderabad for their cooperation in providing the necessary resources, guidance and aid in completing the project successfully. My sincere and grateful thanks to Mr. A.VIDYANAND internal guide, for his enlightening and innovative moral support in completing this project successfully. Our sincere thanks and indebtedness to (Mr. Ramesh Naidu, Robotutor) for giving us the permission to do the project at their organization. Lastly, we are grateful to thank all our well wishers who have contributed in some or the other way in completion of this project

Mr. A. Anilkumar

4

ABSTRACT
Status tracking has done manually and it is a big problem for developing projects in-time, and maintains manual records. Later we use computers to store data and tracking the developing process. Then some problems were coma crossed. As technology increases human beings thinking power was tremendously increased, they want to know their project status by staying where they are. We can use computer software but mobile phones are more sufficient and less expensive, easy to carry. Using a mobile based application they are able to know their project status easily.

5

INDEX S.NO 1. CONTENTS INTRODUCTION 1.1 INTRODUCTION 1.2 DESCRIPTION 1.3 OBJECTIVES 1.4 PURPOSE ,SCOPE AND APPLICABILITY 1.4.1 PURPOSE 1.4.2 SCOPE 1.4.3 APPLICABILITY 1.5 EXISTIG SYSTEM 1.6 PROPOSED SYSTEM SURVEY OF TECHNOLOGIES REQUIREMENT AND ANALYSIS 3.1 HARDWARE REQUIREMENTS 3.2 SOFTWARE REQUIREMENTS 3.3 REQUIREMENT SPECIFICATION 3.4 CONSEPTUAL MODELS 3.4.1 DATAFLOW DIAGRAMS SYSTEM DESIGN 4.1 BASIC MODULES 4.2 DATA DESIGN 4.2.1 SCHEMA DESIGN 4.2.2DATAINTEGRITYANDCONSTRAINTS 4.3 PROCEDURAL DESIGN 4.3.1 LOGIC DIAGRAMS 4.3.1.1 USECASE DIAGRAMS 4.3.1.2 SEQUENCE DIAGRAM 4.3.1.3 COLLABORATION DIAGRAM 4.3.1.4 ACTIVITY DIAGRAM 4.3.1.5 STATE CHART DIAGRAM 4.3.1.6 COMPONENT DIAGRAM 4.3.1.7 DEPLOYMENT DIAGRAM 4.3.2 DATA STRUCTURES 4.3.3 ALGORITHM DESING 4.4 USER INTERFACE DESING 4.5 SECURITY ISSUES IMPLEMENTATION AND TESTING 5.1 IMPLEMENATION APPROACHES 5.2 CODING DETAILS 5.3 SCREEN SHOTS 5.4 TESTING APPROACH CONCLUTION 6.1 FUTURE IMPLEMENTATIONS BIBILO GRAPHY PAGE No. 1 2 3 4 5 6 7 8 9 21 22 23 24 32 34 35 38 38 41 42 43 44 45 46 47 49 52 54 55 57 63 79 86 87 88

2. 3.

4.

5.

6. 7.

6

1. INTRODUCTION
1.1 Introduction
In earlier days, status tracking has done manually and it is a big problem for developing projects in-time, and maintains manual records. Later we use computers to store data and tracking the developing process. Then some problems were coma crossed. As technology increases human beings thinking power was tremendously increased, they want to know their project status by staying where they are. We can use computer software but mobile phones are more sufficient and less expensive, easy to carry. Using a mobile based application they are able to know their project status easily.

7

1.2 Description
The project called Project Tracking System. It gives us the detailed information about the flow of project and makes the whole project team aware of the present status of the project at that particular time which increases the understandability and helps in faster completion of the project o Analyze ongoing maintenance and monitoring systems for the Current research projects and the problem statement submissions. o Design computer-based maintenance and monitoring systems after determining where the systems should be different for the current research projects and problem statement submissions. o Present the prototype system to the research bureau at Company and get additional feedback from bureau administrators. o Finalize the maintenance and monitoring systems. o Prepare a schedule for installation and implementation of the systems. o Engineers and project managers in the use of the systems. o Prepare a final report and a user manual.

8

1.3 Objectives Project Tracking System have contain valid points that are often to be take care of viz, the technology to be used, team members, time with in which the project has to be completed, individual tasks that are to be handled in project development, schedule, cost evaluation by taking care of above things the project should be developed. • Provide an MS Windows environment for data entry, analysis and reporting including the use of graphical displays where appropriate.. • Address the needs of the users, at all levels of management. • Provide on-line monitoring of the current projects and the problem statement submissions. • Provide enhanced reporting flexibility. • Maintain and update the description and status of problem-statement Submissions.

9

1.4 PURPOSE, SCOPE and APPLICABILITY
1.4 .1 Purpose of the Project
The project tracking system was designed for, and intended to be used by, producers and users of high-quality elevation data. The system tracks Proposed, Planned, In-Work, and Completed projects and associated details. The system will be useful to anyone interested in where and when future elevation data acquisition might happen. Anyone who produces such data or can be a point-of-contact for the activity is encouraged to post their information to the site. The tracking system also allows users to search for projects in the system. Users can zoom in on a table to restrict the search area, search by project status, search for specific agencies involved and several other criteria. The results are presented on the table and in a list. For results in the list, the user can click “Find” to highlight the project on the screen and identify any other projects that overlap the chosen result. Users can also click that appears next to each project to view the project details in metadata format. The main purpose of this system is to maintain the information regarding     Number of projects having the company. Number of projects completed. Number of projects pending. Number of projects delivered.

10

1.4.2 Scope of the Project
Scope is one of the major Scope communication documents. The Project Scope Management Plan documents how the project scope will be defined, managed, controlled, verified and communicated to the project team. It also includes all work required to complete the project. The documents are used to control what is in and out of the scope of the project by the use of Management system. Items deemed out of scope go directly through the change control process and are not automatically added to the project work items. The Project Scope Management plan is included in as one of the sections in the overall Project Management plan. It can be very detailed and formal framed and informal depending on the communication needs of the project.

11

1.4.3 Applicability
A Mobile Based Project status tracking system is more efficient to use, easy to carry to anywhere. We can use this application in any domain which consists of report analysis.

12

1.5 Existing System
Different types of web based applications are available for tracking the status of project and manually maintaining these records are very difficult to avoid these difficulties a mobile based software application is developed.

13

1.6 Proposed System
The main aim/objective is to develop an effective mobile application, which is fast, accurate, consistent, reliable, and flexible enough so that it can accommodate any further expansion. In this application initially all employee must be registered. The manager of the project has the authority to add users, project details, milestones etc.

14

2. SURVEY OF TECHNOLOGIES
Operating Systems:
An operating system (os) is software, consisting of programs and data, that runs on computers and manages computer hardware resources and provide common services for efficient execution of various application software. For hardware functions such as input and output and memory allocation the operating system acts as an intermediary betwwn application programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer from cellular phones and video game consoles to supercomputers and web servers. Examples: Some of popular modern operating systems for personal computers are Linux/GNU, Mac OS X, and Microsoft Windows.

:

WINDOWS OPERATING SYSTEMS Microsoft Windows is a family of proprietary operating systems most commonly used on personal computers. It is the most common family of operating systems for the personal computer, with about 90% of the market share. Currently, the most widely used version of the Windows family is Windows XP, released on October 25, 2001. The newest version is Windows 7 for personal computers and Windows Server 2008 R2 for servers. Microsoft Windows originated in 1981 as an add-on to the older MS-DOS operating system for the IBM PC. First publicly released in 1985, Windows came to dominate the business world of personal computers, and went on to set a number of industry standards and commonplace application. The Windows Experience operating system is available as home and professional edition and are similar suitable for the use on standalone computers. The home edition is suitable for user which worked with Windows 9x/ME till now and don't need special network or security features in their environment. If the user has used Windows NT/2000 private, in business or both, the Professional Edition is not only with a view of the administration optimally. Microsoft already encloses 10,000 drivers on the installation media of Windows XP, about the Windows update furthermore 2,000 drivers are available.

15

Linux: The Linux operating system provides the platform for secure and reliable operation of the web server. Access to the file system is governed by file permissions and enforced by the operating system. The operating system also provides interfaces to the networks and enforces process and user security. Hypertext Transfer Protocol (HTTP) The Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. HTTP functions as a request-response protocol in the client-server computing model. In HTTP, a web browser, for example, acts as a client, while an application running on a computer hosting a web site functions as a server. The client submits an HTTP request message to the server. The server, which stores content, or provides resources, such as HTML files, or performs other functions on behalf of the client, returns a response message to the client. A response contains completion status information about the request and may contain any content requested by the client in its message body. A client is often referred to as a user agent (UA). A web browser, or web crawler (spider, used by search providers) are examples of common types of clients or user agents. The HTTP protocol is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of the original, so-called origin server to improve response time. HTTP proxy servers at network boundaries facilitate communication when clients without a globally routable address are located in private networks by relaying the requests and responses between clients and servers. HTTP is an Application Layer protocol designed within the framework of the Internet Protocol Suite. The protocol definitions presume a reliable Transport Layer protocol for host-to-host data transfer. The Transmission Control Protocol (TCP) is the dominant protocol in use for this purpose. However, HTTP has found application even with unreliable protocols, such as the User Datagram Protocol (UDP) in methods such as the Simple Service Discovery Protocol (SSDP). The Transmission Control Protocol (TCP) is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol (IP), and therefore the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered delivery of a stream of bytes from a program on one computer to another program on another computer. TCP is the protocol that major Internet applications rely on, applications such as the World Wide Web, e-mail, and file transfer. Other applications, which do not require reliable data stream service, may use 16

the User Datagram Protocol (UDP) which provides a datagram service that emphasizes reduced latency over reliability. TCP provides a point-to-point channel for applications that require reliable communications. The Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP) and Telnet are all examples of applications that require a reliable communication channel. XAMPP XAMPP's name is an acronym for:
    

X (meaning cross-platform) Apache HTTP Server MYSQL PHP JAVA Script

It is a free and open source cross-platform web server. XAMPP is available for Microsoft Windows, Linux, Solaris, and Mac OS X, and is mainly used for web development projects. This software is useful while you are creating dynamic web-pages using programming languages like PHP, JSP, Servlets. Requirements and Features XAMPP requires only one zip, tar or exe file to be downloaded and run, and little or no configuration of the various components that make up the web server is required. XAMPP is regularly updated to incorporate the latest releases of Apache/MYSQL/PHP and Perl. Installing XAMPP takes less time than installing each of its components separately. Self-contained, multiple instances of XAMPP can exist on a single computer, and any given instance can be copied from one computer to another. It is offered in both a full, standard version and a smaller version. XAMPP also provides support for creating and manipulating databases in MYSQL. Once XAMPP is installed you can treat your local-host like a remote host by connecting using an FTP client. The default MYSQL user is "root" there is no default MYSQL password.

17

Database Analysis: Database design is an important place in designing a system. During this phase care should be taken to avoid redundancy of information storing into a database, since it leads to wastage of memory space. Normalization Techniques: Normalization is a process of simplifying the relationship between data elements in a record. Through normalization a collection of data in a records structure is replaced by successive record structures that are simpler and more predictable and therefore more manageable. • First Normal Form A relation is said to be in first normal form if the values in the relation are atomic for every attribute in the relation .By this we mean simply that no attribute value can be a set of values or as it sometimes expressed, a repeating group. • Second Normal Form A relation is said to be in second normal form if it is in first normal form and it should satisfy any one of the following rules. Primary key is a not a composite primary key No non-key attribute is fully functionally dependent on full set of primary key • Third Normal Form A relation is said to be in third normal form if it is in second normal form and if their exits no transitive dependencies • Transitive Dependency If two non-key attributes depends on each other as well as on the primary key then they are said to be transitively dependent. the above normalization principles where applied to decompose the data in multiple tables there by making the data to be maintained in a consistent state. Database Analysis Life Cycle

Figure: Database Analysis Life Cycle

Mysql: 18

MYSQL: The MYSQL database has become the world's most popular open source database because of its consistent fast performance, high reliability and ease of use. SQL was invented and developed by IBM in early 1970’s. SQL stands for Structured Query Language. In order to communicate with the databases MYSQL is a database. The data in MYSQL is stored in database objects called tables. A table is a collection of related data entries and it consists of columns and rows. SQL supports the following categories of commands:• • • •
• •

Data Definition Language -create, alter, and drop commands. Data Manipulation Language -insert, select, delete and update commands. Transaction Control Language-commit, save point and rollback commands. Data Control Language -grant and revoke commands.

The following are the advantages of SQL: Non-procedural language, because more than one record can be accessed rather than one record at a time. It is the common language for all relational databases. In other words it is portable and requires very few modifications so that it can work on other databases. Very simple commands for querying, inserting, deleting and modifying data and objects.



PHP PHP is a Hypertext Preprocessor (a recursive acronym, originally personal home page) is a general-purpose scripting language that was originally 19

designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. PHP was originally created by RASMUS LERDORF in 1995 and has been in continuous development ever since. The main implementation of PHP is now produced by the PHP Group and serves as the de facto standard for PHP as there is no formal specification. PHP is free software released under the PHP License. The main reasons for why PHP is used are PHP is a general-purpose scripting language that is especially suited to server-side web development where PHP generally runs on a web server. Any PHP code in a requested file is executed by the PHP runtime, usually to create dynamic web page content. It can also be used for command-line scripting and client-side GUI applications. PHP can be deployed on most web servers, many operating systems and platforms, and can be used with many relational database management systems (RDBMS). It is available free of charge, and the PHP Group provides the complete source code for users to build, customize and extend for their own use. SYNTAX: The simple Syntax of PHP is Shown Below: <!DOCTYPE html> <html> <head> <title>PHP Test</title> </head> <body> <?php echo 'Hello World'; ?> </body></html> Common uses of PHP PHP performs system functions, i.e. from files on a system it can create, open, read, write, and close them.
• • • • •

PHP can handle forms, i.e. gather data from files, save data to a file, thru email you can send data, return data to the user. You add, delete, modify elements within your database through PHP. Access cookies variables and set cookies. Using PHP, you can restrict users to access some pages of your website. 20



It can encrypt data.

Characteristics of PHP Five important characteristics make PHP's practical nature possible:
• • • • •

Simplicity Efficiency Security Flexibility Familiarity MARKUP:

HTML markup consists of several key components, including elements (and their attributes), character-based data types, character references and entity references. Another important component is the document type declaration, which triggers standards mode rendering. The Hello world program, a common computer program employed for comparing programming languages, scripting languages and markup languages is made of 9 lines of code although in HTML newlines are optional: Example: <! doctype html> <Html> <Head> <Title>Hello HTML</title> </head> <Body> <p>Hello World! </p> </body> </html> JavaScript validations: JavaScript can be used to validate data in HTML forms before sending off the content to a server. Using client side JavaScript is an efficient way to validate the user input in web forms. When there are many fields in the form, the JavaScript validation becomes too complex.

FLEX:

21

Adobe® Flex® is a highly productive, free, open source framework for building expressive web applications that deploy consistently across browsers, desktops, and operating systems by leveraging the Adobe Flash Player and Adobe AIR® runtimes. Next generation Flash Builder adds mobile application development support, plus coding improvements to accelerate development of Flex and ActionScript projects. Includes Flex SDK "Hero" Adobe Flex SDK "Hero”: Next generation Flex SDK adds support for mobile application development, expands and refines Spark components, and includes some great improvements for large application development. It contains an xml code. Flex is a software system specially designed to aid the development and delivery of Expert Systems. It is implemented in Prolog but looks much more like standard English than a programming language. This is a feature of its Knowledge Specification Language (KSL) which is very easy to read. Flex is very functional and can carry out most of the procedures needed to build knowledge-based systems.

Xml:

22

Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards. XML's design goals emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services. Many application programming interfaces (APIs) have been developed that software developers use to process XML data, and several schema systems exist to aid in the definition of XML-based languages.

3. REQUIREMENTS AND ANALYSIS
3.1 Hard Ware Requirements:
23

The selection of hardware is very important in the existence and proper working of any software. In the selection of hardware, the size and the capacity requirements are also important. Processor RAM Hard Disk Drive Mobile Device: : : : : INTEL Pentium 4 1GB 50GB Device having internet connection having Android Operating System.

3.2 Software Requirements
The software requirements specification is produces at the culmination of the analysis tasks. One of the most difficult tasks is that, the selection of the

24

software, once system requirement is known by determining whether a particular software package fits the requirements. Operating system : WINDOWS (XP/2000/200 server/2007server), Android. Servers : Apache Front- End : FLEX Database : My SQL SERVER 2008 EXPRESS Backend : PHP,Ajax, Java Script. server/2003

3.3 Requirement Specification
Requirements are windows family, php, Ajax, flex, mysql. This is the working environment of my project. In this mysql is the database used to store 25

the data.php is used for developing the middle tier of application. ajax and java script used to validate the fields. Flex is for frontend developing.

3.4 Conceptual Models
3.4.1 Dataflow Diagrams 26

A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFD’s is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consists a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design. A DFD is also known as a “bubble Chart” has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system. DFD SYMBOLS: In the DFD, there are four symbols  A square defines a source(originator) or destination of system data  An arrow identifies data flow. It is the pipeline through which the information flows  A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows.  An open rectangle is a data store, data at rest or a temporary repository of data

27

Process that transforms data flow.

Source or Destination of data

Data flow Data Store

CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFD’s:  Process should be named and numbered for an easy reference. Each name should be representative of the process.  The direction of flow is from top to bottom and from left to right. Data traditionally flow from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal.  When a process is exploded into lower level details, they are numbered.  The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out. Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews.

28

SAILENT FEATURES OF DFD’s  The DFD shows flow of data, not of control loops and decision are controlled considerations do not appear on a DFD.  The DFD does not indicate the time factor involved in any process whether the dataflows take place daily, weekly, monthly or yearly.  The sequence of events is not brought out on the DFD. TYPES OF DATA FLOW DIAGRAMS 1. Current Physical 2. Current Logical 3. New Logical 4. New Physical CURRENT PHYSICAL: In Current Physical DFD process label include the name of people or their positions or the names of computer systems that might provide some of the overall system-processing. Label includes an identification of the technology used to process the data. Similarly data flows and data stores are often labels with the names of the actual physical media on which data are stored such as file folders, computer files, business forms or computer tapes. • CURRENT LOGICAL: The physical aspects at the system are removed as much as possible so that the current system is reduced to its essence to the data and the processors that transform them regardless of actual physical form. • NEW LOGICAL: This is exactly like a current logical model. If the user is completely happy with the functionality of the current system but had problems with how it was implemented typically through the new logical model, will differ from current logical model while having additional functions, absolute function removal and inefficient flows recognized. • NEW PHYSICAL: The new physical represents only the physical implementation of the new system. Dataflow Diagrams: Admin Login:

Admin

Connect Enter username to home and password page

Homepage

29

Admin-Add , Update, View users Details: database Enter user informati on

Add user

User Details

Update user View user informat ion

Admin-Delete user:

Database

User

Admin

Details

Delete the user from the Database

Admin login update project details: Database Enter project information

Admin login

Project details

Update Project informatio n View Project informati on
30

User Front End DFD

database

user Login

User home
catoger y Project name

XML

Module name

31

MODEL VIEW CONTROL

32

4. SYSTEM DESIGN
4.1 Basic Modules The Project Tracking System is for maintaining for better efficiency, co-ordination and control between various department in organization. Modules in the Project Tracking System are  Registration.  Login.  Project Management.  Milestone Management.  Task Management.  Report Generation.
MODULE DESCRIPTION

Registration: Using the User screens admin can add users to the system as if they registered themselves. A few additional features are available to admin additions such as the ability to set the user's role, his/her default organization, and whether they are active or not. Project Management: Use the Projects Module to create and manage projects for your organization. Every project is assigned to a user. The assigned user is the project manager. By default, this is the user who created the project. The assigned user can assign the project to another user. In the Projects module, you can create, manage, and duplicate projects and project tasks. You can’t define multiple project tasks for each project. When you create a project task. Milestone Management: Milestone is a scheduled event signifying the completion of a major deliverable or a set of related deliverables. A milestone has zero duration and no effort -- there is no work associated with a milestone. It is a flag in the workplan to signify some other work has completed. Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. Milestones are also used as high-level snapshots for management to validate the progress of the project. In many cases there is a decision to be made at a milestone. Task Management: Using the Task Manager can provide you with details on current programs, and see which programs have stopped responding. Report Generation:

33

The Reports Module provides customized reporting according to your individual needs. Any number of reports can be defined by selecting from a range of search criteria and report fields.

4.2 DATA DESIGN
4.2.1 Schema Design

34

4.2.2 Data Integrity and Constraints
Normalization Techniques: Normalization is a process of simplifying the relationship between data elements in a record. Through normalization a collection of data in a records structure is replaced by successive record structures that are simpler and more predictable and therefore more manageable. • First Normal Form A relation is said to be in first normal form if the values in the relation are atomic for every attribute in the relation .By this we mean simply that no attribute value can be a set of values or as it sometimes expressed, a repeating group. • Second Normal Form A relation is said to be in second normal form if it is in first normal form and it should satisfy any one of the following rules. Primary key is a not a composite primary key No non-key attribute is fully functionally dependent on full set of primary key • Third Normal Form A relation is said to be in third normal form if it is in second normal form and if their exits no transitive dependencies • Transitive Dependency If two non-key attributes depends on each other as well as on the primary key then they are said to be transitively dependent. the above normalization principles where applied to decompose the data in multiple tables there by making the data to be maintained in a consistent state. DATA DICTIONARY After carefully understanding the requirements of the client the the entire data storage requirements are divided into tables. The below tables are normalized to avoid any anomalies during the course of data entry. Manage users:

35

Manage Category:

ManageProjects:

ManageMilestones:

36

Manage Tasks:

Manage Reports:

37

4.3 PROCEDURAL DESIGN
4.3.1 Logic Diagram UML DIAGRAMS The UML is language for Visualizing, Specifying, Constructing, and Documentation, the artifact of a software-intensive system. A language provides a vocabulary and the rules for combining words in that vocabulary for the purpose of communication. A modeling language is a language whose vocabulary and rules focus on the conceptual and physical representation of a system. A modeling language such as UML is thus a physical representation of a system. A modeling language such as UML is thus a standard language for software blueprints. Modeling yields an understanding of a system. No one models ever sufficiently. Rather, we often need multiple models that are connected to one another in order to understand anything but the most trivial system. For software intensive system, this requires a language that addresses the different views of system architecture as it evolves through out the software development life cycle. 4.3.1.1 USECASE DIAGRAMS: A Use Case is a description of set of sequence of actions that a system performs that yields an observable result of value to a particular actor. The use case view includes all of the Actors, Use case diagrams in the system with relations. It may also include some sequence and collaboration diagrams. 38

The use case view is an implementation independent. It focuses on a high level picture of what the system will do without worrying about the details of how the system will do. Actors are the external entities that interest with the system being built, where Use cases, are High-Level pieces of functionality the system, will provide the interaction between them.

Admin Use case Diagram:

Team Leader Use case Diagram:

39

Team Member Use Case Diagram:

40

4.3.1.2 SEQUENCE DIAGRAM
The sequence view is which emphasizes the time order of the messages. The sequence diagram representation focuses on expressing interactions. Sequence diagram have two features that distinguish them from collaboration diagrams. First, is the object lifeline. An object lifetime is the vertical dashed time that represents the existence of an object over a period of time. Objects may be created during the interactions. Second, is the focus of control. The focus of control is a tall, thin rectangle that shows the period of time during which an object is performing an action, either directly or through a subordinate procedure User Sequence Diagram:

41

4.3.1.3 COLLABORATION DIAGRAM

42

4.3.1.4 ACTIVITY DIAGRAM
43

An Activity Diagram shows the flow from activity to activity to activity. An Activity is an ongoing nonatomic execution with in state machine. Activities ultimately result in some action, which is made up of executable atomic computations that result in a change in state of the system or the return of the value. An Activity Diagram is just a special kind of diagram and shares the same common properties, as do all other diagrams. Activity diagrams commonly contain: 1) 2) 3) Activity States and Action States. Transitions Objects

4.3.1.5 STATE CHART DIAGRAM
44

These Diagrams are semantically similar. Start chart diagram shows a state machine consisting of states, transitions and activities

4.3.1.6 COMPONENT DIAGRAM
45

These diagrams show a set of components and their relationships and are used to illustrate the static implementation view of a system.

4.3.1.7 DEPLOYMENT DIAGRAM
This diagram shows as set of nodes and their relationships 46

UML Deployment Diagram

Database Server

My sql Database
Transaction Request

Application Server

Apache Server

Login Request

Client

User Interface

Mobile Application

47

4.3.2 DATASTRUCTURES
CLASS DIAGRAMS A diagram that shows a set of classes, interfaces and collaborations and their relationship, class diagrams address the static design view of the system. Diagrams that shows the collections of declarative (static) elements. The class diagram contains: 1) Name of the Class 2) Related Attributes of the Class 3) Operations perfumed in that Class

48

OBJECT DIAGRAM

49

4.3.3 ALGORITHM DESIGN
INPUT DESIGN Input design is a part of overall system design. The main objective during the input design is as given below:  To produce a cost-effective method of input.  To achieve the highest possible level of accuracy.  To ensure that the input is acceptable and understood by the user. INPUT STAGES: The main input stages can be listed as below:  Data transcription  Data conversion  Data verification  Data control  Data transmission  Data validation  Data correction INPUT TYPES It is necessary to determine the various types of inputs. Inputs can be categorized as follows:  External inputs, which are prime inputs for the system.  Internal inputs, which are user communications with the system.  Operational, which are computer department’s communications to the system? Interactive, which are inputs entered during a dialogue INPUT MEDIA: At this stage choice has to be made about the input media. To conclude about the input media consideration has to be given to;  Type of input  Flexibility of format  Speed  Accuracy  Verification methods  Rejection rates 50

 Ease of correction  Storage and handling requirements  Security  Easy to use  Portability Keeping in view the above description of the input types and input media, it can be said that most of the inputs are of the form of internal and interactive. As Input data is to be the directly keyed in by the user, the keyboard can be considered to be the most suitable input device For this system input media is mobile phone. OUTPUT DESIGN Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to provide a permanent copy of the results for later consultation. The various types of outputs in general are:  External Outputs, whose destination is outside the organization.  Internal Outputs whose destination is within organization and they are the User’s main interface with the computer.  Operational outputs whose use is purely within the computer department.  Interface outputs, which involve the user in communicating directly. OUTPUT DEFINITION The outputs should be defined in terms of the following points:  Type of the output  Content of the output  Format of the output  Location of the output  Frequency of the output  Volume of the output  Sequence of the output It is not always desirable to print or display data as it is held on a computer. It should be decided as which form of the output is the most suitable. For Example  Will decimal points need to be inserted  Should leading zeros be suppressed. Output Media: In the next stage it is to be decided that which medium is the most appropriate for the output. The main considerations when deciding about the output media are:  The suitability for the device to the particular application.  The need for a hard copy. 51

 The response time required.  The location of the users  The software and hardware available. Keeping in view the above description the project is to have outputs mainly coming under the category of internal outputs. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hot copy and as well as queries to be viewed on the screen. Keeping in view these outputs, the format for the output is taken from the outputs, which are currently being obtained after manual processing. The standard printer is to be used as output media for hard copies.

4.4 USER INTERFACE DESIGN
It is essential to consult the system users and discuss their needs while designing the user interface: USER INTERFACE SYSTEMS CAN BE BROADLY CLASIFIED AS:  User initiated interface the user is in charge, controlling the progress of the user/computer dialogue. In the computer-initiated interface, the computer selects the next stage in the interaction.  Computer initiated interfaces In the computer initiated interfaces the computer guides the progress of the user/computer dialogue. Information is displayed and the user response of the computer takes action or displays further information. USER_INITIATED INTERGFACES User initiated interfaces fall into tow approximate classes:  Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer.  Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. The forms oriented interface is chosen because it is the best choice. COMPUTER-INITIATED INTERFACES The following computer – initiated interfaces were used:  The menu system for the user is presented with a list of alternatives and the user chooses one; of alternatives.  Questions – answer type dialog system where the computer asks question and takes action based on the basis of the users reply. Right from the start the system is going to be menu driven, the opening menu displays the available options. Choosing one option gives another popup menu with more options. In this way every option leads the users to data entry form where the user can key in the data. ERROR MESSAGE DESIGN: The design of error messages is an important part of the user interface design. As user is bound to commit some errors or other while designing a system the system should be designed to be helpful by providing the user with 52

information regarding the error he/she has committed.This application must be able to produce output at different modules for different inputs.

4.5 Security Issues
This application used by project manager, team leader and team members. No user is allowed to see all information about project except project manager. Respective of user types privileges are given. Every user has own username and password. Depending on user type the functionality of application will change. System admin can add users, update users etc. He is able to modify project information like target dates, milestones etc.

53

5. IMPLEMENTATION AND TESTING
5.1 Implementation Approaches Implementation is the process of assuring that the information system is operational and then following users take over its operation for use and evaluation. Implementation includes the following activities: • Obtaining and installing the system hardware. • Installing the system and making it run on its intended hardware. • Providing user access to the system. • Training the users on the new system. • Documenting the system for its users and for those who will be responsible for maintaining it in the future. • Making arrangements to support the users as the system is used. • Transferring ongoing responsibility for the system for its developers to the operations and maintenance part. • Evaluating the operation and use of the system. The most visible component of implementation process is the system conversion. The four basic conversion strategies include  Direct conversion.  Parallel Conversion.  Pilot Conversion.  Phased Conversion. Direct conversion: In direct conversion,the organization stops using the old system and starts using the new one at the same time. Parallel conversion: Parallel conversion involves running both old system and new system and comparing their results. The new system is accepted only after the results have for an acceptable period. Pilot Conversion:

54

Pilot conversion means introducing the new system to a small part of the organization expanding is use once it is known to operate properly there. Eventually, it will be in use by the entire organization. Phased Conversion: Phased conversion means introducing a system in stage, one component or module at a time waiting until the one is operating properly before introducing the next.

5.2 Coding Details Front End Code: Homepage:
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" actionBarVisible="false" > <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ public var stat1:registration; public var stat2:login; protected function signin_clickHandler():void { // TODO Auto-generated method stub stat2 = new login; mainGroup.removeAllElements(); mainGroup.addElement(stat2); } protected function signup_clickHandler():void { // TODO Auto-generated method stub stat1=new registration; mainGroup.removeAllElements(); mainGroup.addElement(stat1); } ]]> </fx:Script> <s:VGroup id="mainGroup" width="100%" height="100%" horizontalAlign="center"

55

verticalAlign="middle" gap="5" > <s:Label color="#D81919" fontSize="36" text="Status Tracking System" textAlign="right" verticalAlign="top"/> <s:Image source="images/1.png" mouseChildren="false" buttonMode="true" id="signup" click="signup_clickHandler()" /> <s:Image source="images/2.png" mouseChildren="false" buttonMode="true" id="signin" click="signin_clickHandler()" /> </s:VGroup> </s:View>

Backend Code: Database connectivity: <?php $host="localhost"; $user="root"; $pwd=""; $db="statustracking"; mysql_connect($host,$user,$pwd) or die("sorry could not connect"); mysql_select_db($db) or die("could not select database"); ?> Admin login code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Status tracking System</title> <meta name="description" content=""> <meta name="keywords" content=""> <meta name="robots" content="index,follow"> <meta http_equiv="refresh" content="url=http://localhost/anil/index.php"> <link rel="stylesheet" type="text/css" media="all" href="site/style_002.css"> 56

<link rel="Stylesheet" type="text/css" href="site/jquery-ui-1.css"> <!--[if IE 7]><link rel="stylesheet" rel="stylesheet" href="css/ie.css" href="css/ie6.css" type="text/css" type="text/css" media="screen, projection" /><![endif]--> <!--[if IE 6]><link media="screen, projection" /><![endif]--> <link rel="stylesheet" type="text/css" href="site/style.css"> <link rel="stylesheet" type="text/css" href="site/style_003.css"> <link rel="stylesheet" type="text/css" href="site/superfish.css" media="screen"> <script type="text/javascript" src="site/jquery-1.js"></script> <script type="text/javascript" src="site/jquery-ui-1.js"></script> <script type="text/javascript" src="site/hoverIntent.js"></script> <script type="text/javascript" src="site/superfish.js"></script> <script type="text/javascript"> jQuery(function(){ jQuery('ul.sf-menu').superfish(); }); </script> <script type="text/javascript" src="site/excanvas.js"></script> <script type="text/javascript" src="site/jquery.js"></script> <script type="text/javascript" src="site/jquery_002.js"></script> <script type="text/javascript" src="site/set.js"></script> <script type="text/javascript" src="site/custom.js"></script> <script language="javascript"> </script> <!--[if </head> <body> <div id="login_container"> <div id="logo"> <h1><a href="#">Status Tracking System</a></h1> </div> 57 IE]><script language="javascript" type="text/javascript" src="excanvas.pack.js"></script><![endif]-->

<form name="f" action="authenticate.php" methot="post"> <table bgcolor="#FFFFFF" align="center" border="2" cellpadding="1" cellspacing="0" height="200" width="200"> <tr> <td colspan="2" align="center"><font size="-1"> <h3>Admin Login</h3> </font> </td> </tr> <tr> <td colspan="2" align="center"></td> </tr> <tr > <td >Username: </td> <td><input type="text" name="email" size="" value="" /><div id="rid"></div> </td> </tr> <tr> <td></td> <td align="left"><div style="color: #000000; font-size: 75%;"> <font color="voilet"> <div style="color: #000000; font-size: 100%;"> ex: [email protected] </div> <?php $opt1=$_REQUEST['opt']; if($opt1=="noemail") echo "enter login name"; ?> </font> </div></td> </tr> <tr> <td align="right" nowrap="">Password: </td>

58

<td><input type="password"name="Passwd" id="email"size="20" class="" /> <font color="red"> <?php $opt2=$_REQUEST['optp']; if($opt2=="nopwd") echo "enter password"; ?></font> </td> </tr> <tr> <td></td> <td align="left"></td> </tr> <tr> <td align="center" colspan="2"><input type="submit" name="signIn" id="signIn" value="Signin"/></td> </tr> <tr> <td colspan="2" align="center"><a href="home.php?opt=aa">Create an account for admin</a></td> </tr> <tr> <td colspan="2" align="center"><a href="forgot.php">Forgot Password?</a></td> </tr> <tr> <td colspan="2" align="center"><font color="red"> <?php $opt1=$_REQUEST['opt']; if($opt1=="invalid") echo "invalid login"; ?> </font></td> 59

</tr> </table> </form> </div> </html>

Navigation of one php page to another page:
<form name=”f” action=”target file path”> And Header(“location:desired path file”);

Navigating from flex page to php page
Here we need to send a service from flex page to php page by sending parameters using xml format. Syntax:
<s:HTTPService id="httpStatusHandler" url="http://localhost/projectstatustracking/status.php" result="httpStatusHandler_resultHandler(event)" fault="httpStatusHandler_faultHandler(event)" > <s:request xmlns=""> <uname> {uname} </uname> </s:request> </s:HTTPService>

60

5.3 Screenshots: Login:

61

Registration page:

62

Validating User details:
63

Security question:
64

Team Leader View:
65

Team Leader View:
66

Team Member View:
67

Selecting Modules:
68

Reporting status:
69

Selecting Status:
70

Admin Login:
71

Create admin:
72

Home page:
73

Validate user:
74

75

Add Project:

76

View user:

77

5.4 Testing Approach
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. In fact, testing is the one step in the software engineering process that could be viewed as destructive rather than constructive. A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. Testing is the set of activities that can be planned in advance and conducted systematically. The underlying motivation of program testing is to affirm software quality with methods that can economically and effectively apply to both strategic to both large and small-scale systems. STRATEGIC APPROACH TO SOFTWARE TESTING The software engineering process can be viewed as a spiral. Initially system engineering defines the role of software and leads to software requirement analysis where the information domain, functions, behavior, performance, constraints and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. To develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn. A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vertex of the spiral and concentrates on each unit of the software as implemented in source code. Testing progress by moving outward along the spiral to integration testing, where the focus is on the design and the construction of the software architecture. Talking another turn on outward on the spiral we encounter validation testing where requirements established as part of software requirements analysis are validated against the software that has been constructed. Finally we arrive at system testing, where the software and other system elements are tested as a whole.

78

UNIT TESTING MODULE TESTING

Component Testing

SUBSYSTEM TESING SYSTEM TESTING

Integration Testing

User Testing
UNIT TESTING

ACCEPTANCE TESTING

Unit testing focuses verification effort on the smallest unit of software design, the module. The unit testing we have is white box oriented and some modules the steps are conducted in parallel. 1. WHITE BOX TESTING This type of testing ensures that • All independent paths have been exercised at least once • All logical decisions have been exercised on their true and false sides • All loops are executed at their boundaries and within their operational bounds • All internal data structures have been exercised to assure their validity. To follow the concept of white box testing we have tested each form .we have created independently to verify that Data flow is correct, All conditions are exercised to check their validity, All loops are executed on their boundaries. 2. BASIC PATH TESTING Established technique of flow graph with Cyclomatic complexity was used to derive test cases for all the functions. The main steps in deriving test cases were: Use the design of the code and draw correspondent flow graph. Determine the Cyclomatic complexity of resultant flow graph, using formula: V(G)=E-N+2 or V(G)=P+1 or V(G)=Number Of Regions Where V(G) is Cyclomatic complexity, E is the number of edges, N is the number of flow graph nodes, P is the number of predicate nodes. 79

3. CONDITIONAL TESTING In this part of the testing each of the conditions were tested to both true and false aspects. And all the resulting paths were tested. So that each path that may be generate on particular condition is traced to uncover any possible errors. 4. DATA FLOW TESTING This type of testing selects the path of the program according to the location of definition and use of variables. This kind of testing was used only when some local variable were declared. The definition-use chain method was used in this type of testing. These were particularly useful in nested statements. 5. LOOP TESTING In this type of testing all the loops are tested to all the limits possible. The following exercise was adopted for all loops: • • • • All the loops were tested at their limits, just above them and just below them. All the loops were skipped at least once. For nested loops test the inner most loop first and then work outwards. For concatenated loops the values of dependent loops were set with the help of connected loop.

80

Test Case for Login Page

TEST CASES (FRONT END) Test case no 1 Test case name Login Input Username and password is blank Selecting curriculum based on user requirements Select the options as for the user requirement Status of the project Will be displayed Actual value Provide username and password Select the curriculum and check whether it is related to the employee id Selected options are displayed for the projects User performance will be shown as graph Expected value Provide username and password Select the curriculum and check whether it is related to the employee id Selected options are displayed for the projects User performance will be shown as graph Test result No error No error

2

Curriculum

3

Options

No error No error

4

Report

81

Table TEST CASES (BACK END): Test case no 1 Test case name Admin Login Add Users Edit Users Delete Users Add Projects Edit Project Delete Project Add Category Edit Category Delete Category Add Milestone Edit Milestone Input Username and password is blank The user fields are left blank Filled user fields are displayed User records The project table fields are left blank Filled project fields are displayed Project details of the users The category field is left blank Category details are displayed Category details The milestone field is left blank Milestone details are displayed Milestone details Actual value Provide name and password User details are being provided Edit the required fields Delete the user record Project details are being provided Edit the required fields Delete the Project from the database Based on the company we add category Edit the field based on the requirement Delete the Category Milestone are added based on the project Edit the Milestone field based on the requirement Delete the milestone from the Expected value Provide name and password User details are being provided Edit the required fields Delete the user record Project details are being provided Edit the required fields Delete the Project from the database Based on the company we add category Edit the field based on the requirement Delete the Category Milestone are added based on the project Edit the Milestone field based on the requirement Delete the milestone from the Test result No error No error No error No error No error No error No error No error No error No error No error No error

2 3 4 5

6 7

8 9 10 11

12

13

Delete Milestone

No error 82

14 15

Add Task Edit Task

The Task field Task details are displayed

database Based on the project we add the task Edit this field based on the Task Delete the Task correspondin g to the project

database Based on the project we add the task Edit this field based on the Task Delete the Task correspondin g to the project

No error No error

Delete Task Task details 16

No error

17

Add report

The report field is left blank

18

Edit reports reports details are displayed Delete reports report details

19

Based on the milestone the reports are added Edit the reports field based on the requirement Delete the reports from the database

Based on the milestone the reports are added Edit the reports field based on the requirement Delete the reports from the database

No error No error No error

83

6. CONCLUTION
The system titled as “Mobile based Project Status Tracking System” was deeply studied and analyzed to track the status developing project. The solution developed is free from all the bugs and executable with as different modules to the utmost satisfaction of the client. All the current requirements and possibilities have been taken care during the system analysis time. We feel that the solution provided now will suit to all the needs of various clients in the same industry but also we don’t rule the possibilities of further updating of this solution with the new and advance technologies and further additional requirements of the clients. The documentation and the project report are finally prepared to be referred as user manual for further effective results of the software solution.

6.1 Future implementations:
At present, this application is useful to only employee working in organization. Further we can add clients and users who are participating Development process.

84

7. BIBILO GRAPHY.
7.1 REFERENCES
References for the project Development were taken from the following Books and web sites. • • • • • • • • • “INTERNET & WORLD WIDE WEB HOW TO PROGRAM” by DEITEL. “HTML Black Book” by Holzner. “Java Script Programming” by Yehuda Shiran. “Software Engineering” by Roger Pressman. “Teach Your self PHP in 24 Hours” by Allen. http://www.w3schools.com/php/php_mysql_intro.asp. http://www.sitepoint.com/beginners-tutorial-flex-3/ http://www.adobe.com/devnet/flex/articles/php_getstarted.html http://www.activecollab.com/

85

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close