0% found this document useful (0 votes)
53 views

Testyou Documentation PHP

This document provides an overview of the Performance Optimizer E-Exam system. It describes the system's modules including the admin module for managing subjects, skills, questions and answers, and the user module for user login, registration, taking tests and viewing results. It also outlines the hardware and software requirements including recommended server and client specifications, and supported operating systems, web browsers, programming languages and databases. The system uses PHP for web application development and MySQL as the database.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Testyou Documentation PHP

This document provides an overview of the Performance Optimizer E-Exam system. It describes the system's modules including the admin module for managing subjects, skills, questions and answers, and the user module for user login, registration, taking tests and viewing results. It also outlines the hardware and software requirements including recommended server and client specifications, and supported operating systems, web browsers, programming languages and databases. The system uses PHP for web application development and MySQL as the database.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 60

Performance Optimizer

E-Exam

2011

Introduction Test You is Known for its innovative, yet easy-to-use online assessment solutions, Test You is the only assessment project with a rich offering across personality, knowledge, skills, abilities, and past work behavior. Other sites offer strengths in one or two of these areas, but only Test You offers world class tools in each category. Test You. combines several different assessment types into a single instrument developed for a specific job. Test You helps clients test, track, and improve their employees' vital job characteristics. Test You is online assessment solutions improve hiring, retention, training, customer satisfaction, and profitability for organizations For more information, visit Test You.

Module Detail Admin Module 1. Add Technology

2. Add Subject and their Skill 3. Add Question and Their Answer options 4. 5. 6. 7. 8. 9. 10. 11. 12. Create Admin 13. Modify Subject and Delete 14. Modify Skill and Delete 15. Modify Question and Answer Option User Module 1. Login Form 2. Registration Form 3. Choose Test Information 4. Show Question and Their Answer 5. Show Result Reports

Hardware & Software Requirement

HARDWARE SPECIFICATION

Server Processor RAM HDD Client Processor : Celeron 500 MHz or above, Pentium : : : Pentium 3,500 MHz (or above). 128 MB (or above). 20 GB (or Above).

2,350 MHz or above. RAM HDD : : 64 MB (or Above). 10 GB (or Above).

Software Specification

OPERATING SYSTEM WEB BROWSER DEVELOPMENT TOOLS DATABASE

Windows 98, 2000, ME, XP, NT IE6 or Netscape 4x or upwards. PHP, JavaScript, HTML, DHTML MYSQL

PHP PHP is an Open Source web application development technology. Programmers can use it to build dynamic web sites, web applications and XML web services. Programmers can write PHP code using any PHP language. Differences compared to PHP classic are

Compiled code: faster applications, more design-time errors trapped. Improved run-time error handling, exception handling Rich user interfaces, controls and events. Extensive set of controls, class libraries, user defined controls, templates, such as menus. Easier layout.. Multi-language capabilities of the PHP, allowing web pages to be coded. All controls generate valid HTML 4.0, XHTML 1.0 (the default) or XHTML 1.1 output, support for Cascading Style Sheets is more extensive.

Features of PHP In addition to hiding script commands, PHP, has the following advanced features that help to develop robust web applications: 1] Compiled Code: Here code is compiled not interpreted, thus making it faster than the Server side scripts that are interpreted [E.g.- PHP] 2] Enriched tool support: Designed in PHP. What you see is what you get editor, drag and drop server controls, automatic deployment.

3] Power and Flexibility: PHP applications ensure you a PHP framework class library, messaging, and data access solutions are seamlessly accessible over the web. It is language independent. Hence, you can use any language to develop your application. 4] Simplicity: Use interfaces separate the application logic from presentation content. In addition, simplifies it further by using managed code services, viz automatic reference counting and garbage collection. Therefore simplifies form submission, client authentication, configuration and deployment. 5] Manageability: Enables you to manage web apps. By storing the configuration information in an XML file. You can open the xml file in the PHP. 6] Scalability: Improves performance in the multiprocessor environment. 7] Security: Options for security and restricting user access to a web application , present within the configuration file.

PHP Features: 1] Most suitable building robust, n-tier client server applications. 2] . PHP gives quick access to data stores like MYSQL. 3] It offers XML web services and server side controls. 4]Makes it easy writing windows forms user interfaces 5] Component conflicts become infrequent. 6] Deployment is easier.

HTML HTML , short for HyperText Markup Language, is the predominant markup language for the creation of web pages Provides stucture by denoting certain text as headings, paragraphs, lists, and so on and to supplement that text with interactive forms, embedded images, and other objects.and even embedded code which affects the behaviour of the web browser. HTML is also often used to refer to content of the MIME type text/html /XHTML . DHTML Dynamic HTML (DHTML) is a set of innovative features in . Internet Explorer 4.0. With DHTML, you can easily add effects to your documents that previously were difficult to achieve. For example, you can:

Hide text and images in your document and keep this content hidden until a given time elapses or the user interacts with the page

Animate text and images in your document, independently moving each element from any starting point to any ending point, following a path that you choose or that you allow the user choose.

JAVA SCRIPT Java script is the Netscape-developed object scripting language used web pages and server applications. JavaScript is a dynamic scripting language supporting prototype based object construction. Function as both a procedural and an object oriented language.

MYSQL Features 1. One of MYSQL's greatest benefits is it is truly a cross-platform language and a crossproduct language. 2. It is the common thread that runs throughout client/server application development is the use client/server computing of MYSQL and relational databases. 3.MYSQL is recommended where database is not so huge. 4. MYSQL provides good security. Operating System In the proposed system Window 2003 Server Web Edition is used. system. Windows File Protection runs in the background and prevents other programs from changing the files needed by the operating system. It can defragment disk volumes formatted as FAT, FAT32, and NTFS, increasing server reliability and performance.

SYSTEM ANALYSIS

SYSTEM ANALYSIS

Problem Identification Problem identification is very first step of system analysis. The analyst meets with the customer and the end user. Here in our case both customers are the companies and user of their products. In this step, we are interested to understand the products objective and defined the goals required to meet the objective. After identifying overall goals, we moved towards evaluation of supplementary information during preliminary investigation. We also focused on Does the technology exit to build the system? and What bounds have been placed on costs and schedule? To perform it we scanned followings: The performance of the system, The information being supplied and its form, The economy of processing, The control of the information processing, The efficiency of the existing system, and The security of the data & software.

Preliminary Investigation Once the request for the information system development is received, the first system activity Preliminary Investigation begins. This activity is independent of the software-engineering paradigm. That means whether a system will be developed by means of the system development life cycle (SDLC), a prototyping strategy, or the structured analysis method, or a combination of these methods, preliminary investigation must be performed first. This activity has three parts: Request Clarification,

Study, and Approval. It may be possible that the request that has been received is not clearly defined and it is difficult to figure out what for the request is. So, in that case, the person who has made the request is contacted and asked to explain the request. If the request is appropriate enough then in that case feasibility study is carried out for that request i.e., before the feasibility study, the request must be determined and defined precisely. After request clarification the feasibility study is performed. If the request for the information system is feasible and the request is approved, then starts the real analysis phase called Requirement study. The data that are collected from the organization as the part of preliminary investigation is follows three mechanisms also called Fact Finding Techniques: Reviewing existing Documents material and existing systems (web sites) Conducting Interviews and On-Site Observation

To conduct preliminary investigation, we came to know that CRC is having their websites with the organization information purposes. The very first impression validates the request for the automation (i.e. Information System development). We used all the three fact-finding techniques for data collection. We collected various papers & documents related to the activities, we analyzed every aspect of the online customer care system, and conducted marketing surveys to know the interest among the people associated and attached with different organization .It was surprising to know that most of them were very interested in computers and has the better understanding of Computer & Information Systems. Both were very helpful in passing the exact information we were looking for. Reviewing the traditional one and having own experience in the field helped us immensely in the knowing the data items being processed by the system. It also helped in understanding the complexities of the working process of the web site.

The above said fact finding techniques not only helped in the understanding of the system but also proposed some solutions to the new information systems.

Information Content: Information content represents the individual data and control objects that constitute some larger collection of information transformed by the software. In our case the object, which is composite of a number of important pieces of data as project, package and item with its category. So the contents are defined by the necessary attributes required to create it. During the analysis of the information domain the inter relationship between objects is also defined.

Information Flow: Information flow represents the manner in which data and control changes as each move through a system. Input objects are transformed into intermediate information, which is further transformed to output. Here, additional information is also supplied and transformations are some engineering functions/formulae.

Information Structure: Information structure represents the internal organization of various data and control items. Some queries are answered like How does information in one information structure relate to information in another structure?, Are all information contained within a single structure or are distinct structure to be used? etc.

System under Study:

In order to understand the need of the proposed system first we will have to understand the demand and supply of such system accordingly in the real world, and in nowadays context. With more then 1 billion population of the country like ours, where everything is changing fast and figures complete change in the mod of human interaction changing the direct dependability between man & man and man & machine through the fast growing electronics mode of communication opening a new door for internet technology to act as a interactive media for a professional interaction, this system deals directly with customer interaction with the respective companies for the products and service regarding to that products. The interaction response time can be decreased through a viable Internet based response, request and query management system.

With the increasing of web broadband network using optical fiber cable the system being developed is feasible and cannot act as a trusted mode of communication between companies and their customers.

Engulfing the vast possibility of growth in the customer care industry at home or at a communication hub like cyber cafes. One cannot deny the possibility of good customer care industry through the net called online customer care system.

The manual System: In the manual system the companies selling their products have to provide services through channels and mode of operations existing through different hierarchy level of problem solving stages and vice-versa to customer.

This is a tedious process and a person at higher level in the hierarchy is not having the complete control over the people who are at the lower level or the direct interaction between the customer and helpdesk officer. The system being proposed will only automate and facilitate the manual form as well as will provide blend.

FEASIBILITY STUDY

Introduction: The feasibility study of any system is mainly intended to study and analyze the proposed system and to decide whether the system under consideration will be viable or not after implementation. That is it determines the usability of the project after deployment. To come to result a set of query is answered keeping the efficiency of the software and its impact on the domain for which it was developed. Its main emphasis is on the following three questions elucidated below as: them? What resources are available for the proposed systems? Is it worth What is the likely impact of the proposed system on the organization? Thus since the feasibility study may lead to commitment of large resources, it becomes necessary that it should be conducted competently and no fundamental errors of judgment are made. solving the problem? I.e. how does the proposed system fit with in the organization? What are the users requirements and how does a candidate system meet

Technical Feasibility:

In technical feasibility, we study all technical issues regarding the proposed system. It is mainly concerned with the specifications of the equipments and the software, which successfully satisfies the end-users requirement. The technical needs of the system may vary accordingly but include: The feasibility to produce outputs in a given time. Response time under certain conditions. Ability to process a certain volume of transaction at a particular speed. Facility to communicate data.

Under this analysis process questions like: (i) Does the compatible platform exist within our domain or can we procure it? (ii) Does the proposed equipment have the technical capacity to hold the data required using the new system? Both at the development site and at server where we will be hiring the space for the website, and also the database (iii) Would it be possible to upgrade the system after it is developed and implemented, if necessary? (iv)Would the recommended technology guarantee the reliability, accuracy and data security? This analysis process requires more emphasis on system configuration given more importance rather than the actual hardware specifications. FEATURE OF INTERNET INFORMATION SERVICES (IIS):

Software services that support web-site creation, configuration, and management, along with other Internet functions. Internet Information Services include: Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP), and File Transfer Protocol (FTP).

1) Simple Mail Transfer Protocol (SMTP) A member of the TCP/IP suite of protocols that governs the exchange of electronic mail between message transfer agents. 2) Network News Transfer Protocol (NNTP) A member of the TCP/IP suite of protocols used to distribute network news messages to NNTP servers and clients (newsreaders) on the Internet. NNTP is designed so that news articles are stored on a server in a central database, thus enabling a user to select specific items to read.

3) File Transfer Protocol (FTP) A member of the TCP/IP suite of protocols, used to copy files between two computers on the Internet. Both computers must support their respective FTP roles: one must be an FTP client and the other an FTP server.

Transmission Control Protocol/Internet Protocol (TCP/IP)

A set of networking protocols widely used on the Internet that provides communications across interconnected networks of computers with diverse hardware architectures and various operating systems. TCP/IP includes standards for how computers communicate and conventions for connecting networks and routing traffic. Internet Protocol (IP) A routable protocol in the TCP/IP protocol suite that is responsible for IP addressing, routing, and the fragmentation and reassembly of IP packets.

Economical Feasibility: Economic feasibility is the most frequently used technique for evaluating the effectiveness of the proposed system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from the proposed system and compare them with the costs. If the benefits outweigh costs, a decision is taken to design and implement the system otherwise further justification or the alternative in the proposed system will have to be made if it is to have a chance of being approved. This outgoing effort improves in accuracy at each phase of the system development life cycle.

Classification of Costs & Benefits: The various cost expected to incur & benefit expected to realize are given below. Tangible or Intangible Costs & Benefits: Tangibility refers to the ease with which costs or benefits can be measured. An outlay of cash for a specific item or activity is referred to as a tangible cost. They are shown as disbursements on the books. The purchases of hardware or software, personnel training are examples of tangible costs. They are readily identified and measured.

Direct or Indirect Costs & Benefits: Direct Costs are those with which a monetary figure can be directly associated in a project. They are applied directly to the operation. Direct benefits can also be specified to the given project. Indirect Costs are the results of operation that are not directly associated with the given system or activity. They are often referred to as overhead. Light, air conditioning, maintenance, protection of the computer center is all tangible costs, but it is difficult to determine the proportion of each attribute to a specific activity. Indirect benefits are realized as a by-product of another activity or system. Fixed and Variable Costs and Benefits: Fixed Costs: Some costs and benefits are constant, regardless of how well a system is used. They are constant and do not change. Once encountered they will not reappear. In contrast, Variable Costs are incurred on a regular basis. They are proportion to work volume and continue as long as is in operation. For example, the cost of printer paper and cartridge. Fixed benefits are also constant and do not change. The variable benefits, on the other hand, are realized on a regular basis. For example, the system will save several hours of employees in preparing each report, which otherwise was prepared manually. Another examples are error free data entry, help about different topics and ease of use.

Operational Feasibility:

Proposed projects are beneficial only if they can be turned into information system that will meet the operating requirements for which they are designed and developed. It is mainly related to human organizational and political aspects. People are resistant to change and computers have been known to facilitate change.

Findings of operational feasibility analysis can be summarized as given below: Since the audiences are million of citizen who use it for information retrieval. So

their will be many who will be benefited with this project End users are always welcome to have the technical support on the site.

PROJECT PLANNING

(1). The Concept The concept behind software project planning is to provide a framework that enables the manager to make reasonable estimates of the resources, cost and schedule. The appropriate estimates are formulated within a time limit and the objective is achieved through a process of information discovery, which leads to reasonable estimates. In Our Context We studied and went through all set of tasks and activities regarding software and identified them before software project is to be implemented. With the help software project planning we constituted an identified works and resources required to complete the project and also the time required for the completion of project. Planning helped us in decision-making process while we were studying how to initiate and what steps to follow to accomplish the task. We also planned to finish the assigned task within appropriate cost, effort and resources to maintain the system feasible. Our planning was about all kinds of resources required and estimation regarding total cost. We also finalized how much time it will take to launch the web site with in the given constraint of the cost, effort and resources. In resources we also considered human resources, reusable software resources and environmental resources. (2). Software Scope:

Scope of software is the parameter under which the software is applicable or it is the unambiguous and understandable domain of the software in which the system is applicable. The scope of the software can be determined by following factors: The Context: By understanding the context of the software (i.e. how does the software to be built to be fit into a large system, product, or business context and what constraint are required as a result of the context?), we can easily determine the scope of the software. The Information objectives: Here, we try to know the user visible outputs and inputs. By understanding the end-user visible data objects (inputs/outputs), we determined the range of the information on which we have to work upon and for what purpose. Function and performance: Here, we tried to know about the different functions, which transform the input data into output. By knowing about the different functions, we came to know about the different processes of the system. The above said factors and their analysis helped us to exploit and implement the following features of software scope: Reusability: Reusability is possible as and when we required in this application. We can update its next version. Reusable software reduces design, coding and testing cost by amortizing effort over several designs. Reducing the amount of code also simplified understanding, which increases the likelihood that the code is correct. We followed up both types of reusability as sharing of newly written code within a project and reuse of previously written code on new projects. Extensibility: This application software is extended in ways that its original developers may not expect. The following principles enhance extensibility like Hiding data structures, avoiding traversing multiple links or methods, avoiding case statements on object type and distinguishing public and private operations. Robustness: Its method is robust and it will not fail even if it receives improper parameters. There are some alert pages and messages are flashed out with some dialogue boxes to warn and inform the end user about the current processes going on. It also interacts with the user by alerting them about invalid parameters.

Understandability: A method is understandable if anyone other than the developer of the method can understand the code (as well as the developer after a time-span). Cost-effectiveness: Its cost is under the budget and developed within given time period. It is always desirable to aim for a system with a minimum cost subject to the condition that it must satisfy all the requirements. To implement Software Scope we considered it by looking out on the future scope of the software. The software is being implemented on a web site having server any were and Clint any computer on the net. The codes being embedded and installed at the root directory of the server with support for SQL and Internet Information Services. The database space taken at MYSQL and connected with the site server will be main power for the resource utilization on the site. The software scope enlarges ultimately with the use of Internet technologies when universities organization institutes and individual can use and extract the vast and huge possibility of this site engulfed by the net technologies.

Portability: Since it is an Internet based application so its portability and usability depends upon the client connected with the internet. The interface designed that is the web page designing which is one of the major part of web application because it is the first impression regardless of the value of its contents interface should must grab a potential user immediately.

(3). Resource Estimation The second task of planning is estimation of resources required to accomplish the software development effort. The development environment encapsulates hardware and software tools are the foundation of the resource and provide the infrastructure to support the development effort. At a higher level we encounter reusable software components software building blocks that can dramatically reduce development costs and accurate delivery. At the highest level is the primary resource people.

a). Human Resources: Human resource is the primary resource and lies at the topmost level of the resources hierarchy. It is the resource, which says about the people who are technically

sound and develops the software. We started by evaluating scope and studying the skills required to complete the development. Both organization position and specialty are specified. Since we are two in our team with one project coordinator so we evaluated our skills and updated ourselves with the required skills and divided the work among us and so calculated the estimated schedule. b). Reusable Software Resources: It lies at the second priority level of resources but any discussion would be incomplete without recognition of reusability. Since the task we are assigned is a new one and is to be developed from the very bottom level so we do not perform the planning and estimation regarding reusable software resources. c). Environmental Resources: The environment that supports the software project often called a software engineering environment (SEE) incorporates hardware and software. Hardware provides a platform that supports the tools (software) required to produce the work products that are an outcome of good software engineering practices. Because most software organizations have multiple constituencies that require access to the SEE, a project planner must prescribe the time window required for hardware and software and verify that these resources will be available. When a computer-based system (incorporating specialized hardware and software) is to be engineered, the software team may require access to hardware elements being developed by other engineering teams. The software project planner must specify each hardware element.

(4). Project Estimation: Software is most expansive element of any computer-based information system. So, the estimation of cost and effort applied to the project is crucial factor in system development. The major problem with software project estimation is that there are so many variables that affect the estimation and these too are difficult to quantify. Some of the variables that affect the estimation are human, technical, environmental, and political. This does not mean we dont have the solution. There are a number of techniques, which has been developed for the estimation purpose. Some of the important techniques we adopted are as follows:

a) b) c)

Decomposition Techniques Empirical Estimation Models and Automated Estimation Tools

(5). Decomposition: Software project estimation is a form of problem solving, and in most cases, developing a cost and effort estimate for a software project is too complex to be considered in one piece. So, we decompose the problem, and recharacterize it as a set of smaller problems. But no matter which technique we apply for our project, the first primary step in software project estimation is The determination of the size of the software project. The accuracy of estimation of software project is dependent on the degree to which the size of the software has been estimated. The direct method to find the size of the software is to find the LOC (Lines of Code) of the software but this method is very difficult at the very beginning of the project. Because even the most experienced people will find it next to impossible to predict LOC before hand. There are various approaches to major the size of the software. Some of the important approaches are as follows:

a) b) c) d)

Fuzzy logic Sizing Function Point Sizing Standard Component Sizing and Change Sizing

Here, in our case, we have used the functional point sizing of the project. Let us have a brief review of the Function Point sizing concept. Function Point Sizing: Albrecht first proposed the concept of functional point. Function Points are derived using an empirical relationship based on countable (direct) measures of softwares information domain and assessment of software complexity. Functional points are computed by the formula

FP= Count Total X [ 0.65 + 0.01 X (Fi) ]

Where, Fi is the value in the range of zero to five for various types of complexity factors in the project.

SOFTWARE ENGINEERING PARADIGM

Introduction Web Engineering, as software engineering is a layered technology, which comprises of four independent layers as:

A quality focus layer, The process layer, The methods layer, and The tools layer.

The foundation for the software engineering is the process layer and together with the technology layer helps the rational and timely development of computer software. The method layer provides a technical way to perform a broad array of tasks regarding requirements analysis, design, program construction, testing, and maintenance. The tools layer encompasses the software engineering tools to provide automated or semi automated support for the process and the methods. In real world, the software development is a teamwork that incorporates a development strategy that encompasses the process, methods, and tools layers and so the strategy is termed as a process model or Software Engineering Paradigms. According to Fritz Bauer Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. There are several models suggested to go through the software process. The one most suitable & we opted the linear sequential model to develop the software.

a). System Engineering: The software is always part of a large system and is built using modular approach. The very scratch work begins by establishing requirements for all system elements and then allocating some subset of these requirements for all system elements and then allocating some subset of these requirements to the software. This system view is essential whenever the software is intended to interact with other system elements such as hardware, people, and database. In due course the system engineering and the analysis encompass requirements gathering at the system level with a small amount of top-level design and analysis. Information engineering encompasses requirements gathering at the strategic business level and at the business area level.

b). Software Requirement Analysis: In the very first approach of software development, the requirements gathering process is performed and later intensified and focused on the software. To understand the various characteristics of the software to be built, first we must have to understand the information domain for the software, and the required function, behavior, performance, and interface. Requirements for both the system and the software are documented and must be reviewed with the customer. Keeping this software engineering paradigm we are having a proper documentation on our web site so that Customers requirement should be reviewed with the user. It helped us to minimize the distance between the actual requirement and the software required and hence kept and will keep the customers satisfaction very high.

c). Design: The design is almost and always a multi step process and focuses on four distinct attributes of a program:

Data Structure Software Architecture Interface Representations and Procedural Detail.

The design process translates requirements into a representation of the software that can be assessed for quality before coding begins. Like requirements, the design is documented and becomes part of the software configuration.

d). Code Generation: The design is translated into a machine-readable form using some programming tools.

e). Testing: Once the design is converted into machine-readable form the program testing phase starts. The testing process on our software mainly focused on the logical internals of the software, ensuring that all statements have been tested properly, and on the functional externals. Through testing we mainly intended to uncover errors and ensured that the defined input produces the desired results that agree with required results in the specification.

f). Maintenance: Software will undoubtedly undergo change after it is delivered to the customer. Change will occur due to either errors have been encountered or the software have been adapted to accommodate in its external environment or the customer requires functional or performance enhancements. Software support/ maintenance reapply each of the preceding phases to an existing program rather than a new one. The linear nature of the classic life cycle worked perfect without any blocking states as the project is to be developed by me under the guidance of the project coordinator only & hence we started the next phase as soon as the current phase is finished without waiting for any one else.

g). The Linear Sequential Model: The Linear Sequential Model, the Classic life cycle, or the Waterfall model suggests a systematic and sequential approach to the software development. The very first phase starts from the system level and progresses through analysis, design, coding, testing, and support. A pictorial view of opted model to develop the software is depicted in figure.

Software engineering paradigm is nothing but a life cycle model which is applied to give shape to the project. Without a life cycle model, a project is bound to fail because unless and until a planned vision is before hand, the situation is chaotic. There are numerous life cycle models which are available to software developers. One of the renowned and probably the oldest S.D.L.C model is Water Fall Model. This model as the name implies, is a phased model. Each phase has well defined starting and ending boundaries. One phase cannot begin unless its previous phase is completed.

Waterfall Model: In our case, we have decided to use waterfall model because the requirements have been well defined and stable which is the prime criteria for applicability of waterfall model. Also, the time allowed for the project is limited; there is no scope for applying an evolutionary model. Activities have to be distributed throughout the life cycle effectively. This model is easy to understand and easy to explain to the customer. With a small team size of two persons only, this model seems appropriate to us.

The following diagram depicts the various phases of the waterfall model: -

Requirement Requirement s ana lysis s ana lysis and and specification specification

Design and Design and specification specification

Coding and Coding and module module testing testing

Integration Integration and and Manipulation Manipulation

Testing and Testing and Delivery Delivery

Software Requirement Specification (SRS) 1) Overview The software requirement specification (SRS) is very important part of the software building process, which describes the actual user level requirement from technical point of view i.e., what the user exactly wants? Or For what purpose we are making every thing? The objective of preparing the software requirement specification is to represent the requirements of the software in such a manner that ultimately leads to successful software implementation. It is the result of the analysis process of the software development. It should contain all the data the software is going to process, the function it will provide, and the behavior it will exhibit. This Software Requirements Specifications (SRS) is defined in IEEE Std. 830-1993, IEEE Recommended Practice for Software Requirements Specifications. The document is organized in the following structure: Introduction Information Description Functional Description Behavior Description Validation Criteria Bibliography Appendix a). Introduction: The introduction section describes the goals and objective the software under going development in context of computer based system. It mainly deals with the software scope i.e. it will bind the software application domain.

b). Information Description: This section of the SRS provides a detailed of the problem that the software must solve. It should describe the core of the software i.e. The Data. The data or information the software is going to work on is the most basic part of the software. The description of each data or information entity is described here. It also gives details of the

relationships between the data elements of the software. The information description helps the software designers in their designing purpose.

c). Functional Description: This section of the SRS describes the each functions required to solve the problem. It emphasizes on the core of the software on which the data will be processed i.e. The Function. It also includes the process specification of each function, design constraints, and performance characteristics. The DFD or any other graphical diagram can also be added to describe the functionality of the system.

d). Behavioral Description: This section of the SRS describes the behavior of the software will exhibit. It is based on definition of the events and the operations that it will perform because of events.

e). Validation Criteria: This section of the SRS contains the details of the tests that should be performed to validate functions, performance, and behavior of the software. It is one of the most important aspect of the software which decides how much robust our software is.

f). Bibliography: This section contains references to all the related documents related with the software. This may include any technical document, standards document or software engineering paper. g). Appendix: This section is supplementary and can include the matters that are important for the software development. It may include the statistical data, graphs or algorithm details.

ANALYSIS MODELING

Data Modeling Data modeling is very important part of the analysis it mainly deals with the data object and their relationship. With the help of data model one can easily identify the primary objects to be process by the system. Data model makes Entity-Relationship (ER) diagram to describe the relationship between entities. The data model considers the data independent of the processing that transform the data. Data modeling answers a set of specific questions that are relevant to any data processing application. What are the primary data objects to be processed by the system? What is the composition of each data object and what attributes describe the object? What do the objects currently reside? What are the relationship between each object and other objects? What are the relationships between the objects and the processes that transform them?

a). Data Objects and Attributes The data model consists of the data objects and attributes that describe the data object. A data object is the representation of any composite information that is processed by computer software. A data object can be an external entity, a thing, an occurrence or event, a role, a structure etc. A data object encapsulates the data onlythere is no reference within a data object to operations that act on the data. So the data object can be a table. Attributes define the properties of a data object and take on one of three different characteristics. 1. Name an instance of the data object 2. Describe the instance 3. Make reference to another instance in another table. Also one or more attribute can be defined as identifier i.e. - Key. The key is used to make the relationship with the attribute of another data object. It may or may not be unique. In our context, we can say that as our project is RDBMS, so here relationship between various data object is essential to get required information and result the user want. So key has very important role here to make references as well as referential integrity and to prevent from data redundancy.

b). Cardinality and Modality

Cardinality: Cardinality defines the maximum number of objects that can be participating in a relationship. According to Tillman, the cardinality is the specification of the number of

occurrences of one object that can be related to the number of occurrences of another object. Taking into consideration all combinations of one and many two objects can be related as: One-to-One (1:1) One-to-Many (1:M) Many-to-One (M:1) Many-to-Many (M:N)

Structure Designing

DATA FLOW DIAGRAM A newer graphic for defining input, processes and outputs is the data flow diagram. Only a few symbol are used, as shown in figure and these symbols may be located in a rather informal way. 1. Data Transformation

2. Temporary Data Storage

3. Data Flow

DATA FLOW DIAGRAM OF MESSAGE MODULE: Context Level DFD

Admin users

Our Product ( www.Certipr

Updated site

Skilled

LEVEL ONE DFD


Adding questions & Modifying Skills updated Detail Skills

Admin

DFD 2

TestYou Users

user with improved skills

DFD 3
Fill form registration for

Verification by Admin

done

Becomes Registered user

Start

Index

filling Details/ Solve questions

Accept Details/ questions are verified

FLOW CHART

Processing

Verified details/display test result

Stop

NAVIGATIONAL FLOW CHART It would be helpful if you could provide us with a navigational flow chart for your website. This is very much in the format of a family tree with your home page at the top of the tree/chart with branches/links to all other pages and then sub pages

Ne w use r No

Start

Make Registration

Login in with password & user name or use Test your skills frame on the homepage Solve questions of selected skill

Questio ns solved

Want s to Valid solve User name

Solve questions Valid Password

Yes Login Click on Result button at the end of questions

No Valid User Logout


Give commen ts or suggesti ons

Adding Skills

Display report of skill test Modify details

Select skill and solve questions

Adding details

ER-DIAGRAM

Registered user

DATA BASE

TESTING PROCEDURES Objective of Testing Testing is vital to the success of any system, Testing is done at different stages within the development phase. System testing makes a logical assumption that if all parts of the system are correct , the goals will be achieved successfully. Inadequate testing or no testing leads to errors that may come up after when correction would be extremely difficult. Another objective of testing is its utility as a user-oriented vehicle before implementation. The testing of the system was done on both artificial and live data .The following types of tests are performed. Unit Testing This testing focuses verification on the module .Using procedural design description as a Guide; important control paths are tested to uncover errors with in the boundaries of the module. The relative complexity of tests and uncovered errors is limited by the constraints scope established for unit testing. The unit testing can be conducted in parallel for several modules. Integration Testing Generally a combined approach known as sandwich testing using features of top down testing strategy for upper levels of the program structure ,coupled with the bottom up strategy for subordinate modules

Functional testing This is done for each module/sub module of the system. Functional testing serves as a means of validating weather the Functionality of the system confers the original user requirement i.e does the module do what it is supposed to do. Seperate schedules were made for functional testing . It involves preparation of bugs listing for non conformities. System Testing System testing is done when the entire system has been fully integrated. The purpose of the system testing is to test how the different modules interact with each other and whether the system provides the functionality that was expected. It consist of the following steps. Program Testing String Testing System Testing System Documentation User Acceptance Testing

Validations and verifications Testing Testing presents an interesting anomaly for the software engineer. During earlier software engineering activities, the engineer attempted to build software from an abstract concept to a tangible product. Now comes testing. The engineer creates a series of test cases that

are intended to demolish the software that has been built. In fact, testing is the one step in the software process that could be viewed (psychologically, at least) as destructive rather than constructive. Software engineers are by their nature constructive people. Testing requires that the developer discard preconceived notions of the correctness of software just developed and overcome a conflict of interest that occurs when errors are uncovered. If testing is conducted successfully (according to the objectives stated previously), it will uncover errors in the software. As a secondary benefit, testing demonstrates that software functions appear to be working according to specification, that behavioral and performance requirements appear to have been met. In addition, data collected as testing is conducted provide a good indication of software reliability and some indication of software quality as a whole. But testing cannot show the absence of errors and defects, it can show only that software errors and defects are present. It is important to keep this (rather gloomy) statement in mind as testing is being conducted.

Testing principles Before applying methods to design effective test cases, a software engineer must understand the basic principle that guide software testing: All tests should be traceable to customer requirements Tests should be planned long before testing begins

80 percent of all errors uncovered during testing will likely be traceable to 20 percent of all program components. The problem, of course, is to isolate these suspect components and to thoroughly test them. Testing should begin in the small and progress toward testing in the large. Exhaustive testing is not possible To be most effective testing should be conducted by an independent third party A rich variety of test case design methods have evolved for software. These methods provide the developer with a systematic approach to testing. More important, methods provide a mechanism that can help to ensure the completeness of tests and provide the highest likelihood for uncovering errors in software. Any engineered product (and most other things) can be tested in one of two ways: (1) Knowing the specified function that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational while at the same time

searching for errors in each function; (2) knowing the internal working of a product, tests can be conducted to ensure that all gears mesh, that is, internal operations are performed according to specifications and all internal components have been adequately exercised. The first test approach is called black-box testing and the second, white-box testing. White box testing

sometimes called glass-box testing is a test case design method that uses the control structure of the procedural design to derive test cases. Using white-box testing methods, the software engineer can derive test cases that (1) guarantee that all independent paths

within a module have been exercised at least once, (2) exercise all logical decisions on their true and false sides, (3) execute all loops at their boundaries and within their operational bounds, and (4) exercise internal data structures to ensure their validity. White-box testing of software is predicated on close examination of procedural details. Logical paths through the software are tested by providing test cases that exercise specific sets of conditions and/or loops. The status of the program may be examined at various points to determine if the expected or asserted status corresponds to the actual status. Basis path testing is a white-box testing technique first proposed by Tom McCabe. The basis path method enables the test case designer to derive a logical complexity measure of a procedural design and use this measure as a guide for defining a basis set of execution paths. Test cases derived to exercise the basis set are guaranteed to execute every statement in the program at least one time during testing.

Black-box testing

also called behavioral testing, focuses on the functional requirements of the software. That is, black-box testing enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. Black-box testing is not an alternative to white-box techniques. Rather, it is a complementary approach that is likely to uncover a different class of error than white-box methods. When computer software is considered, black-box testing alludes to tests that are conducted at the software interface. Although they are designed to uncover errors, black-box tests are used to demonstrate that software functions are operational, that input is properly accepted and output is correctly produced and that the integrity of external information is maintained. A black-box test examines some fundamental aspect of a system with a little regard for the internal logic. Structure of the software. Black-box testing attempts to find errors in the following categories: (1) incorrect or missing functions, (2) interface errors, (3) errors in data structures or external database

access, (4) behavior or performance errors, and (5) initialization and termination errors. By applying black-box techniques, we derive a set of test cases that satisfy the following criteria: (1) test cases that reduce, by a count that is greater than one, the number of additional test cases that must be designed to achieve reasonable testing and (2) 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. White-box testing should not, however, be dismissed as impractical. A limited number of important logical paths can be selected and exercised. Important data structures can be probed for validity. The attributes of both black and white box testing can be combined to provide an approach that validates the software interface and selectively ensures that the internal workings of the software are correct. VALIDATION CHECKS The major decisions of a validation stage are concerned with handling errors and distribution of data. The data relevant to the system enters it through a set of validation procedures. Often they are caused by a generalized input validation package tailored for the needs of a particular system. There are various ways of handling errors open to the designer which includes rejection of the item of input or processing the next item, writing error record and signaling the appropriate message to the user. Error procedures must be specified in detail showing decisions, actions and exceptions. In most of the cases where error occurs an error message is popped to the user who is supposed to realize the fact and do the necessary steps. The program developed is checked thoroughly for errors by testing it with data and the errors that are raised during this can be clarified. The program may halt during an unpredictable error.

TESTING (TESTINGTECHNIQUESANDTESTINGSTRATEGIES) AND IMPLEMENTATION

Unit testing of the modules is done so as to check that each of the modules works as they should be. Following is the module wise testing of this project: Test Case1 Login Form Valid User name and Password Input=Login Id, Password Output: Corresponding Form Show Implementation of Test Case: User Enters valid User name and Password (administrator, User).Login Values are mapped in database table to check login id and password is ok. If entry exit then Login process will be successful.

Test Case 2 Wrong user Id and Password: Input :Wrong Login Id and Password: Output: Error Message generated

Implementation of Test Case: User enters wrong user name and Password. Error message is shown only for 3 times after that it will exit from the current form by showing an aborting message.

Test Case 3 Date wise Received Messages Output: Displaying Received Message Details Implementation of Test Case: Message should be displayed date wise

Test case 4 Date Replied Messages Output: Displaying the Replied Messages Implementation of the Test case: Replying for the Messages Received

Test Case 5: From Output: Details of the Sender Implementation of Test case:

Viewing the details of the sender as well as the message of the sender

Test case 6: Reply Input: Enters the Message to be sent Output: Conformation of delivery Implementation of Test Case: User enters the Message to the sender.

Test Case 7: Interest Received Output: viewing the Interest Received Implementation of Test Case: Viewing the Interested Candidate profiles.

Test Case 8: Express Interest Input : Selecting or Typing the Message Output: The message is send to the Candidate Implementation of the Test Case: Sending a selected Message .

Test case 9: Ignore Input: Entering Comments Output: Conformation

Implementation of Test case: Comment to be send to the Candidate

Test case 10: View profile Output: Viewing the Candidate Profile Implementation of the Test Case: Viewing the Profiles of the Candidate.

Test Case 11: Forward Input: Input Your MailId, Receipient mailid and Message Output: Conformation Implementation of the Test Case: Forwarding the message as well as details to the Known Person.

Test Case 12: Interest Sent To Input: Reply for the Messages Received Output: Conformation Implementation of Test Case: Replying for the Messages Received

Test Case 13:

Auto Member Id generation

Input: Enter the details Output: Member Id generation

Implementation of Test Case:

User Enters the details depends upon that member Id will generated automatically

Test case 14: Free Scanning

Input: Enter the details Output: Free Scanning

Implementation of Test Case

User enters the details depends upon that free scanning is possible

Test Case 15:

Match watching

Input: Enters the details Output: Match Watching

Implementation of Test Case:

Users enters the details depends upon that Match watching can done.

Test Case 16: Forward Profile

Input: Enters the details Output: Forward Profile

Implementation of Test Case:

User enters the details and the user can forward the details

Test Case 17: Charge profile Status Input: Enters the details Output: charging the profile status

Implementation of Test case

User enters the details and charging the profile depends upon the scheme the use opted for.

DEPLOYMENT

Following activities will be performed for Deployment:

Secure the deliverable Prepare appropriate media, ensure correctness of version and check product integrity Check for virus, worms or any other element that could cause a damage Prepare Delivery Note, in case of final delivery Close Field Defects Get Acceptance Certificate from customer Get the Project Evaluation Form filled by the Customer

MAINTENANCE

AND SUPPORT

This phase provides the necessary software adjustment for the system to continue to comply with the original specifications. The quality assurance goal to develop a procedure for correcting errors and enhancing software. This procedure improves quality assurance by encouraging complete reporting and logging of problems, ensuring that reported problems are promptly forwarded to the appropriate group of resolution, and reducing redundant effort by making known problem reports available to any department that handles complaints

Bibliography

PHP Professional

PHP UNLEASED ------Stephan Walther

COMPLETE PHP ----------BPB Publication

BUILDING WEBSITE WITH PHP COMMUNITY -------Christian Darie & K.Scott Allen

You might also like