STORE DOCUMENTS IN ONLINE BRIEFCASE

 

1.    INTRODUCTION

 

 

1.1   PROJECT OVER VIEW

 

 

         Web sites often store files directly in some folder of the file system. However, this may not be the most suitable way in all scenarios. Many of you might have used Yahoo Briefcase. It allows you to store any file on the server so that you can access it from anywhere. If you wish to provide such a facility in your web site then file system based storage and retrieval is tedious. Enforcing security and managing storage space quota becomes difficult. More elegant solution can be developed by storing files in database

 

1.2   OBJECTIVE AND SCOPE OF THE PROJECT

 

        This way you have full control on who is storing and retrieving files, storage space and usage statistics. In this two part article we are going to develop a web based briefcase application using ASP.NET3.5 and SQL Server 2005. In this part we kickoff by creating database tables, stored procedures and classes to manage files and foldersBack-end

  

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:

 

      Public restrooms without toilet paper 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

·         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. Foe 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 problems

 

    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 ITS LIMITATION

 

                  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.

    

LIMITATION OF EXISTING SYSTEM

   

 (1)  Time Delay: Information related to all transactions is stored in different registers. Since all the transactions are stored in different registers it takes lot of time to prepare different reports.

     (2) Redundancy: As the information passes through different   registers, each register is consolidated and sent to next register. So the same information is being tabulated at each register, which involves lot of complication and duplication in work, thus it causes redundancy.

     (3) Accuracy: Since the same data is compiled at different sections, the Possibility of tabulating data wrongly increases. Also if the data is more, Validations become difficult. This may result in loss of accuracy of data.

    (4) Information Retrieval: As the information is stored in the particular Format, it can only be retrieved in the same format. But if it is to be retrieve in different format, it is not possible.

   (5) Storage Media: In the existing system, data transaction being stored on too long registers it is very difficult to refer after some time.

    (6) Reports: At the various reports are tabulated manually.  They are not such Attractive and require more time.

    (7) Enquiry: Enquiry for different level of information is much more difficult. On line enquiry of data is not possible.

 

 

2.3   PROPOSED SYSTEM


       The aim of proposed system is to develop a system of improved facilities. In this System the features are security, Files, and Folder management.

 The Advancing computer technology has more features, which gives a lot of advance facilities.

       In computer application “on-line Briefcase” is used to maintain the Files and Folder Details.

 

      Features of Proposed System

·         User will have the complete control over the data and appropriate    validations to be carried out.

·         User friendly messages are given when necessary

 

      Advantages of Proposed System

      The system is very simple in design and to implement. The system requires very low system resources and the system will work in almost all configurations. It has got following features

 

·         Ensure data accuracy’s.

·         Efficient flow of data.

·         Proper control of the higher officials.

·         Less time consumption

·         Reduced work load

·         Displacement of pen and paper

·         Reduced manpower

 

 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 REQUIREMENTS

 

      CPU             :       Pentium IV   

     Total Ram     :        128 MB

     Hard Dis       :         40 GB

     Keyboard      :        105 Keys

     Mouse           :        Standard Mouse

     Display          :        Sgva Color

     Printer           :        Desk Jet

 

3.2  SOFTWARE REQUIRMENTS

 

 

     Front end               :           Asp.Net

     Back End              :           Sql Server

     Operating System   :           Windows Xp

 

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 JScript .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 run time (CLR)

·         Framework  Base Classes

·         User and Program  interface (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)

    rests some of the vulnerabilities, such as buffer overflows, that have   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 help address these requirements. That

Security

         The design is meant to add 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, Common type 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 platform

 

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

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 tables   Spaces.

·         Many new DBMS packages.

·         COPY option

 

4. SYSTEM DESIGN

 

 

4.1   OBJECT ORIENTED ANALYSIS AND DESIGN

 

    

              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.

 

6. PSEUDO CODE

 

 

 

Login Form Code

 

public partial class Login1 : System.Web.UI.Page

{

    SqlConnection con = new SqlConnection("data source =.;initial catalog=Briefcase;integrated security=true");

 

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

    protected void Button1_Click(object sender, EventArgs e)

    {

        con.Open();

        SqlDataAdapter adp = new SqlDataAdapter("select count (uname) from login  where uname='" + TextBox1.Text + "'and password='" + TextBox2.Text + "'", con);

        DataTable d = new DataTable();

        adp.Fill(d);

        int i;

        i = int.Parse(d.Rows[0][0].ToString());

        if (i == 1)

        {

            Response.Redirect("default3.aspx");

 

 

        }

        else

        {

            Label1.Visible = true;

            Label1.Text = "invalid username or password";

        }

        con.Close();

    }

}

 


CODING FOR FILE AND FOLDER

 

         

    

    

         

     public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            FillFolderTree(null);

        }

    }

 

    private void BindGrid()

    {

        DataTable files = Files.GetFilesFromFolder(int.Parse(TreeView1.SelectedNode.Value.ToString()));

        GridView1.DataSource = files;

        GridView1.DataBind();

    }

 

    private void FillFolderTree(TreeNode parent)

    {

        int parentfolderid = 0;

        if (parent != null)

        {

            parentfolderid = int.Parse(parent.Value.ToString());

        }

 

        DataTable folders = Folders.GetSubFolders(parentfolderid);

 

        if (parent != null)

        {

            parent.ChildNodes.Clear();

        }

        else

        {

            TreeView1.Nodes.Clear();

        }

 

        foreach (DataRow folder in folders.Rows)

        {

            TreeNode node = new TreeNode();

            node.Text = folder["FolderName"].ToString();

            node.Value = folder["Id"].ToString();

            if (parent == null)

            {

                TreeView1.Nodes.Add(node);

            }

            else

            {

                parent.ChildNodes.Add(node);

            }

        }

        if (TreeView1.SelectedNode != null)

        {

            TreeView1.SelectedNode.Expand();

        }

    }

 

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)

    {

        FillFolderTree(TreeView1.SelectedNode);

        TextBox2.Text = TreeView1.SelectedNode.Text;

        Label10.Text = TreeView1.SelectedNode.Text;

        BindGrid();

    }

 

    protected void Button1_Click(object sender, EventArgs e)

    {

       

        try

        {

            if (TreeView1.SelectedNode != null && !CheckBox1.Checked)

            {

                Folders.Create(TextBox1.Text, int.Parse(TreeView1.SelectedNode.Value.ToString()), DateTime.Now);

                FillFolderTree(TreeView1.SelectedNode);

 

            }

            else

            {

                Folders.Create(TextBox1.Text, 0, DateTime.Now);

                FillFolderTree(null);

            }

        }

        catch (Exception ex)

        {

            Label7.Text = ex.Message;

        }

 

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        try

        {

            int id = int.Parse(TreeView1.SelectedNode.Value.ToString());

            Folders.Rename(id, TextBox2.Text);

            //DataTable folders = Folders.GetSubFolders(id);

            TreeView1.SelectedNode.Text = TextBox2.Text;

        }

        catch (Exception ex)

        {

            Label7.Text = ex.Message;

        }

 

    }

    protected void Button3_Click(object sender, EventArgs e)

    {

        if (TreeView1.SelectedNode != null)

        {

            Folders.Delete(int.Parse(TreeView1.SelectedNode.Value.ToString()));

            Files.DeleteFromFolder(int.Parse(TreeView1.SelectedNode.Value.ToString()));

 

            foreach (TreeNode node in TreeView1.SelectedNode.ChildNodes)

 

    

         

    

 

            {

                Folders.Delete(int.Parse(node.Value.ToString()));

                Files.DeleteFromFolder(int.Parse(node.Value.ToString()));

            }

 

            if (TreeView1.SelectedNode.Parent != null)

            {

                FillFolderTree(TreeView1.SelectedNode.Parent);

            }

            else

            {

                FillFolderTree(null);

            }

            GridView1.DataSource = null;

            GridView1.DataBind();

        }

        else

        {

            Label7.Text = "Please select folder to be deleted";

        }

    }

    protected void Button4_Click(object sender, EventArgs e)

    {

        try

        {

            if (TreeView1.SelectedNode != null)

            {

                int folderid = int.Parse(TreeView1.SelectedNode.Value);

                string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);

                int filesize = 0;

                if (FileUpload1.HasFile)

                {

                    Stream stream = FileUpload1.PostedFile.InputStream;

                    filesize = FileUpload1.PostedFile.ContentLength;

                    byte[] filedata = new byte[filesize];

                    stream.Read(filedata, 0, filesize);

                    Files.Create(filename, filedata, filesize, folderid, DateTime.Now);

                }

                BindGrid();

            }

            else

            {

                Label7.Text = "Please select destination folder";

            }

        }

        catch (Exception ex)

        {

            Label7.Text = ex.Message;

        }

 

    }

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

    {

        int fileid = int.Parse(GridView1.DataKeys[int.Parse(e.CommandArgument.ToString())].Value.ToString());

 

        if (e.CommandName == "Download")

        {

            DataTable file = Files.GetFile(fileid);

            byte[] filedata = (byte[])file.Rows[0]["filedata"];

            Response.Clear();

            Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Rows[0]["filename"]);

            Response.BinaryWrite(filedata);

            Response.End();

        }

    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

        GridView1.EditIndex = e.NewEditIndex;

        BindGrid();

    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        GridView1.EditIndex = -1;

        BindGrid();

    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        int fileid = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());

        GridViewRow row = GridView1.Rows[e.RowIndex];

        Files.Rename(fileid, ((TextBox)row.Cells[0].FindControl("TextBox1")).Text);

        GridView1.EditIndex = -1;

        BindGrid();

    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

    }

    protected void Button1_Click1(object sender, EventArgs e)

    {

        int fileid = int.Parse(((Button)sender).CommandArgument);

        Files.Delete(fileid);

        BindGrid();

    }

 

7. TESTING AND IMPLEMENTATION

 

 

      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.

  • identify, characterize, and assess threats
  • assess the vulnerability of critical assets to specific threats
  • determine the risk (i.e. the expected consequences of specific types of attacks on specific assets)
  • identify ways to reduce those risks
  • 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. Since all the transactions are stored in different registers it takes a lot of time to prepare different reports. Each registers is consolidated to next registers it causes redundancy.this may result in loss of accuracy of data it is to be retrieve in different it is not possible. In the existing system, data transaction being stored on too long registers it is very difficult to refer after some time. Online enquiry of data is not possible. The advancing computer technology has more features, which gives a lot of advancing facility. User friendly messages are given when it is necessary, user will have the complete control over the data and appropriate validations to be carried out



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