5.3. Feasibility Study
5.3. Feasibility Study
5.3. Feasibility Study
-033132340
evanescent is the
may
outsiders. or not a
determination doing. On
whether contrary,
is
worth
the
software
feasibility has seven solid dimensions as below: 1.Technical feasibility. 2.Operational feasibility. 3.Economic feasibility. 4.Social feasibility. 5.Management feasibility. 6.Legal feasibility. 7.Time feasibility.
VISUAL BASIC .NET Visual basic .Net is an award-winning suite of Rapid Application Development (RAD) tools for building enterprise-class applications that give end users a highly visual interface to the database. It enables to: -
103
E.NO. -033132340
Deploy
applications
in
three-tier
or
two-tier
configurations. Produce efficient, scalable applications. Increase the effectiveness of new and experienced
quickly. TYPES OF APPLICATION ARCHITECTURE IN VB.NET: Applications are developed to support organizations in
their business operations. The Visual Basic.Net supports three types of architecture. (i) Single-tier architecture (ii) Two-tier architecture (iii) Three-tier architecture
handles all the functions relating to the user, business and data service layers. This type of application is
104
E.NO. -033132340
(ii). Two-tier Architecture: The two-tier architecture divides an application into two components: (a) Client: Implements the users interface. (b) Server: stores data.
CLIENT
USER TIER BUSINESS LOGIC
SERVER
DATA TIER
(iii) Three-tier Architecture: In three-tier architecture all the three layers reside
separately, either on the same machine or on different machine. The user interface interacts with business logic. The business logic validates the data sent by the
E.NO. -033132340
CLIENT
USER SERVICES
BUSINESSLOGIC
BUSINESS SERVICES
DATA STORE
DATA SERVICES
FEATURES OF VISUAL BASIC.NET: There are following features introduced in VB.NET (i).Inheritance (ii).Constructor and destructor (iii).Overloading (iv).Overriding (v).Structured exception handling (vi).Multithreading
(i).Inheritance: Inheritance is the ability of a class to derive its characteristics from an existing class. VB.NET provides the Inheritance keyword to inherit the characteristics of a class parantclass into another class derived
E.NO. -033132340
A constructor is a special type of method that invoked when we create a new instance of a class. A constructor is used to initialize the member of the class. While the destructor is invoked when an object is
destroyed. A destructor releases the resources used by an object. (iii).Overloading: Overloading enables methods to be defined with the same name but different parameters. VB.NET provides a keyword overloads for this purpose.
overrides the characteristics of the parent class.VB.NET provides a keyword override for this purpose. (v).Structures exception handling: Exceptions are errors that generated at run time. VB.Net support structure blocks exception of code handling filter that for consists the of
protected
and
possible
E.NO. -033132340
Multithreading enables an application to contain one or more threads that can share the worked in an application by executing at a time.
(E).LAN: Local Area Networks, generally called LANs, are privately owned networks within a single building or campus of up to a few kilometers inside. They are widely used to connect personal computers and workstations in company offices and factories to share resources (e.g., printers) and exchange information. LANs are distinguished from other kinds of networks by three characteristics: (i) Their size (ii) Their transmission technology and (iii) Their topology
Traditional LANs run at speeds of 10 to 100 Mbps, have low delay (tens of microseconds), and make very few errors. Newer LANs may operate at higher speeds, up to hundreds of Mbps.
(F).UTP: 108
E.NO. -033132340
UTP
stands
for in
Unshielded several
Twisted varieties,
Pair. two
Twisted of which
pair are
cabling
comes
Category 3 twisted pair consists of two insulated wires gently together. Four such pairs are typically grouped
together in a plastic sheath for protection and to keep the eight wires together. This scheme allowed up to four regular telephones or to multilane telephones in each
Category 5 twisted pair is similar to category 3 twisted pair, but with more twists per centimeter and Teflon insulation, which results in less cross talk and a
better quality signal over long distances. Both of these wiring types are often referred to as UTP.
(G). TCP/IP Protocol: Transmission Control Protocol (TCP)/Internet Protocol (IP) is a set of protocols developed to allow computers of all
109
E.NO. -033132340
sizes from different vendors, running different operating systems, to communicate or to share resources across the networks. This was designed to provide a reliable end-toend byte stream over an unreliable inter networks. TCP is a connection-oriented protocol while IP is a
connectionless protocol.
5.7.
CODE EFFICIENCY
Every step has been considered in order to achieve the code efficiency. Visual Basic .Net has been used in
order to achieve the high degree of optimality of code. It is an object oriented GUI tool that provides the facility of the event driven programming as well as supports object oriented programming (oops).
110
The
event
driven
and
oops
E.NO. -033132340
concept reduce the code. SQL meets only the target (what has to be done) to be specified and it does not need the steps (how) to be followed to achieve the target. The data retrieved is done by SQL engine of the RDBMS, which is very efficient, and it increases the efficiency of the application as well. As far as user interface design of the application is concerned, object oriented paradigm has been applied which reduces the lengthy codification and achieve the inheritance, which further enhance the code efficiency.
111
E.NO. -033132340
The
application
has
been in
using functions
two-tier of the
client/server
technology
application segregated between the two tiers i.e. the Back End and the Front End. Every type of data security,
At
the
Back
End
Database
itself,
which
is
as
per
the
codes rules, due to which less codification is needed at the Front End user interface level? Due to this approach, it is possible to optimize the codes so that it can take less memory to execute and makes execution fast.
Again
PL/SQL
programming
language
has
been
used
which
provides the facility of embedded SQL. The data retrieval power of SQL is well known. Since PL/SQL is the product of Oracle itself, which on runs faster than any other, Thus
programming
language
Oracle
RDBMS
platform.
processing power of PL/SQL is unmatched. The combination of PL/SQL and SQL is excellent as far as processing time
112
E.NO. -033132340
and memory is concerned. Thus it reduces the requirement of storage as well as processor and the resultant code optimization or efficiency is very high.
113
E.NO. -033132340
undiscovered error.
5.10.2. Testing Techniques: Once source code has been generated, software must be
tested to uncover (and correct) as many errors as possible before delivery to our customer. Our goal is to design a series of test cases that have a high likelihood of
finding errors. Software is tested from two different perspectives: (a) Internal program logic is exercised using White Box test case design techniques.
114
E.NO. -033132340
(b) Software requirements are exercised using Black box test case design techniques. In both cases, the
intent is to find the maximum number of errors with the minimum amount of effort and time.
box testing methods, the software engineer can derive test cases that 1.Guarantee that all independent paths within a module have been exercised at least once. 2.Exercise all logical decisions on their true and false sides. 3.Exercise validity. A reasonable question might be posed at this juncture. Why spend time and energy worrying about (and testing) logical minutiae when we might
115
internal
data
structures
to
ensure
their
better
expend
effort
E.NO. -033132340
State
another way, why dont we spend all of our energy on black box tests?
Logic
errors
and
incorrect
assumptions
are
inversely
proportional to the probability that a program path will be executed. Errors tend to creep into our work when we
design and implement function, conditions, or control that is out of the mainstream.
We often believe that a logical path is not likely to be executed when, in fact, it may be executed on a regular basis.
Typographical
errors
are
random.
When
program
is
translated into programming language source code, it is likely that some typing errors will occur. Many will be uncovered by syntax and type checking mechanisms, but
others may go undetected until testing begins. White-Box Testing is far more likely to uncover them.
116
E.NO. -033132340
(b). Black- Box Testing:Black Box testing, also called Behavioral Testing, focuses on the functional requirements of the software. That is,
black box testing enables the software engineer to derive sets of input conditions that will fully exercise all
is not an alternative to white-box techniques. Rather, it is a complementary approach that is likely to uncover a different class of errors than white-box methods.
Black Box testing attempts to find errors in the following categories: 1.Incorrect or missing functions. 2.Interface errors. 3.Errors access. 4.Behavior or performance errors. 5.Initialization and termination errors. in data structures or external data base
Unlike White-Box testing, which is performed early in the testing process, black box testing tends to be applied
117
E.NO. -033132340
1.How is functional validity tested? 2.How is system behavior and performance tested? 3.What classes of input will make good test cases? 4.Is the system particularly sensitive to certain input values? 5.How are the boundaries of a data class isolated? 6.What data rates and data volume can the system
tolerate? 7.What effect will specific combinations of data have on system operation?
5.10.3. Testing Strategies: System engineering defines the role of software and leads to software requirements analysis where the information domain, function, behavior, performance, constraints, and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. To develop computer
118
software,
we
spiral
inward
E.NO. -033132340
along streamlines that decrease the level of abstraction on each turn. A strategy for software testing may also be viewed in the context of the spiral (shown in figure): -
FIGURE: -TESTING STRATEGY 1. Unit Testing: Unit testing begins at the vertex of the spiral and
concentrates on each unit (i.e. component) of the software as implemented on the in source code. of It focuses verification design the
effort
smallest
unit
software
software component or module. The unit test is white-box oriented, and the step can be conducted in parallel for multiple components.
119
E.NO. -033132340
Unit Test Considerations: Interface Local data structures Boundary conditions Independent paths Error handling paths
construction testing is
software
architecture. for
Integration of
systematic
technique
construction
program structure while at the same time conducting tests to uncover errors associated with interfacing. The
objective is to take unit tested components and build a program structure that has been dictated by design.
E.NO. -033132340
Top-down integration testing is an incremental approach to construction of program structure. Modules are integrated by moving downward through the control hierarchy,
beginning with the main control (main program). Modules subordinate control (and ultimately subordinate) into the to the main in
module
are
incorporated
structure
b) Bottom-up Integration: Bottom-up integration testing, as its name implies, begins construction and testing with atomic modules (i.e.
components at the lowest levels in the program structure). Because components are integrated from the bottom up,
processing required for components subordinate to a given level is always available and the need for stubs is
eliminated.
c) Regression Testing: -
121
E.NO. -033132340
It is the re-execution of some subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects.
d) Smoke Testing: Smoke testing is an integration testing approach that is commonly used when shrink-wrapped software products are being developed. It is designed as pacing mechanism for time-critical projects, allowing the software team to
assess its project on a frequent basis. 4. Validation Testing: Validation definition can is be that defined in many ways but when a simple
validation
succeeds
software
functions in a manner that can be reasonably expected by the customer. a) Validation Test Criteria: Two possible Conditions
conform to specification and are accepted 2) A deviation from specification is uncovered and a
E.NO. -033132340
It is often necessary to negotiate with the customer to establish a method for resolving deficiencies.
c) Alpha Testing: A customer conducts tests the alpha test at the in developers controlled
site.
Alpha
are
conducted
environments.
d) Beta Testing: The beta test is conducted at one or more customer sites by the end-user of the Software. The beta test is a live application of the software in an environment that cannot be controlled by the developer.
1. In
and
other
elements
are
E.NO. -033132340
different tests whose primary purpose is to fully exercise the computer-based system. Although each test has a
different purpose, all work to verify the system elements have been properly integrated and perform allocated
functions. To test computer software, we spiral out along streamlines that broaden the scope of testing with each turn.
5.17. BIBLIOGRAPHY
Books: 1. Press Oracle: Oracle Complete Reference Book. 2. Bayross, Ivan: Introduction to Oracle-9i, BPB Publication, New Delhi 3. Matthew Reynolds: Beginning visual Basic .NET
124
E.NO. -033132340
4. Andrew Troelsen: Visual Basic .NET and .NET platform 5. Raja Raman: System Analysis and Design. 6. Canter: System Analysis and Design. Magazines & Periodicals: 1.PC Quest 2.Data Quest Web-sites: 1. http://msdn.microsoft.com/vbasic
125
E.NO. -033132340
5.18. GLOSSORY
IT Information Technology PERT- Program Evaluation & Review Technique GANTTAC- Air-condition WORM- Write Once Read Many SVGA- Super Video-Graphic Adapter GB- Giga Byte MB- Mega Byte RAM- Random Access Memory NT- New Technology SQL- Structured Query Language PL-Programming Language CPM-Critical Path Method GUI-Graphical User Interface LOC-Line of Code COCOMO-Constructive Cost Model MBPS-Mega Byte Per Second UTP-Unshielded Twisted Pair LAN-Local Area Network TCP-Transmission Control Protocol IP-Internet Protocol NIC-Network Interface Card
126