01-07-2014, 11:07 AM
Software Requirement Specification
Software Requirement Specification.docx (Size: 802.93 KB / Downloads: 11)
ABSTRACT
In the past few years, developers could choose between two approaches when building a web application. The first approach was to create a screen-based system with very rich interactions using a sophisticated, powerful technology such as .net or Flash. The alternative approach was to create a page-based system using easier-to-learn core web standards like XHTML and CSS whose more basic capabilities force less-rich interactions. A new technological approach, dubbed Ajax, might just be the right mix between the two.
Screen-based applications offer users the ability to enter and manipulate information on a small number of screens that instantly update with any submitted changes. Developers typically build these applications, which mimic the sophistication of desktop applications developers who build page-based applications using standard web technologies are forced to deal with the load-reload effect of normal web pages.
Ajax is a new web approach that marries the benefits of both screen and paged-based approaches. By allowing more sophisticated functionality using easier-to-implement web standards, Ajax is proving a real alternative for creating powerful web applications. Jesse James Garrett of Adaptive Path coined the term “Ajax” in February of 2005 instantly
INTRODUCTION
Typically, when users enter information into an input field on a page-based web application, nothing is done with that information until they press "submit". After they press, "submit" the information is sent to the server, a response is returned, notifying the user of success or failure. During this time, which typically changes based on the speed of the connection and the amount of processing being done, the user sits and waits while the page refreshes.
Ajax applications, on the other hand, don't need to refresh the entire page to update information on it. Instead, Ajax applications can simply update parts of the page at any time, giving users an instantaneous response to their inputs and queries. This allows users to continually see what they're working on and react to any changes, errors, or updates the interface notifies them .
One advantage of a single-screen is that users can see the big picture of the application, seeing all of the steps necessary to complete the application. This gives users a clear idea of what is expected of them during a transaction. On a page-based application, they might have to click through several pages without knowing what is ahead of them
Software Environment
Java Technology
Initially the language was called as “oak” but it was renamed as “Java” in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices.
• Java is a programmer’s language.
• Java is cohesive and consistent.
• Except for those constraints imposed by the Internet environment, Java gives the programmer, full control.
• Finally, Java is to Internet programming where C was to system programming.
Importance of Java to the Internet
Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self
Java can be used to create two types of programs
Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Java’s ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java –compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image.
Features of Java Security
Every time you that you download a “normal” program; you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scan them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a “firewall” between a network application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent
Robust
The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time.
Java virtually eliminates the problems of memory management and de-allocation, which is completely automatic. In a well-written Java program, all run time errors can –and should –be managed by your program
Encapsulation
Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse. One way to think about encapsulation is as a protective wrapper that prevents the code and data from begin arbitrarily accessed by other code defined outside of the wrapper. Access to he code and data inside the wrappers is tightly controlled through a well-defined interface. To relate this to the real world, consider the automatic transmission on an automobile. It encapsulates hundreds of bits of information about our engine, such as how much you are accelerating, the pitch of the surface you are on, and the position of the shift lever.
HARDWARE & SOFTWARE SPECIFICATIONS
HARDWARE REQUIREMENTS
128MB RAM
2 GB Hard disk space.
PIII 500MHZ or above
Network interface card or Modem (For Remote Sources)
LAN Network (For Remote Sources)
SOFTWARE REQUIREMENTS
WINDOWS NT 4 | 2000 | 9.X | ME
Visual Studio .Net 2005 Enterprise Edition
Visual Studio .Net Framework (Minimal for Deployment)
Any Oracle version
SYSTEM DESIGN
System design is the transformation of the analysis model into a system design model. During system design, developers define the design goals of the project and decompose the system into smaller subsystems that can be realized by individual teams.
Identifying Subsystems
Finding subsystem is a volatile activity driven by heuristics. As a result, the object techniques are applicable to subsystem identifications. Moreover, subsystem decomposition is constantly revised whenever new issues are addressed. Subsystems are merged into one subsystem, a complex subsystem is split into parts, and some subsystems are added to take care of new functionality. The first iterations over the subsystems decomposition can introduce drastic changes in the system design model.
Identified sub systems in this system are
This is approached by dividing it into five modules.
• A module that keep track of information of all the products and companies with which it deals
• A module that maintains profile of all the customers and companies
CLASS DESIGN
TYPE, SIGNATURE AND VISIBILITY
During analysis, we identify attributes and operations without specifying their types or their parameters. During object design, we refine the analysis and system design models by adding type and visibility information. The type of an attribute specifies the range of values the attribute can take and the operations that can be applied to the attribute.
Operation parameters and return values are typed in the same way as attributes are. The type constraints the range of values the parameter or the return value can take. The type of the return value is called the signature of the operation. The visibility of an attribute or an operation specifies whether it can be used by other classes or not. UML defines three levels of visibility
CLASS DIAGRAM
Class diagrams describe the structure of the system in terms of classes and objects. Classes are abstraction that specify the attributes and behavior of a set of objects. A class is a collection of objects that share a set of attributes that distinguish the objects as members of the collection
COMPONENT DIAGRAMS
A component diagram shows the organizations and dependencies among a set of components. A component is a physical and replaceable part of a system, which are self-contained entities that provide services to other components or actors
COLLABORATION DIAGRAMS
Another form of Interaction diagrams, the Collaboration diagrams depict the same information as sequence diagrams except that they represent the sequence of messages by numbering the interactions. This results in a more compact diagram
TESTING
The process of executing a program with the intent of finding errors in them is called testing. During testing, the program to be tested is executed with a set of test cases, and the output of the program for the test cases is evaluated to determine if the program is performing as expected. Testing forms the first step in determining the errors in the program. The success of testing in revealing errors in program depends critically on test cases
Cyclomatic Complexity
Cyclomatic Complexity is software metric that provides a quantitative measure of the logical complexity of a program. When used in the context of the basis path testing method, the value computed for cyclomatic complexity defines the number of independent paths in the basis set of a program and provides us with an upper bound for the number of tests that must be conducted to ensure that all statements have been executed at least once
STATEMENT TESTING COVERAGE
The main idea of statement testing coverage is to test every statement in the object’s method by executing it at least once. However, realistically, it is impossible to test program on every single input, so you never can be sure that a program will not fail on some input
CONCLUSION
The project has been appreciated by all the users in the organization.
It is easy to use, since it uses the GUI provided in the user dialog.
User friendly screens are provided.
The usage of software increases the efficiency, decreases the effort.
It has been efficiently employed as a Windows Service.
It also provides the user with variable options in generating reports.
It has been thoroughly tested and implemented.
It’s Performs the task of developing a web application, which provides asynchronous post backs by making use of Ajax.