1.
1 HUMAN RESOURCE MANAGEMENT SYSTEM
To develop a software application that supports the application specific to the HR automation in an intranet specific to a company there by allowing the integration of all the employees pertaining to that organization. To
keep track of all the other departments related to that organization such as marketing, development etc.
To allow the HR of an organization to update the employee details whenever there is a change in the employee profile pertaining to that organization. To bring onto a string the employee specific suggestions and make them free to post their requirements to the HR thus bringing the organization more regarding the maintenance of the organization specific
CHAPTER-5 PROJECT DESCRIPTION AND DESIGN
5. 1 Software Description:
ASP.NET is a server- side technology for creating dynamic web pages and interactive web applications. It uses any full- fledged programming languages supported by .NET such as C#, VB.NET and Java. VB.NET is the programming language used for the implementation of this application.
ASP.NET is a library of classes designed to handle HTTP requests. In addition to a class library, it also includes several IIS components for managing requests such as the ISAPI DLL named aspnet_isapi.dll and a worker process named aspnet_wp.exe. These components are explained Figure 1.1. below and shown in
An ASP.NET page is an HTML page that contains server- side scripts that are processed by a web server before being sent to the users browser. It relies on a module attached to the web server. The ASP.NET module is aspnet_isapi.dll. ASP.NET installs new mappings in IIS, redirecting file requests for aspx, ascx and so on to aspnet_isapi.dll.From there aspnet_is api.dll directs the request to the aspnet_wp.exe.
ASP.NET runs as a process of its own, aspnet_wp.exe, unlike classic ASP which runs in the same memory space as the IIS. It simply uses IIS to receive requests and then to send out the responses. Therefore, the ASP.NET process can be created or destroyed without affecting IIS at all. This worker process manages the ASP.NET pipeline, the route through which requests flow within ASP.NET.
IIS 7.0 (inetinfo.exe)
Aspnet_filter.dll Asp.net Named Pipe Worker Process (aspnet_wp.exe) Web Application
Aspnet_isapi.dll
ASP.NET state service (aspnet_stat.exe)
Figure 1.Asp.net architecture with IIs 7.0
A Lightweight ISAPI filter, aspnet_filter.dll is used only to support cookieless session state for ASP.NET applications. This runs inside Inetinfo.exe. The ASP.NET state service, aspnet_state.exe is an optional Windows service used to store session state for ASP.NET applications [10]. It can run on the web server or on a remote machine. The architecture of the ASP.NET with IIS 5.0 in shown in Figure 1.1
ASP.NET takes an object- oriented programming approach to Web page execution. Every element in an ASP.NET page is treated as an object and run on the server. An ASP.NET page gets compiled into an intermediate language by a .NET Common Language Runtime-compliant compiler. Then a Just in Time (JIT) compiler turns the intermediate code to the native machine code, and that machine code is eventually run on the processor. Because the code is run straight from the processor, pages are loaded much faster than classic ASP pages, where embedded VBScript or JScript have to be continuously interpreted and cached.
SQL SERVER:
SQL is tool for organizing, managing, retrieving data stored by computer database. The name SQL is an abbreviation for Structured Query Language .As the name implies SQL is computer language that you use to interact with database.
Database: A database is a storage place for data. The user runs an application that accesses data from the database and presents it to the user in an understandable format.
Relational Database: There are different ways to organize data in a database but relational databases are one of the most effective. Relational database systems are an application of mathematical set theory to the problem of effectively organizing data. In a relational database, data is collected into tables (called relations in relational theory).
CHAPTER-7 IMPLEMENTATION AND TESTING
IMPLEMENTATION PHASE
The implementation is the final and important phase. It involves User training, system testing and successful running of the developed system. The
users test the developed system when changes are made according to the needs. The testing phase involves the testing of the developed system using various kinds of data. An elaborate testing of data is prepared and system is tested using the tests data.
Implementation is the stage where theoretical design turned into a working system. Implementation is planed carefully to propose system to avoid unanticipated problems. Many preparations involved before and during the implementation of proposed system. The system needed to be plugged in to the organizations network then it could be accessed from anywhere, after a user logins into the portal. The tasks that had to be done to implement the system were to create the database tables in the organization database domain. Then the administrator
was granted his role so that the system could be accessed.
TESTING
The testing phase involves the testing of the developed system using various kinds of data. An Elaborated testing of data is prepared by and a system is tested using the test data. While testing, errors are noted and corrections remade, the corrections are also noted for future use. Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Testing is the process of executing a program with the absence Present. System testing is a series of developed tests here primary purpose is to fully exercise the computer-based system. The testing begins at the middle level and works must accommodate low-level tests that validate the major system functions. Towards the integration of the entire computer based system. Testing and Debugging are different activities, but any testing strategy includes debugging strategy.
7.2.1 Purpose of Testing
To affirm the quality of a product To find and eliminate any residential errors
To find and eliminate any residential errors To validate the software as a solution to the original problem
7.2.2 Test Case Design
We must design test that have the highest possibility of finding the most errors with a minimum amount of time and effort. Any engineered product can be tested in one of the ways: Knowing the internal workings of a product, tests can be conducted to ensure that the internal operation of the product performs according to specifications and all internal components have been adequately exercised. Knowing the specified functions that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational. The first approach is called White Box Testing and second is Black Box Testing.
7.2.3 White box testing
White Box Testing is a test case designed method that uses the control structure of the procedure design to derive the cases. Using white box testing methods the software engineer can design to drive test cases. Using White Box Testing methods the software engineer can derive test cases that:
Guarantee that all independent paths within a module have been exercised at least once. Exercise all logical decision on their true and false sides. Execute all loops at their boundaries and within their operational bounds. Exercise internal data structures to ensure their validity. Thus White Box testing of software predicted on a close examination of their
procedural details.
7.2.4 Black box testing
Black Box Testing method focuses on the functional requirements of the software i.e., it enables the software engineer to derive sets of input condition that will fully exercise all functional requirements for a program. Black Box Testing is not an alternative to White Box Testing; rather it is a complementary approach that is likely uncovers different class of errors than White Box methods. Black Box Testing attempts to find errors in the following categories Incorrect or missing functions Interface errors Errors in data structures or external database access Performance errors, and Initialization and termination errors Although Black Box tests are designed to uncover errors, Black Box test are used to demonstrate that software functions are operational, that is input is properly
accepted and output is correctly produced that the integrity of external information is maintained.
7.3 Software Testing Strategies
A strategy for software testing integrates software test case design techniques into well-planned steps that result in the successful construction of software. Testing is done in 3 steps: Initially test focuses on each module individually, ensuring that it functions properly as a unit. Hence the name Unit Testing. Next module must be assembled or integrated to form the complete software package. Integration testing addresses the issues associated with the dual problems of verification and program construction. After integration testing, validation criteria of the system must be tested. Hence validation testing is performed in this step.
SYSTEM TESTING
Testing is a set of activities that can be planned in advance conducted and
systematically. The proposed system is tested in parallel with the
software that consists of its own phases of analysis, implementation, testing and maintenance. Following are the tests conducted on the system.
UNIT TESTING
Unit testing concentrate on each unit of software. It focuses verification effort on the smallest unit of software design. Unit Testing makes heavy use of White Box testing techniques, exercising specific paths in a module control structure to ensure
complete coverage and maximum error detection. It is the set of tests performed by an individual programmer prior to the integration of the unit into a large system. The unit testing is normally White Box oriented and the step can be conducted in parallel for multiple modules. The tested modules must be assembled to form the complete software package. Unit testing can be conducted from bottomup, starting with the lowest level modules and testing one at a time. When this is finished attention turns to those on the next level that use the lower level ones.
Project Aspects
According to the test plan for this system, each and every module that comprise has been unit tested and the errors unearthed were eradicated. This was done as exhaustively as possible to ensure complete coverage and maximum error detection.
MODULE TESTING
A module is composed of various programs related to that module. Module testing is done to check the module functionality and interaction between units within a module. It checks the functionality of each program with relation to other programs within the same module. It then tests the overall functionality of each module.
INTEGRATION TESTING
Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing.
The
objective is to take unit-tested module and build a program structure
that has been dictated by design. Extreme case of complexity results in nonincremental integration where each module is tested unit wise in isolation and then linked together. The main problem with this is the difficulty of isolating the source of errors. Black Box test case design techniques are most prevalent during integration, although a limited amount of White Box testing May used to ensure coverage of major control paths. In incremental integration, the program constructed and tested in small segments where errors are easier to isolate and correct and a systematic test approach may be applied.
Project Aspects
After connecting all the sub modules into whole module, the connections between the modules are correctly established. The back end and front end are working as a whole module and the data entered in the front end once submitted were successfully entered into the database. On request the data was successfully retrieved.
ACCEPTANCE TESTING
After performing the integration testing, the next steps should be the output testing of the developed system, because no system could be useful if it does not produce the required output in a specific format. The output generated by the developed system should be compared with the format required by the user. The format can be presented by using the screen or in the printed form.
Project Aspects
The entire project was tested and the output obtained was acceptable to the user Regression testing. Regression testing is the re-execution of some subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects. The systems have been subjected to regression testing a set of tests that has been executed to ensure that no undesired results are produced.
7.3.4 Validation Testing
In validation testing the requirements established as part of software requirement analysis are validated against the software that has been constructed. Validation succeeds when the software functions in a way in which the user expects. Software validation is achieved through a series of Black Box tests that demonstrate conformity with requirements. Once the application was made free of all logical and interface errors, inputting dummy data ensured that the software developed satisfied all the requirements of the user. Thus validation testing provides the final assurance that software meets all functional, behavioral and performance requirements