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:
Comments
Post a Comment