ONLINE CONTRACT MANAGEMENT TOOL


1.    INTRODUCTION

 

 1.1              PROJECT OVERVIEW

 

            According to a recent study IACCM [2] contracting often is a series of disconnected activities, rather than a process. This leads to poor visibility and metrics for the control. These common inefficiencies relate closely to access to information and to workflow. According to the IACCM study senior managers state that improvement would contribute to better risk management (69%) and reduced costs (89%). Some of the senior managers (23%) also believed that better contract management would lead to higher revenue

 

                              

 1.2               OBJECTIVE AND SCOPE OF THE PROJECT

 

 

           The Project entitled “CONTRACT MANAGEMENT Tool” is web based application. Here the demand for a process-view on contract management raised by management, compliance teams and auditors as well as raised by owners of the companies will be implemented. Implementation of Contract approval, tracking, storing and management needs to be shown to use audited workflow will be considered in the form of a cost-effective System.

 

 2.    SYSTEM ANALYSIS

 

 

2.1    PROBLEM STATEMENT

 

        Finding an idea for your engineering project requires you to identify the needs of yourself, another person, or a group of people. The act of looking at the world around you to identify these needs is called need finding.

To help you find an idea for your engineering project:

       Create a list of all the things that annoy or bother the people around you. Record this bug list in your Design Notebook. Mind Map possible design problems, ideas, or areas of interest to you.

Finding an Idea for Your Engineering Project:

        You know that you want to do an engineering design project, but how do you come up with an idea or find a problem to solve? How do you uncover a new problem that no one has tried to solve yet? Or how do you pick and choose, from all of the products, systems, and environments already out there, one that you might want to improve? This process of uncovering a problem, or identifying the need for change or improvement to an existing solution, is called need finding.

          One really great way to start the need-finding process is to make a "bug list." Think about all of the things that bug you or bug other people around you. Write them down. They may seem like small and silly problems, but they can spark ideas for a project or lead to larger problems that you may not have noticed otherwise.

Here are some examples of things you might find on someone's bug list:

Uncomfortable airplane seats

When one light on a string of Christmas lights goes out

How quickly chewing gum loses flavor

Moving (packing boxes, cleaning, unpacking, etc.)

Public restrooms without toilet paper.

Long lines at amusement parks.

When food gets stuck in vending machines.

Dog or cat hair that gets stuck on clothing.

Sharing armrests with strangers at the movies.

          Challenge yourself to come up with as many bugs as you can. They don't all have to be things that bother you; think about other people and the problems that they face as well. You will be surprised at the number of bugs you can identify in the world around you. Start this list in your design notebook, and spend a few days recording your ideas.

       Notice that there are two different types of potential project ideas that you have come up with on your bug list. First, there are the unsolved problems that don't currently have a solution. Second, there are poorly solved problems that have solutions, but the solutions are not entirely successful.

 

Unsolved Problems:

         One problem identified in the bug list above is the issue of food getting stuck in a vending machine. There is currently no solution for this problem. If you put your money in the machine, select the food that you want, and then, the food gets stuck before it can drop to where you can reach it—you are out of luck. You might try shaking or kicking the machine, but those are not designed solutions to the problem. In cases of unsolved problems, your engineering project would be to attempt to solve the problem. For this example, possible project ideas might be to design a product that can be used to remove stuck foods from vending machines or a new vending machine that makes it impossible for food to get stuck.

 

Poorly Solved Problems

            An example of a poorly solved problem from the bug list above is the issue of cat or dog hair getting stuck on clothing. There is currently a solution to this problem—the lint brush. However, many people still complain about annoying pet hair on their clothes. Clearly, the lint brush is not the perfect solution. In cases of poorly solved problems, your engineering project would be to improve the existing solution or to replace the existing solution with something more successful. For the pet hair example, possible project ideas might be to make the lint brush more effective at removing hair from clothing or to design something better than the lint brush for the same purpose.

      Whether you want to choose an unsolved problem or a poorly solved problem for your engineering project, there are plenty of problems out there! Keep in mind that the problems already exist; you just need to identify them and their users. Also, doing an engineering design project doesn't always mean inventing something brand new—it often involves bettering the projects of those before you.

 

 

 

Defining the Problem

 

        Engineers solve problems by creating new products, systems, or environments. Before creating something, it is very important to define the problem. Otherwise, you might build something only to find that it does not meet the original goal!

 

 

2.2   EXISTING SYSTEM AND LIMITATIONS

 

             The study of Existing System is important before thinking of proposed system. At present in Briefcase area working on manually, we encounter some problems, like search file and Fielders, etc. The “on-line Briefcase” by manual is more tedious to get the right and relevant information about Files and also to maintain the Folders.

 

    

LIMITATIONS OF THE EXISTING SYSTEM

 

·         Time Delay

·         Redundancy

·         Accuracy

·         Information Retrieval

·         Storage Media

·         Reports

·         Enquiry

 

 

 

2.3    PROPOSED SYSTEM

 

            The proposed system Implements all the earlier said steps in to different modules and integrates the as a fully fledged system . So that each and every activity is so meticulously  designed  to take care of each activity in conjunction with other. So that overall management becomes very easy and quick.

 

Advantages:

 

·         User will have the complete control over the data and appropriate

·         Proper control of the higher officials.

·         High data security

·         Ensure data accuracy’s.

·          Efficient flow of data.

 

 

  2.4   FEASIBILITY STUDY

    

            This project are feasible if we give uncontrolled resources and time but a project is said to be feasible if it produces estimated results at the earliest possible time with enough resources.

           A feasibility study is a high level capsule version of the system analysis and design process. Its objective is to determine quickly and at a minimum possible expense if the problem can be solved

 

      The thereof feasibility that are carried out are

·         Technical Feasibility

·         Operational Feasibility

·         Economic Feasibility

 

 

2.4.1    Technical Feasibility

 

          Evaluating the technical feasibility is the trickiest part of a feasibility study. This is because at this point in time, not too many-detailed design of the system are present, making it difficult to access issues like performance, costs on (on account of the kind of technology to be deployed) etc. A number of issues have to be considered while doing a technical analysis.

 

      Understand the different technologies involved in the proposed   system before commencing the project, we have to be very clear about what are the technologies that are to be required for the development of the new system.

      Find out whether the organization currently possesses the required technologies:

       Is the required technology available with the organization? If so is the capacity sufficient?

For instance:

    “Will the current printer be able to handle the new reports and forms required for the new system?”

 

2.4.2    Operational Feasibility

 

 

          Proposed projects are beneficial only if they can be turned into information systems that will meet the organizations operating requirements. Simply stated, this test of feasibility asks if the system will work when it is developed and installed. Are there major barriers to Implementation? Here are questions that will help test the operational

 

Feasibility of a project:

                

                    Is there sufficient support for the project from management from users? If

The current system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.

                  

 

                            Are the current business methods acceptable to the user? If they are not,

Users may welcome a change that will bring about a more operational and useful systems.

                  Have the user been involved in the planning and development of the project?

Early involvement reduces the chances of resistance to the system and in general and increases the likelihood of successful project.

        Since the proposed system was to help reduce the hardships encountered in the existing manual system, the new system was considered to be operational feasible.                        

    

2.4.3   Economical feasibility

 

 

        Economic feasibility attempts 2 weigh the costs of developing and implementing a new system, against the benefits that would accrue from having the new system in place. This feasibility study gives the top management the economic justification for the new system.

    

       A simple economic analysis which gives the actual comparison of costs and benefits are much more meaningful in this case. In addition, this proves to be a useful point of reference to compare actual costs as the project progresses. There could be various types of intangible benefits on account of automation. These could include increased customer satisfaction, improvement in product quality better decision making timeliness of information, expediting activities, improved accuracy of operations, better documentation and record keeping, faster retrieval of information, better employee morale.

 

 3.    SYSTEM  SPECIFICATION

 

 

   3.1    HARDWARE   REQUIRMENTS

 

                  System                              :  Pentium IV 2.4 GHz

                  Hard Disk                         :   40 GB

                  CD-Drive                          :   CDD

                  Monitor                             :   15 VGA colour

                  Mouse                               :  Logitech.

                  RAM                                 :   256 MB

 

 

3.2    SOFTWARE     REQUIMENTS

 

             Operating system       :   Windows XP Professional

             Front End                   :   Asp.Net 2.0.

             Coding Language      :   Visual C# .Net

             Back-End                   :   Sql Server 2000

 

 3.3   BRIEF OVERVIEW OF SOFTWARE TOOLS

 

Introduction to ASP.NET

 

             ASP.NET is more than the next version of Active Server Pages (ASP); it is a unified Web development platform that provides the services necessary for developers to build enterprise-class Web applications. While ASP.NET is largely syntax compatible with ASP, it also provides a new programming model and infrastructure for more secure, scalable, and stable applications. You can feel free to augment your existing ASP applications by incrementally adding ASP.NET functionality to them.

        ASP.NET is a compiled,. NET-based environment; you can author applications in any .NET compatible language, including Visual Basic .NET, C#, and Script .NET. Additionally, the entire .NET Framework is available to any ASP.NET application. Developers can easily access the benefits of these technologies, which include the managed common language runtime environment, type safety, inheritance, and so on.

        ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and other programming tools, including Microsoft Visual Studio .NET. Not only does this make Web development easier, but it also provides all the benefits that these tools have to offer, including a GUI that developers can use to drop server controls onto a Web page and fully integrated debugging support.

      Developers can choose from the following two features when creating an ASP.NET application, Web Forms and Web services, or combine these in any way they see fit. Each is supported by the same infrastructure that allows you to use authentication schemes; cache frequently used data, or customizes your application's configuration, to name only a few possibilities.

        Web Forms allows you to build powerful forms-based Web pages. When building these pages, you can use ASP.NET server controls to create common UI elements, and program them for common tasks. These controls allow you to rapidly build a Web Form out of reusable built-in or custom components, simplifying the code of a page. For more information, see Web Forms Pages. For information on how to develop ASP.NET server controls, see Developing ASP.NET Server Controls

        An XML Web service provides the means to access server functionality remotely. Using Web services, businesses can expose programmatic interfaces to their data or business logic, which in turn can be obtained and manipulated by client and server applications. XML Web services enable the exchange of data in client-server or server-server scenarios, using standards like HTTP and XML messaging to move data across firewalls. XML Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access XML Web services. For more information, see XML Web Services and XML Web Service Clients Created Using ASP.NET

                 Each of these models can take full advantage of all ASP.NET features, as well as the power of the .NET Framework and .NET Framework common language runtime.

 These features and how you can use them are outlined as follows.

 

 The .NET Framework

             .NET is a software framework that includes everything required for developing software for web services. It integrates presentation technologies, component technologies and data technologies on a single platform so as to enable users to develop Internet applications as easily as they do on desktop systems. The NET is a multi-language environment for building, deploying and running XML web services and applications. Intermediate Language (IL) allows for true cross language integration.  

.NET Framework consists of three distinct technologies such as

·         Common Language Runtime (CLR)

·         Framework Base Classes

·         User and program interfaces (ASP.NET and Windows forms) 

 

 

Principal design features

 

Interoperability

      Because interaction between new and older applications is commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature.

 

Common Language Runtime

      Common Language Runtime (CLR) is a runtime environment in which programs written in C# and other .NET languages are executed. It also supports cross-languages interoperability.

 

 

The CLR provides a number of services that include

 

·         Loading and execution of programs.

·         Memory isolation for applications.

·         Verification of type safety.

·         Compilation of IL into native executable code.

·         Memory management (automatic garbage 

·         Collection).

·         Interoperability with other systems.

·         Managing exceptions and errors.

·         Support for tasks such as debugging and

·         Profiling.

 

Common Type System (CTS)

 

           The .NET framework provides multiple language support using the feature known as Common Type System that is built into the CLR. The CTS supports a variety of types and operations found in most programming languages and therefore calling one language from another does not require type conversions. C# language is specially designed for the .NET platform, but we can build .NET programs in a number of other languages including C++ and Visual Basic.

 

Common Language Specification (CLS)

             The Common Language Specification defines a set of rules that enables interoperability on the .NET platform. These rules serve as a guide to third-party compiler designers and library builders. The CLS is a subset of CTS and therefore the language supporting the CLS can use each other’s class libraries as if they are their own.

 

 

Microsoft Intermediate Language (MSIL)

         MSIL or simply IL is an instruction set into which all the .NET programs are compiled. It is similar to assembly language and contains instructions for loading, storing, initializing and calling methods. When we compile a C# or any program written in a CLS-compliant language, the source code is compiled into MSIL.

 

Framework Base Classes

         .NET supplies a library of base classes that we can use to implement applications quickly. Much of the functionality in the base framework classes resides in the vast namespace called System. We can use the base classes in the System namespace for many different tasks including

 

·         Input/output Operations                          

·         String handling

·         Managing arrays, lists, maps, etc.

·         Accessing files and file systems

·         Security

·         Windowing

·         Database management

·         Evaluation of mathematical functions

·         Drawing

·         Managing errors and exceptions

·         Connecting to the Internet

 

Simplified Deployment 

                Installation of computer software must be carefully managed to ensure that it does not interfere with previously installed software that it conforms to security requirements. The .NET framework includes design features and tools that help address these requirements.

Security

         The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications.

Portability 

            The design of the .NET Framework allows it to theoretically be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft's commercial implementations of the framework cover Windows, Windows CE, and the Xbox 360.  In addition, Microsoft submits the specifications for the Common Language Infrastructure (which includes the core class libraries, CommonType System, and the Common Intermediate Language), the C# language, and the C++/CLI language to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.

 

ABOUT SQL SERVER

 

           Microsoft SQL Server is an application used to create computer databases for the Microsoft Windows Family of server operating System. It provides an environment used to generate databases that can be accessed from workstations, the web, or other media such as personal digital assistant (PDA). 

           Microsoft SQL Server is probably the most accessible & the most documented enterprise database environment right now. This also means that you can learn it a little quicker than most other databases environments on the market.

SQL Server is a Relational Database Management system. It is the product of Microsoft. The version of SQL used by SQL Server is called Transact-SQL.

          SQL Server is one such RDBMS that Support the client server architecture. It receives request from the clients for data and returns the result of the processed query. Many client software are available that are supported by SQL- Server. Transact-SQL is one such client that could be used only with SQL Server. All the SQL statements are submitted to the Transact-SQL which on receiving them passes it on to the SQL server. It also receives.

 

                

FEATURES OF SQL-SERVER

 

·         Adding objects to the database

·         New administrative options like moving tables between table  

·         Spaces.

·         Many new DBMS packages.

·         COPY  option

·         Smart SQL loader options

  

4. SYSTEM DESIGN

 

Introduction

   

              Design in the first step in the development phase for any engineering products or system it may be defined as the process of applying various technique and principle for the purpose of defining a device process or a system in sufficient detail to permit its physical realization. When designing the system the points taken care are identify the data to be stored identify the reports to be generated. The potential objects are thoroughly analyzed class hierarchies and identified to check the system a behaving the way it has to there after the classes are individually tested and subsequently they are integrated to form the overall system the different phases are:

 

1.      Input design:  The screen in this project are designed using the VB.Net

 

2.      Output design: The output design include providing various user friendly views and reports this are involves reports based on the user requirements

 

   3. Database design: Database design is a process of creation of database. Proper    database design is absolutely vital to the success of the database and any application using the database. Without designing correctly, the following problems can be introduced into the database. Data becomes redundant and a large burden is placed on the individual applications to keep the data in synchronization.

 

4.1.2    Use Case Diagram

 

              A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. The use case is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal. It consists of a group of elements (for example, classes and interfaces) that can be used together in a way that will have an effect larger than the sum of the separate elements combined. The use case should contain all system activities that have significance to the users. A use case can be thought of as a collection of possible scenarios related to a particular goal, indeed, the use case and goal are sometimes considered to be synonymous.

 

Use Cases      

         A use case defines a goal-oriented set of interactions between external actors and the system under consideration. Actors are parties outside the system that interact with the system (UML 1999, pp. 2.113- 2.123). An actor may be a class of users, roles users can play, or other systems. Cockburn (1997) distinguishes between primary and secondary actors. A primary actor is one having a goal requiring the assistance of the system. A secondary actor is one from which the system needs assistance.

           A use case is initiated by a user with a particular goal in mind, and completes successfully when that goal is satisfied. It describes the sequence of interactions between actors and the system necessary to deliver the service that satisfies the goal. It also includes possible variants of this sequence, e.g., alternative sequences that may also satisfy the goal, as well as sequences that may lead to failure to complete the service because of exceptional behavior, error handling, etc. The system is treated as a "black box", and the interactions with system, including system responses, are as perceived from outside the system.

         Thus, use cases capture who (actor) does what (interaction) with the system, for what purpose (goal), without dealing with system internals. A complete set of use cases specifies all the different ways to use the system, and therefore defines all behavior required of the system, bounding the scope of the system.

         Generally, use case steps are written in an easy-to-understand structured narrative using the vocabulary of the domain. This is engaging for users who can easily follow and validate the use cases, and the accessibility encourages users to be actively involved in defining the requirements.

 

Scenarios

          A scenario is an instance of a use case, and represents a single path through the use case. Thus, one may construct a scenario for the main flow through the use case, and other scenarios for each possible variation of flow through the use case (e.g., triggered by options, error conditions, security breaches, etc.). Scenarios may be depicted using sequence diagrams.

 

Role of Use Cases in Architecting

        See the "Functional Requirements and Use Cases" white paper by Ruth Malan and Dana Bredemeyer, for the role of use cases in the architecting process. This paper also contains an updated version of Derek Coleman's use case template (Coleman, 1998) and a full use case bibliography.

 6. PSEUDOCODE

 

 

Login Form Code

 

    protected void btnLogin_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(Database.ConnectionString);

        try

        {

            con.Open();

            SqlCommand cmd = new SqlCommand("select fullname from users where uname = '" + txtUname.Text + "' and pwd = '" + txtPwd.Text + "'", con);

            Object rv = cmd.ExecuteScalar();

            if (rv == null)

                lblMsg.Text = "Sorry! Invalid Login. Please Try Again!";

            else

            {

                Session.Add("uname", txtUname.Text);

                Session.Add("fullname", rv.ToString());

                FormsAuthentication.RedirectFromLoginPage(txtUname.Text, false);

            }

 

        }

        catch (Exception ex)

        {

            lblMsg.Text = "Error : " + ex.Message;

        }

        finally

        {

            con.Close();

        }

    }


Client  Code

 

 

           

            protected void btnAdd_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(Database.ConnectionString);

        try

        {

            con.Open();

            SqlCommand cmd = new SqlCommand("select  isnull(max(clientid),0) + 1 from clients",con);

            int clientid = (int) cmd.ExecuteScalar();

            cmd = new SqlCommand("insert into clients values(@clientid,@name,@location,@email,@weburl)", con);

 

            cmd.Parameters.Add("@clientid", SqlDbType.Int).Value = clientid;

            cmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value = txtName.Text;

            cmd.Parameters.Add("@location", SqlDbType.VarChar, 30).Value = txtLocation.Text;

            cmd.Parameters.Add("@email", SqlDbType.VarChar, 50).Value = txtEmail.Text;

            cmd.Parameters.Add("@weburl", SqlDbType.VarChar, 30).Value = txtUrl.Text;

 

            cmd.ExecuteNonQuery();

            lblMsg.Text = "Client Added Successfully. Client Id = " + clientid;

        }

        catch (Exception ex)

        {

            lblMsg.Text = "Error : " + ex.Message;

        }

        finally

        {

            con.Close();

        }

 

 

    }

 

 

 

Contract   Code

 

            protected void btnAdd_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(Database.ConnectionString);

        try

        {

            con.Open();

            SqlCommand cmd = new SqlCommand("select  isnull(max(contrid),0) + 1 from contracts", con);

            int contrid = (int)cmd.ExecuteScalar();

            cmd = new SqlCommand("insert into contracts values(@contrid,@clientid,@candid,@location,@jobdesc,@stdate,@enddate,@hrate,@candper)", con);

            cmd.Parameters.Add("@contrid", SqlDbType.Int).Value = contrid;

            cmd.Parameters.Add("@clientid", SqlDbType.Int).Value = ddlClient.SelectedItem.Value;

            cmd.Parameters.Add("@candid", SqlDbType.Int).Value = ddlCandidate.SelectedItem.Value;

            cmd.Parameters.Add("@location", SqlDbType.VarChar, 30).Value = txtLocation.Text;

            cmd.Parameters.Add("@jobdesc", SqlDbType.VarChar, 100).Value = txtJob.Text;

            cmd.Parameters.Add("@stdate", SqlDbType.DateTime).Value = txtStdate.Text;

            cmd.Parameters.Add("@enddate", SqlDbType.DateTime).Value = txtEnddate.Text;

            cmd.Parameters.Add("@hrate", SqlDbType.Int).Value = txtHrate.Text;

            cmd.Parameters.Add("@candper", SqlDbType.Int).Value = txtCandper.Text;

            cmd.ExecuteNonQuery();

            lblMsg.Text = "Contract Added Successfully. Contract  Id = " + contrid;

        }

        catch (Exception ex)

        {

            lblMsg.Text = "Error : " + ex.Message;

        }

        finally

        {

            con.Close();

   }

              

7.  TESTING AND IMPLIEMENTATION

 

           Testing is a process to show the correctness of the program. Testing is needed to show completeness, to improve the quality of the software and to provide the maintenance aid. Some testing standards are therefore necessary reduce the testing costs and operation time. Testing software extends throughout the coding phase and it represents the ultimate review of configurations, design and coding. Based on the way the software reacts to these testing, we can decide whether the configuration that has been built is study or not. All components of an application are tested, as the failure to do so many results in a series of bugs after the software is put to use.

 

 Black box Testing

            Black box testing also called behavioral testing, focuses on the functional requirements of software. This testing approach enables the software engineer to derive the input conditions that will fully exercise all requirements for a program. Black box testing attempts to find the errors like

·         Incorrect or missing functions

·         Interface errors

·         Errors in data structures or external database access

·         Behavior or performance errors

·         Initialization and termination errors

·         In Black box testing software is exercised over a full range of inputs and outputs are observed for correctness.

 

White box Testing

 

                  White box testing is also called Glass box testing is a test case design control; structure of the procedural design to derive test cases using White box testing method, the software engineer can derive the test cases that guarantee that all independent paths within the module have been exercised at least once. Exercise all logic decisions on their true or false sides. Execute all loops at their boundaries and within their operational bounds. Exercise internal data structure to ensure their validity.

·         Software Testing Strategies

·         Testing involves

·         Unit testing

·         Integration testing

·         Acceptance testing

            The first level of test is unit testing. The purpose of unit testing is to ensure that each program is fully tested.

            The second step is integration testing. In this individual program units or programs are integrated and tested as a complete system to ensure that the software requirements are met.

            Acceptance Testing involves planning and the execution of various types of tests in order to demonstrate that the implemented software system satisfies the requirements. Finally our project meets the requirements after going through all the levels of testing.

System Development Life Cycle (SDLC) Model

This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall Method. This model has the following activities.

1.   System/Information Engineering and Modeling

                        As software is always of a large system (or business), work begins by establishingthe requirements for all system elements and then allocating some subset of theserequirements to software. This system view is essential when the software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system.

2.    Software Requirement Analysis

       This process is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, target dates etc.... The requirement gathering process is intensified and focussed specially on software. To understand the nature of the program(s) to be built, the system engineer or "Analyst" must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved .

3.   System Analysis and Design

     In this phase, the software development process, the software's overall structure and its nuances are defined. In terms of the client/server technology, the number of tiers needed for the package architecture, the database design, the data structure design etc... are all defined in this phase. A software development model is thus created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase.

4. Code Generation

      The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like compilers, interpreters, debuggers etc... are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.

5.Testing

      Once the code is generated, the software program testing begins. Different testing methodologies are available to unravel the bugs that were committed during the previous phases. Different testing tools and methodologies are already available. Some companies build their own testing tools that are tailor made for their own development operations.

6.Maintenance

           The software will definitely undergo change once it is delivered to the customer. There can be many reasons for this change to occur. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.

B.   Prototyping Model

       This is a cyclic version of the linear model. In this model, once the requirement analysis is done and the design for a prototype is made, the development process gets started. Once the prototype is created, it is given to the customer for evaluation. The customer tests the package and gives his/her feed back to the developer who refines the product according to the customer's exact expectation. After a finite number of iterations, the final software package is given to the customer. In this methodology, the software is evolved as a result of periodic shuttling of information between the customer and developer. This is the most popular development model in the contemporary IT industry. Most of the successful software products have been developed using this model - as it is very difficult (even for a whiz kid!) to comprehend all the requirements of a customer in one shot. There are many variations of this model skewed with respect to the project management styles of the companies. New versions of a software product evolve as a result of prototyping.

C.   Rapid Application Development (RAD) Model

      The RAD model is a linear sequential software development process that emphasizes an extremely short development cycle. The RAD model is a "high speed" adaptation of the linear sequential model in which rapid development is achieved by using a component-based construction approach. Used primarily for information systems applications, the RAD approach encompasses the following phases:

1.   Business modeling

    The information flow among business functions is modeled in a way that answers the following questions:

What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it?

2.   Data modeling

       The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business. The characteristic (called attributes) of each object is identified and the relationships between these objects are defined.

3.   Process modeling

         The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing the descriptions are created for adding, modifying, deleting, or retrieving a data object.

4.   Application generation

      The RAD model assumes the use of the RAD tools like VB, VC++, Delphi etc... rather than creating software using conventional third generation programming languages. The RAD model works to reuse existing program components (when possible) or create reusable components (when necessary). In all cases, automated tools are used to facilitate construction of the software.

5.   Testing and turnover

         Since the RAD process emphasizes reuse, many of the program components have already been tested. This minimizes the testing and development time.

D.    Component Assembly Model

              Object technologies provide the technical framework for a component-based process model for software engineering. The object oriented paradigm emphasizes the creation of classes that encapsulate both data and the algorithm that are used to manipulate the data. If properly designed and implemented, object oriented classes are reusable across different applications and computer based system architectures. Component Assembly Model leads to software reusability. The integration/assembly of the already existing software components accelerate the development process. Nowadays many component libraries are available on the Internet. If the right components are chosen, the integration aspect is made much simpler.

        Risk Management:

      This section provides an introduction to the principles of risk management. The vocabulary of risk management is defined in ISO Guide 73, "Risk management. Vocabulary."

     In ideal risk management, a prioritization process is followed whereby the risks with the greatest loss and the greatest probability of occurring are handled first, and risks with lower probability of occurrence and lower loss are handled in descending order. In practice the process can be very difficult, and balancing between risks with a high probability of occurrence but lower loss versus a risk with high loss but lower probability of occurrence can often be mishandled.

       Intangible risk management identifies a new type of a risk that has a 100% probability of occurring but is ignored by the organization due to a lack of identification ability. For example, when deficient knowledge is applied to a situation, a knowledge risk materializes. Relationship risk appears when ineffective collaboration occurs. Process-engagement risk may be an issue when ineffective operational procedures are applied. These risks directly reduce the productivity of knowledge workers, decrease cost effectiveness, profitability, service, quality, reputation, brand value, and earnings quality. Intangible risk management allows risk management to create immediate value from the identification and reduction of risks that reduce productivity.

       Risk management also faces difficulties in allocating resources. This is the idea of opportunity cost. Resources spent on risk management could have been spent on more profitable activities. Again, ideal risk management minimizes spending and minimizes the negative effects of risks.

     For the most part, these methods consist of the following elements, performed, more or less, in the following order.

  1. identify, characterize, and assess threats
  2. assess the vulnerability of critical assets to specific threats
  3. determine the risk (i.e. the expected consequences of specific types of attacks on specific assets)
  4. identify ways to reduce those risks
  5. prioritize risk reduction measures based on a strategy

     The chosen method of identifying risks may depend on culture, industry practice and compliance. The identification methods are formed by templates or the development of templates for identifying source, problem or event. Common risk identification methods are:

  • Objectives-based risk identification   Organizations and project teams have objectives. Any event that may endanger achieving an objective partly or completely is identified as risk.
  • Scenario-based risk identification   In scenario analysis different scenarios are created. The scenarios may be the alternative ways to achieve an objective, or an analysis of the interaction of forces in, for example, a market or battle. Any event that triggers an undesired scenario alternative is identified as risk - see Futures Studies for methodology used by Futurists.
  • Taxonomy-based risk identification The taxonomy in taxonomy-based risk identification is a breakdown of possible risk sources. Based on the taxonomy and knowledge of best practices, a questionnaire is compiled. The answers to the questions reveal risks.[5]
  • Common-risk checking  In several industries, lists with known risks are available. Each risk in the list can be checked for application to a particular situation.[6]
  • Risk charting This method combines the above approaches by listing resources at risk, Threats to those resources Modifying Factors which may increase or decrease the risk and Consequences it is wished to avoid. Creating a matrix under          these headings enables a variety of approaches. One can begin with resources and consider the threats they are exposed to and the consequences of each. Alternatively one can start with the threats and examine which resources they would affect, or one can begin with the consequences and determine which combination of threats and resources would be involved to bring them about.

 

                                     

FUTURE ENHANCEMENT

 

       This project is having a broad future scope as it can extend. This developed system has to good extend succeeded in rectifying the problems that are present in the manual system. The newly developed system consumes less processing time and reduces the manual work.

       The goals have been achieved by the development of this project are:

It simplifies the operation.

The less Processing time increase the productivity.

Avoids errors by minimizing human intervention.

User friendly screens to enter the data and require the data.

Help message to operate the system.

Reduce more manpower requirements.

Reduce processing time.

Reduce use of stationary

 

8. CONCLUSION

 

 

              This software is developed to overcome the problems in the present system. This software is a more user friendly. No need to visit company to company for job. Sitting in a single place we search number of companies and we can get the interviews by this we can save the time and money. It is successfully working integrated with the consents workflow product.

 


9.  BIBLIOGRAPHY

 

 

1. Microsoft visual Basic.NET                         

                                 By: Michael Halvorson

    Step by Step                                          

                                 Publisher: Microsoft Press

 

2. Microsoft visual Basic.NET        

                By: Michael Halvorson

    Deluxe learning Edition                         

                                  Publisher: Microsoft Press

 

3. Learning VB.NET (2nd Edition)  

               By: Richards Blair et al                                                                 

                                  Publisher: Wrox Press

 

4. Microsoft SQL Server                

               By: Robert Vieira

 

Web Sites:

  

   www.google.com

   www.yahoo.com

 

Comments

Popular posts from this blog

Chemical test for Tragacanth

Chemical test for Benzoin

Chemical test for Agar/Agar-Agar / Japaneese Isinglass