Project
Project
Project
TABLE OF CONTENTS
1. INTRODUCTION
2. LITERATURE SUMMARY
3. METHODOLOGY
4. IMPLEMENTATION
5. TEST RESULTS
5.1 TESTING
5.2 SOFTWARE TESTING TECHNIQUES USED
5.3 SCREEN LAYOUT OR OUTPUT DATABASE
7.1 CONCLUSIONS
7.2 FUTURE SCOPES
8. BIBLOGRAPHY
1
REMOTE ADMINISTRATION 2012
8.1 REFRENCES
CHAPTER 1:
INTRODUCTION
2
REMOTE ADMINISTRATION 2012
Keeping the Server and Client information up-to-date with little efforts.
Maintaining the consistent Client information which is maintained in the database by
one field for each data.
Provision for Client, Directory and Files information about human aspects in concise
timely, accurate and objective manner for decision making purpose.
It also reduces the redundancy which is frequent case in manual system.
Paper work is less in the case of computerized system.
Facility for providing formatted Client Information pattern.
Provides the facility to access wanted information of a particular Server immediately.
Readiness to respond to ever increasing and always changing reporting requirements.
To provide data and their analysis for improving personnel administration.
3
REMOTE ADMINISTRATION 2012
a) Hardware Requirement
b) Software Requirement
4
REMOTE ADMINISTRATION 2012
CHAPTER 2:
LITERATURE
SUMMARY
5
REMOTE ADMINISTRATION 2012
.NET 2.0 was designed to make web development easier and quicker.
6
REMOTE ADMINISTRATION 2012
Master Pages
.NET didn't have a method for applying a consistent look and feel for a whole web site.
A master page is a template for other pages, with shared layout and functionality. The master
page defines placeholders for content pages. The result page is a combination (merge) of the
master page and the content page.
Themes
Themes are another feature of ASP.NET 2.0. Themes, or skins, allow developers to create a
customized look for web applications.
Web Parts
.NET 2.0 Web Parts can provide a consistent look for a site, while still allowing user
customization of style and content.
New controls:
Navigation
7
REMOTE ADMINISTRATION 2012
Tree Views
Security
Mobility Support
The problem with Mobile devices is screen size and display capabilities.
In ASP.NET, the Microsoft Mobile Internet Toolkit (MMIT) provided this support.
In ASP.NET 2.0, MMIT is no longer needed because mobile support is built into all controls.
Images
These controls are important for better image display on mobile devices, like hand-held
computers and cell phones.
Automatic Compilation
ASP.NET 2.0 provides automatic compilation. All files within a directory will be compiled on
the first run, including support for WSDL, and XSD files.
ASP.NET 2.0 also provides pre-compilation. An entire web site can be pre-compiled. This
provides an easy way to deploy (upload to a server) compiled applications, and because only
compiled files are deployed, the source code is protected.
8
REMOTE ADMINISTRATION 2012
Site Management
ASP.NET 2.0 has three new features for web site configuration and management:
Development Tools
With ASP.NET Visual Studio.NET was released with project and design features targeted at
corporate developers.
2.3 FRAMEWORK
The .NET Framework (pronounced dot net) is a software framework that runs primarily
on Microsoft Windows. It includes a large library and supports several programming
languages which allow language interoperability (each language can use code written in other
languages). The .NET library is available to all the programming languages that .NET
supports. Programs written for the .NET Framework execute in a software environment (as
contrasted to hardware environment), known as the Common Language Runtime (CLR), an
application virtual machine that provides important services such as security, memory
management, and exception handling. The class library and the CLR together constitute
the .NET Framework.
The .NET Framework's Base Class Library provides user interface, data access, database
connectivity, cryptography, web application development, numeric algorithms, and network
communications. Programmers produce software by combining their own source code with
the .NET Framework and other libraries. The .NET Framework is intended to be used by
most new applications created for the Windows platform. Microsoft also produces a popular
integrated development environment largely for .NET software called Visual Studio.
2.3.1 ARCHITECTURE
9
REMOTE ADMINISTRATION 2012
Assemblies
The CIL code is housed in .NET assemblies. As mandated by specification, assemblies are
stored in the Portable Executable (PE) format, common on the Windows platform for all DLL
and EXE files. The assembly consists of one or more files, one of which must contain the
manifest, which has the metadata for the assembly. The complete name of an assembly (not to
be confused with the filename on disk) contains its simple text name, version number,
culture, and public key token. The public key token is a unique hash generated when the
assembly is compiled, thus two assemblies with the same public key token are guaranteed to
be identical from the point of view of the framework. A private key can also be specified
10
REMOTE ADMINISTRATION 2012
known only to the creator of the assembly and can be used for strong naming
and to guarantee that the assembly is from the same author when a new version
of the assembly is compiled (required adding an assembly to the Global
Assembly Cache).Security
.NET has its own security mechanism with two general features: Code Access Security
(CAS), and validation and verification. Code Access Security is based on evidence that is
associated with a specific assembly. Typically the evidence is the source of the assembly
(whether it is installed on the local machine or has been downloaded from the intranet or
Internet). Code Access Security uses evidence to determine the permissions granted to the
code. Other code can demand that calling code is granted a specified permission. The demand
causes the CLR to perform a call stack walk: every assembly of each method in the call stack
is checked for the required permission; if any assembly is not granted the permission a
security exception is thrown. However, has to split the application into sub domains; it is not
done by the CLR.
Class library
The .NET Framework includes a set of standard class libraries. The class library is organized
in a hierarchy of namespaces. Most of the built in APIs are part of either System.* or
namespaces. These class libraries implement a large number of common functions, such as
file reading and writing, graphic rendering, database interaction, and XML document
manipulation, among others. The .NET class libraries are available to all CLI compliant
languages. The .NET Framework class library is divided into two parts: the Base Class
Library and the Framework Class Library.
The Base Class Library (BCL) includes a small subset of the entire class library and is the
core set of classes that serve as the basic API of the Common Language Runtime.[8] The
classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are
considered to be a part of the BCL. The BCL classes are available in both .NET Framework
as well as its alternative implementations including .NET Compact Framework, Microsoft
Silverlight and Mono.
The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire
class library those ships with .NET Framework. It includes an expanded set of libraries,
including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows
Presentation Foundation, Windows Communication Foundation among others. The FCL is
much larger in scope than standard libraries for languages like C++, and comparable in scope
to the standard libraries of Java.
11
REMOTE ADMINISTRATION 2012
Memory management
The .NET Framework CLR frees the developer from the burden of managing memory
(allocating and freeing up when done); instead it does the memory management itself
even though there are no actual guarantees as to when the Garbage Collector will
perform its work, unless an explicit double-call is issue. To this end, the memory
allocated to instantiations of .NET types (objects) is done contiguously from the
managed heap, a pool of memory managed by the CLR. As long as there exists a
reference to an object, which might be either a direct reference to an object or via a
graph of objects, the object is considered to be in use by the CLR. When there is no
reference to an object, and it cannot be reached or used, it becomes garbage.
However, it still holds on to the memory allocated to it. .NET Framework includes a
garbage collector which runs periodically, on a separate thread from the
application's thread, that enumerates all the unusable objects and reclaims the memory
allocated to them.
2.4 FEATURES
Interoperability
Because computer systems commonly require interaction between new and
older applications, 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 Enterprise Services namespaces of the
framework; access to other functionality is provided using the P/Invoke feature.
Language Independence
The .NET Framework introduces a Common Type System, or CTS. The CTS specification
defines all possible data types and programming constructs supported by the CLR and how
they may or may not interact with each other conforming to the Common Language
Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the
exchange of types and object instances between libraries and applications written using any
conforming .NET language.
Simplified Deployment
12
REMOTE ADMINISTRATION 2012
The .NET Framework includes design features and tools that help manage the installation of
computer software to ensure that it does not interfere with previously installed software, and
that it conforms to security requirements.
Security
The design is meant to address some of the vulnerabilities, such as buffer overflows, that
have been exploited by malicious software. Additionally, .NET provides a common security
model for all applications.
Portability
The design of the .NET Framework allows it theoretically to 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. While
Microsoft has never implemented the full framework on any system except Microsoft
Windows, the framework is engineered to be platform agnostic and cross-platform
implementations are available for other operating systems.
Getting Started
There's a lot happening on the start page. But basically, this is where you can
start a new project, or open an existing one. The first Tab, Projects, is selected. At
the moment, the area labelled "Open an Existing Project" is blank. This is what you'll
see when you run the software for the first time (because you haven't created a
project yet). When you create a project, the Name you gave it will be displayed on
this page, as a hyperlink. Clicking the link will open the project.
At the bottom of the screen, there are two buttons: "New Project" and "Open
Project". To get started, click the "New Project" button. When you do, you'll see this
dialogue box appear in the version 2008:
13
REMOTE ADMINISTRATION 2012
As a beginner, you'll normally want the option selected: "Windows Application", in the
"Visual Basic Projects" folder. This means that you're going to be designing a
programme to run on a computer running the Microsoft Windows operating system.
If you look in the Name textbox at the bottom, you'll see it says
"WindowsApplication1". This is the default name for your projects. It's not a good
idea to keep this name. After all, you don't want all of your projects to be called
"WindowsApplication1", "WindowsApplication2", etc. So click inside this textbox and
change this Name to the following:
My First Project
Keep the Location the same as the default. This is a folder inside of your "My
Documents" folder called "Visual Studio Projects". A new folder will then be created
for you, and its name will be the one you typed in the "Name" textbox. All of your files
for your first project are then saved in this folder.
Click the OK button, and the ASP.NET design time environment will open. It
will look like the following (version 2008):
Web Pages
14
REMOTE ADMINISTRATION 2012
Congratulations! You have now created your very first programme. It should look like
this:
Click the Red X on the form to stop it from running. You will then be returned to the
software environment.
If you compare the first form with the one above, you'll see that they look very similar.
But the one above is actually a real programme, something you could package and
sell to unsuspecting village idiots
So what's going on? Why the two different views? Well, Visual Basic has two distinct
environments, a Design environment and a Debug environment. Design Time is
15
REMOTE ADMINISTRATION 2012
where you get to play about with the form, spruce it up, add textboxes, and buttons,
and labels (and code, of course ); Debug is where you can test your programme and
see how well it performs. Or doesn't perform, as is usually the case.
But don't worry about the terminology, for the time being. Just be aware that there's a
two step process to VB programming: designing and debugging.
So, let's get on and do some designing! Before we can start designing a form,
though, we need some tools. And where are tools kept? In a toolbox!
Adding Controls
Things like buttons, textboxes, and labels are all things that you can add to
your Forms. They are know as Controls, and are kept in the Toolbox for ease of use.
The Toolbox can be found on the left of the screen. In the picture below, you
can see the toolbox icon next to Default1 (ASP.Net 2008):
To display all the tools, move your mouse over the toolbox icon. You'll see the
following automatically appear:
16
REMOTE ADMINISTRATION 2012
There are seven categories of tools available. The toolbox you'll be working
with first is the Common Controls toolbox. To see the tools, click on the plus symbol
next to Common Controls. You'll see a long list of tools:
As you can see, there are an awful lot of tools to choose from! For this first section,
we'll only be using the Button, the TextBox and the Label.
If you want to keep the toolbox displayed, click the Pin icon next to the X. To
close the toolbox, simply move your mouse away.
17
REMOTE ADMINISTRATION 2012
2.5.1 What is
SQL?
Some database systems require a semicolon at the end of each SQL statement.
Semicolon is the standard way to separate each SQL statement in database systems that allow
more than one SQL statement to be executed in the same call to the server.
We are using MS Access and SQL Server 2000 and we do not have to put a semicolon after
each SQL statement, but some database programs force you to use it.
SQL can be divided into two parts: The Data Manipulation Language (DML) and the Data
Definition Language (DDL).
The query and update commands form the DML part of SQL:
19
REMOTE ADMINISTRATION 2012
The DDL part of SQL permits database tables to be created or deleted. It also defines indexes
(keys), specify links between tables, and impose constraints between tables. The most
important DDL statements in SQL are:
The SQL language and relational database systems based on it are one of the most
important foundation technologies in the computer industry. Over the last two decades, SQL
has grown from its first commercial use into a computer product and services market segment
worth tens of billions of dollars per year, and SQL stands today as the standard computer
database language. Literally hundreds of database products now support SQL, running on
computer systems from mainframes to personal computers and even handheld devices. An
official international SQL standard has been adopted and expanded twice. Virtually every
major enterprise software product relies on SQL for its data management, and SQL is at the
core of the database products from Microsoft, Oracle, and IBM, the three largest software
companies in the world. SQL is also at the heart of open-source database products that are
helping to fuel the popularity of Linux and the open-source movement. From its obscure
beginnings as an IBM research project, SQL has leaped to prominence as both an important
computer technology and a powerful market force.
20
REMOTE ADMINISTRATION 2012
CHAPTER 3:
METHODOLOGY
3.1 SOFWARE DEVELOPMENT LIFE CYCLE
A software development process, also known as a software development life cycle (SDLC), is
a structure imposed on the development of a software product. Similar terms include software
life cycle and software process. It is often considered a subset of systems development life
cycle. There are several models for such processes, each describing approaches to a variety of
tasks or activities that take place during the process. Some people consider a lifecycle model
a more general term and a software development process a more specific term. For example,
there are many specific software development processes that 'fit' the spiral lifecycle model.
ISO 12207 is an ISO standard for software lifecycle processes. It aims to be the standard that
defines all the tasks required for developing and maintaining software.
3.1.1 Overview
The largest and growing body of software development organizations implements process
methodologies. Many of them are in the defense industry, which in the U.S. requires a rating
based on 'process models' to obtain contracts.
The international standard for describing the method of selecting, implementing and
monitoring the life cycle for software is ISO 12207.
A decades-long goal has been to find repeatable, predictable processes that improve
productivity and quality. Some try to systematize or formalize the seemingly unruly task of
writing software. Others apply project management techniques to writing software. Without
project management, software projects can easily be delivered late or over budget. With large
numbers of software projects not meeting their expectations in terms of functionality, cost, or
delivery schedule, effective project management appears to be lacking.
Organizations may create a Software Engineering Process Group (SEPG), which is the focal
point for process improvement. Composed of line practitioners who have varied skills, the
group is at the center of the collaborative effort of everyone in the organization who is
involved with software engineering process improvement.
21
REMOTE ADMINISTRATION 2012
Planning
Once the general requirements are gathered from the client, an analysis of the scope of the
development should be determined and clearly stated. This is often called a scope document.
Certain functionality may be out of scope of the project as a function of cost or as a result of
unclear requirements at the start of development. If the development is done externally, this
document can be considered a legal document so that if there are ever disputes, any
ambiguity of what was promised to the client can be clarified.
Implementation is the part of the process where software engineers actually program the code
for the project.
Software testing is an integral and important phase of the software development process. This
part of the process ensures that defects are recognized as soon as possible.
Documenting the internal design of software for the purpose of future maintenance and
enhancement is done throughout development. This may also include the writing of an API,
be it external or internal. It is very important to document everything in the project.
Deployment starts after the code is appropriately tested, is approved for release and sold or
otherwise distributed into a production environment.
Software Training and Support is important and a lot of developers fail to realize that. It
would not matter how much time and planning a development team puts into creating
software if nobody in an organization ends up using it. People are often resistant to change
and avoid venturing into an unfamiliar area, so as a part of the deployment phase, it is very
important to have training classes for new clients of your software.
Maintaining and enhancing software to cope with newly discovered problems or new
requirements can take far more time than the initial development of the software. It may be
necessary to add code that does not fit the original design to correct an unforeseen problem or
it may be that a customer is requesting more functionality and code can be added to
accommodate their requests. If the labor cost of the maintenance phase exceeds 25% of the
prior-phases' labor cost, then it is likely that the overall quality of at least one prior phase is
poor. In that case, management should consider the option of rebuilding the system (or
portions) before maintenance cost is out of control.
22
REMOTE ADMINISTRATION 2012
This model, shown in Fig. 3.1, is the worst model for developing a project. The product is
built without proper specifications and design steps. In essence, the product is built and
modified as many times as possible until it satisfies the client. The cost of using this
approach is greater than its specifications.
23
REMOTE ADMINISTRATION 2012
The waterfall model derives its name due to the cascading effect from one phase to
the other as is illustrated in Figure 3.2. In this model each phase well defined starting and
ending point, with identifiable deliveries to the next phase.
Note that this model is sometimes referred to as the linear sequential model or the software
life cycle
24
REMOTE ADMINISTRATION 2012
The hardware requirements are also determined at this stage along with a picture
of the overall system architecture. By the end of this stage should the software
engineer should be able to identify the relationship between the hardware, software
and the associated interfaces. Any faults in the specification should ideally not be
passed down stream
4. In the implementation and testing phase stage the designs are translated into the
software domain
Detailed documentation from the design phase can significantly reduce
the coding effort.
Testing at this stage focuses on making sure that any errors are identified
and that the software meets its required specification.
5. In the integration and system testing phase all the program units are integrated and
tested to ensure that the complete system meets the software requirements. After this
stage the software is delivered to the customer [Deliverable The software product
is delivered to the client for acceptance testing.]
6. The maintenance phase the usually the longest stage of the software. In this phase the
software is updated to:
Meet the changing customer needs.
Adapted to accommodate changes in the external environment.
25
REMOTE ADMINISTRATION 2012
Observe that feed back loops allow for corrections to be incorporated into the model. For
example a problem/update in the design phase requires a revisit to the specifications phase.
When changes are made at any phase, the relevant documentation should be updated to
reflect that change.
Advantages
Testing is inherent to every phase of the waterfall model.
It is an enforced disciplined approach.
It is documentation driven, that is, documentation is produced at every stage.
Disadvantages
The waterfall model is the oldest and the most widely used paradigm.
However, many projects rarely follow its sequential flow. This is due to the inherent problems
associated with its rigid format. Namely:
It only incorporates iteration indirectly, thus changes may cause considerable
confusion as the project progresses.
As The client usually only has a vague idea of exactly what is required from
the software product, this WM has difficulty accommodating the natural
uncertainty that exists at the beginning of the project.
The customer only sees a working version of the product after it has been
coded. This may result in disaster any undetected problems are precipitated to
this stage.
The formal systems development model, shown below in Figure 2.1, utilises a development
process that is based on formal mathematical transformation of system models to executable
programs. Similar to the waterfall model, the formal approach has clearly defined (cascading)
phase boundaries. The critical distinctions between the two models are:
1. The software requirements and specification phases are refined into a detailed formal
specification, which is expressed mathematically.
2. The design, implementation and unit testing (NB: to be covered later in semester) are
replaced by a single formal transformation phase as illustrated in Figure 3.3
26
REMOTE ADMINISTRATION 2012
In many instances the client only has a general view of what is expected from the software
product. In such a scenario where there is an absence of detailed information regarding the
input to the system, the processing needs and the output requirements, the prototyping model
may be employed. This model reflects an attempt to increase the flexibility of the
development process by allowing the client to interact and experiment with a working
representation of the product. The developmental process only continues once the client is
satisfied with the functioning of the prototype. At that stage the developer determines the
specifications of the clients real needs.
The following sections examine two (2) version of the prototyping model:
Version I: Prototyping is used as a requirements technique.
Version II: Prototype is used as the specifications or a major part thereof.
Version I
This approach, as illustrated in Fig 3.4, uses the prototype as a means of quickly determining
the needs of the client; it is discarded once the specifications have been agreed on. The
emphasis of the prototype is on representing those aspects of the software that will be visible
27
REMOTE ADMINISTRATION 2012
to the client/user (e.g. input approaches and output formats). Thus it does not matter if the
prototype hardly works.
Note that if the first version of the prototype does not meet the clients needs, then it must be
rapidly converted into a second version.
Version II
In this approach, as illustrated in Fig 3.5, the prototype is actually used as the specifications
for the design phase. This advantage of this approach is speed and accuracy, as not time is
spent on drawing up written specifications. The inherent difficulties associated with that
phase (i.e. incompleteness, contradictions and ambiguities) are then avoided.
28
REMOTE ADMINISTRATION 2012
Disadvantages of prototyping
1. Often clients expect that a few minor changes to the prototype will more than suffice
their needs. They fail to realise that no consideration was given to the overall quality
of the software in the rush to develop the prototype.
2. The developers may lose focus on the real purpose of the prototype and compromise
the quality of the product. For example, they may employ some of the inefficient
algorithms or inappropriate programming languages used in developing the prototype.
A prototype will hardly be acceptable in court in the event that the client does not
agree that the developer has discharged his/her obligations. For this reason using the
prototype as the software specification is normally reserved for software development
within an organisation.
To avoid the above problems the developer and the client should both establish a protocol,
which indicates the deliverables to the client as well as contractual obligations.
29
REMOTE ADMINISTRATION 2012
In both versions the prototype is discarded early in the life cycle. However, one way of
ensuring that the product is properly designed and implemented is to implement the prototype
in a different programming language from that of the product.
RAD is used primarily for information systems applications; the RAD approach encompasses
the following phases:
Business modelling
The information flow among business functions is modeled in a way that answers the
following questions:
30
REMOTE ADMINISTRATION 2012
Data modelling
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 characteristics (called attributes) of
each object are identified and the relationships between these objects are defined.
Process modelling
The data objects defined in the data-modeling phase are transformed to achieve the
information flow necessary to implement a business function. Processing descriptions are
created for adding, modifying, deleting, or retrieving a data object.
Application generation
RAD assumes the use of the RAD fourth generation techniques and tools like VB, VC++,
Delphi etc rather than creating software using conventional third generation programming
languages. The RAD 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.
Since the RAD process emphasizes reuse, many of the program components have already
been tested. This minimizes the testing and development time.
If a business application can be modularized so that each major function can be completed
within the development cycle then it is a candidate for the RAD model. In this case, each
team can be assigned a model, which is then integrated to form a whole.
Disadvantages
For Large (but scalable) projects, RAD requires sufficient resources to create the right
number of RAD teams.
RAD projects will fail if there is no commitment by the developers or the clients to rapid-
fire activities necessary to get a system complete in a much abbreviated time frame.
RAD is not appropriate when technical risks are high, e.g. this occurs when a new application
makes heavy use of new technology.
31
REMOTE ADMINISTRATION 2012
This model, illustrated in Fig. 3.7, derives its name from the way in which the software is
built. More specifically, the model is designed, implemented and tested as a series of
incremental builds until the product is finished. A build consists of pieces of code from
various modules that interact together to provide a specific function.
At each stage of the IM a new build is coded and then integrated into the structure, which is
tested as a whole. Note that the product is only defined as finished when it satisfies all of its
requirements.
This model combines the elements of the waterfall model with the iterative philosophy of
prototyping. However, unlike prototyping the IM focuses on the delivery of an operational
product at the end of each increment.
32
REMOTE ADMINISTRATION 2012
The first increment is usually the core product which addresses the basic requirements of the
system. This maybe either be used by the client or subjected to detailed review to develop a
plan for the next increment. This plan addresses the modification of the core product to better
meet the needs of the customer, and the delivery of additionally functionality. More
specifically at each stage
Client assigns a value to each build not yet implemented.
Developer estimates cost of developing each build.
Resulting value-to-cost ratio is the criterion used for selecting which build is delivered
next.
Essentially the build with the highest value-to-cost ratio is the one that provides the client
with the most functionality (value) for the least cost. Using this method the client has a usable
product at all of the development stages.
The spiral model, illustrated in Fig. 3.8, combines the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model, therein providing the potential for
rapid development of incremental versions of the software. In this model the software is
developed in a series of incremental releases with the early stages being either paper models
or prototypes. Later iterations become increasingly more complete versions of the product.
As illustrate in Fig 3.8, the model is divided into a number of task regions.
Depending on the model it may have 3-6 task regions (/framework activities) our case
will consider a 6-task region model.
These regions are:
33
REMOTE ADMINISTRATION 2012
3. The risk analysis task to assess both technical and management risks.
5. The construction and release task to construct, test, install and provide user
support (e.g., documentation and training).
6. The customer evaluation task to obtain customer feedback based on the evaluation
of the software representation created during the engineering stage and implemented
during the install stage.
The evolutionary process begins at the centre position and moves in a clockwise direction.
Each traversal of the spiral typically results in a deliverable. For example, the first and second
spiral traversals may result in the production of a product specification and a prototype,
respectively. Subsequent traversals may then produce more sophisticated versions of the
software.
An important distinction between the spiral model and other software models is the explicit
consideration of risk. There are no fixed phases such as specification or design phases in the
model and it encompasses other process models. For example, prototyping may be used in
one spiral to resolve requirement uncertainties and hence reduce risks. This may then be
followed by a conventional waterfall development.
Note that each passage through the planning stage results in an adjustment to the
project plan (e.g. cost and schedule are adjusted based on the feedback from the
customer, project manager may adjust the number of iterations required to complete
the software.).
Each of the regions is populated by a set of work tasks called a task set that are
adapted to characteristics of the project to be undertaken. For small projects the
number of tasks and their formality is low. Conversely, for large projects the reverse is
true.
34
REMOTE ADMINISTRATION 2012
It maintains a systematic stepwise approach, like the classic life cycle model, but
incorporates it into an iterative framework that more reflect the real world.
If employed correctly, this model should reduce risks before they become
problematic, as consideration of technical risks are considered at all stages.
35
REMOTE ADMINISTRATION 2012
3.3 ER DIAGRAM
36
REMOTE ADMINISTRATION 2012
37
REMOTE ADMINISTRATION 2012
38
REMOTE ADMINISTRATION 2012
CHAPTER 4:
IMPLEMEN-
TATION
39
REMOTE ADMINISTRATION 2012
4.2 CODING
ServerSocket.Start()
Msg("Chat server Executed...")
intCounter = 0
infiniteCounter = 0
For infiniteCounter = 1 To 2
infiniteCounter = 1
intCounter += 1
ClientSocket = ServerSocket.AcceptTcpClient()
clientsList(dataFromClient) = ClientSocket
broadcast(dataFromClient + " Joined ", dataFromClient, False)
Next
ClientSocket.Close()
ServerSocket.Stop()
Msg("Exit")
40
REMOTE ADMINISTRATION 2012
Console.ReadLine()
End Sub
broadcaststream.Write(broadcastBytes, 0, broadcastBytes.Length)
broadcaststream.Flush()
Next
End Sub
End Sub
While (True)
Try
requestCount = requestCount + 1
Dim NetworkStream As NetworkStream =
clientsocket.GetStream()
41
REMOTE ADMINISTRATION 2012
NetworkStream.Read(bytesFrom, 0,
CInt(clientsocket.ReceiveBufferSize))
dataFromClient =
System.Text.Encoding.ASCII.GetString(bytesFrom)
dataFromClient = dataFromClient.Substring(0,
dataFromClient.IndexOf("$"))
Msg("From client - " + clNo + " : " + dataFromClient)
rCount = Convert.ToString(requestCount)
broadcast(dataFromClient, clNo, True)
Catch ex As Exception
MsgBox(ex.ToString)
Exit While
End Try
End While
End Sub
End Class
End Module
42
REMOTE ADMINISTRATION 2012
Imports System.Data.SqlClient
Public Class Resources1
Dim conn As New SqlConnection
End Sub
43
REMOTE ADMINISTRATION 2012
Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Public Class Chatting
Dim clientSocket As New System.Net.Sockets.TcpClient()
Dim serverStream As NetworkStream
Dim readData As String
Dim infiniteCounter As Integer
Dim conn As New SqlConnection
44
REMOTE ADMINISTRATION 2012
ctThread.Start()
1:
MsgBox("Invalid Operation performed")
End Sub
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar = Chr(13) Then 'Chr(13) is the Enter Key
'Runs the Button1_Click Event
Button1_Click(Me, EventArgs.Empty)
End If
End Sub
End Class
45
REMOTE ADMINISTRATION 2012
46
REMOTE ADMINISTRATION 2012
Imports System.Data.SqlClient
Public Class Delete
Dim conn As New SqlConnection
Private Sub Delete_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
conn.ConnectionString = "user id = sa; initial catalog=Remote
Admin"
conn.Open()
If conn.State Then conn.Close()
conn.Open()
Dim cmd As New SqlCommand("Select Count(*) from remoteadmin1",
conn)
Dim i As Integer = cmd.ExecuteScalar()
cmd = Nothing
If conn.State Then conn.Close()
conn.Open()
Dim q As String
q = "Select * from remoteadmin1 where Status='R'"
Dim cmd1 As New SqlCommand(q, conn)
Dim dr As SqlClient.SqlDataReader = cmd1.ExecuteReader
If (dr.HasRows = True) Then
While dr.Read()
ListBox1.Items.Add(dr.GetValue(3).ToString.Trim(" "))
End While
47
REMOTE ADMINISTRATION 2012
End If
End Sub
Else
MsgBox("Deletion aborted", MsgBoxStyle.Information)
End If
End Sub
Private Sub bt3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bt3.Click
Me.Hide()
Resources1.Show()
End Sub
End Class
Imports System.String
Imports System.io
Imports System.Data.SqlClient
Public Class DriveAccessing
Dim conn As New SqlConnection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Hide()
Resources1.Show()
End Sub
48
REMOTE ADMINISTRATION 2012
49
REMOTE ADMINISTRATION 2012
Else
path = "\\" & ComboBox2.Text & "\" & ComboBox1.Text &
TextBox1.Text
Label1.Text = "\\" & ComboBox2.Text & "\" & ComboBox1.Text
& TextBox1.Text
End If
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ListBox1.DoubleClick
If ListBox1.SelectedIndex = -1 Then
MsgBox("Please Select an Item from the List Given ",
MsgBoxStyle.Exclamation)
Else
50
REMOTE ADMINISTRATION 2012
Label1.Text = t2.Text
ElseIf (t1.Text = ".avi" Or t1.Text = ".mp4" Or t1.Text =
".wmv" Or t1.Text = ".vob" Or t1.Text = ".flv") Then
System.Diagnostics.Process.Start("C:\Program
Files\VideoLAN\VLC\vlc.exe", t2.Text)
Label1.Text = t2.Text
ElseIf (t1.Text = ".mp3" Or t1.Text = ".rm") Then
System.Diagnostics.Process.Start("wmplayer.exe", t2.Text)
Label1.Text = t2.Text
Else
Dim path As String
ListBox2.Items.Add(ListBox1.Text)
TextBox1.Text = TextBox1.Text & "\" & ListBox1.Text
path = "\\" & ComboBox2.Text & "\" & ComboBox1.Text &
TextBox1.Text
ListBox1.Items.Clear()
Dim basedir As New IO.DirectoryInfo(path)
Dim di As New IO.DirectoryInfo(path)
Dim dir1 As IO.DirectoryInfo() = basedir.GetDirectories()
Dim dir As IO.DirectoryInfo
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
Label1.Text = "\\" & ComboBox2.Text & "\" & ComboBox1.Text
& TextBox1.Text
'list the names of all files in the specified directory
For Each dir In dir1
' If (dir.Attributes And IO.FileAttributes.System) <>
IO.FileAttributes.System And (dir.Attributes And IO.FileAttributes.Hidden)
<> IO.FileAttributes.Hidden Then
ListBox1.Items.Add(dir)
' End If
Next
For Each dra In diar1
' If (dra.Attributes And IO.FileAttributes.System) <>
IO.FileAttributes.System And (dra.Attributes And IO.FileAttributes.Hidden)
<> IO.FileAttributes.Hidden Then
ListBox1.Items.Add(dra)
' End If
Next
End If
End If
End Sub
51
REMOTE ADMINISTRATION 2012
End If
End Sub
End If
File.Copy(fileLoc, fileLocCopy)
MsgBox("File Copied", MsgBoxStyle.Information)
Else
MsgBox("File Not Found", MsgBoxStyle.Critical)
End If
End If
End Sub
End Class
4.2. (A).9 CLIENTS INFORMATION
Imports System.Data.SqlClient
Public Class Database
Dim conn As New SqlConnection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
52
REMOTE ADMINISTRATION 2012
RadioButton1.Enabled = False
RadioButton2.Enabled = False
MonthCalendar1.Visible = False
Dim message, title As String
Dim myValue As String
message = "Enter UserID"
title = "Database"
myValue = InputBox(message, title)
TextBox1.Text = myValue
DataGridView1.DataSource = GetData()
End Sub
Public Function GetData() As DataView
Dim SelectQry = "SELECT
Name,remoteadmin1.us,remoteadmin1.CompName,remoteadmin1.CompIP,Folder,Clien
t_Folder,logindt,Moved_File_dir,Moved_File_Folder FROM remoteadmin1 INNER
JOIN remoteadmin2 ON remoteadmin1.us = remoteadmin2.us where
remoteadmin1.us ='" & TextBox1.Text & "' AND remoteadmin2.us ='" &
TextBox1.Text & "'"
Dim SampleSource As New DataSet
Dim TableView As DataView
Try
Dim SampleCommand As New SqlCommand()
Dim SampleDataAdapter = New SqlDataAdapter()
SampleCommand.CommandText = SelectQry
SampleCommand.Connection = conn
SampleDataAdapter.SelectCommand = SampleCommand
SampleDataAdapter.Fill(SampleSource)
TableView = SampleSource.Tables(0).DefaultView
Catch ex As Exception
Throw ex
End Try
Return TableView
End Function
Return TableView
End Function
Public Function GetData2() As DataView
53
REMOTE ADMINISTRATION 2012
Return TableView
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
RadioButton1.Enabled = True
RadioButton2.Enabled = True
End Sub
54
REMOTE ADMINISTRATION 2012
55
REMOTE ADMINISTRATION 2012
4.2.(B).2 LOGIN
4.2.(B).3 REGISTRATION
4.2.(B).4 PERMISSIONS
4.2.(B).4 RESOURCES
4.2.(B).5 CHATTING
56
REMOTE ADMINISTRATION 2012
CHAPTER 5:
TESTING
RESULTS
5.1 TESTING
Software testing methods are traditionally divided into white- and black-box testing. These
two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
White box testing is when the tester has access to the internal data structures and algorithms
including the code that implement these.
57
REMOTE ADMINISTRATION 2012
Test coverage
White box testing methods can also be used to evaluate the completeness of a test
suite that was created with black box testing methods. This allows the software team
to examine parts of a system that are rarely tested and ensures that the most important
function points have been tested.
Two common forms of code coverage are:
Function coverage, which reports on functions executed
Statement coverage, which reports on the number of lines executed to
complete the test
Black box testing treats the software as a "black box"without any knowledge of internal
implementation. Black box testing methods include: equivalence partitioning, boundary value
analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and
specification-based testing.
Advantages and disadvantages: The black box tester has no "bonds" with the code,
and a tester's perception is very simple: a code must have bugs. Using the principle,
"Ask and you shall receive," black box testers find bugs where programmers do not.
On the other hand, black box testing has been said to be "like a walk in a dark
labyrinth without a flashlight," because the tester doesn't know how the software
being tested was actually constructed. As a result, there are situations when (1) a tester
writes many test cases to check something that could have been tested by only one
test case, and/or (2) some parts of the back-end are not tested at all.
Grey box testing (American spelling: gray box testing) involves having knowledge of
internal data structures and algorithms for purposes of designing the test cases, but testing at
the user, or black-box level. Manipulating input data and formatting output do not qualify as
grey box, because the input and output are clearly outside of the "black-box" that we are
calling the system under test. This distinction is particularly important when conducting
integration testing between two modules of code written by two different developers, where
only the interfaces are exposed for test. However, modifying a data repository does qualify as
58
REMOTE ADMINISTRATION 2012
grey box, as the user would not normally be able to change the data outside of the system
under test. Grey box testing may also include reverse engineering to determine, for instance,
boundary values or error messages.
Testing levels
Tests are frequently grouped by where they are added in the software development process, or
by the level of specificity of the test. The main levels during the development process as
defined by the SWEBOK guide are unit-, integration-, and system testing that are
distinguished by the test target without implying a specific process model. Other test levels
are classified by the testing objective.
Unit testing refers to tests that verify the functionality of a specific section of code, usually at
the function level. In an object-oriented environment, this is usually at the class level, and the
minimal unit tests include the constructors and destructors.
These types of tests are usually written by developers as they work on code (white-box style),
to ensure that the specific function is working as expected. One function might have multiple
tests, to catch corner cases or other branches in the code. Unit testing alone cannot verify the
functionality of a piece of software, but rather is used to assure that the building blocks the
software uses work independently of each other.
5.1.5 Integration
testing
Integration testing is any type of software testing that seeks to verify the interfaces between
components against a software design. Software components may be integrated in an iterative
way or all together ("big bang"). Normally the former is considered a better practice since it
allows interface issues to be localized more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction between
integrated components (modules). Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and tested until the
software works as a system
As a rule, system testing takes, as its input, all of the "integrated" software
components that have successfully passed integration testing and also the software system
itself integrated with any applicable hardware system(s). The purpose of integration testing is
to detect any inconsistencies between the software units that are integrated together (called
59
REMOTE ADMINISTRATION 2012
assemblages) or between any of the assemblages and the hardware. System testing is a more
limited type of testing; it seeks to detect defects both within the "inter-assemblages" and also
within the system as a whole.
5.1.7 Regression
testing
Regression testing focuses on finding defects after a major code change has occurred.
Specifically, it seeks to uncover software regressions, or old bugs that have come back. Such
regressions occur whenever software functionality that was previously working correctly
stops working as intended. Typically, regressions occur as an unintended consequence of
program changes, when the newly developed part of the software collides with the previously
existing code. Common methods of regression testing include re-running previously run tests
and checking whether previously fixed faults have re-emerged. The depth of testing depends
on the phase in the release process and the risk of the added features. They can either be
complete, for changes added late in the release or deemed to be risky, to very shallow,
consisting of positive tests on each feature, if the changes are early in the release or deemed
to be of low risk.
1. A smoke test is used as an acceptance test prior to introducing a new build to the main
testing process, i.e. before integration or regression.
2. Acceptance testing is performed by the customer, often in their lab environment on
their own hardware, is known as user acceptance testing (UAT). Acceptance testing
may be performed as part of the hand-off process between any two phases of
development.[citation needed]
understand the risks of software implementation. Test techniques include, but are not limited
to, the process of executing a program or application with the intent of finding software bugs
(errors or other defects).
Software testing can also be stated as the process of validating and verifying that a software
program/application/product:
Meets the business and technical requirements that guided its design and development works
as expected and Can be implemented with the same characteristics.
Software testing, depending on the testing method employed, can be implemented at any time
in the development process. However, most of the test effort occurs after the requirements
have been defined and the coding process has been completed. As such, the methodology of
the test is governed by the software development methodology adopted.
Different software development models will focus the test effort at different points in the
development process. Newer development models, such as Agile, often employ test driven
development and place an increased portion of the testing in the hands of the developer,
before it reaches a formal team of testers. In a more traditional model, most of the test
execution occurs after the requirements have been defined and the coding process has been
completed.
61
REMOTE ADMINISTRATION 2012
62
REMOTE ADMINISTRATION 2012
CHAPTER 6:
USER MANUAL
(STEPS TO
INSTALL
SOFTWARE)
6.1. Attach the database to Server Side
Open the Sql server 2000 Enterprise manager.
Right click on the database all tasks select attach database
From attach option it asks for mdf file.
Browse to give the database (mdf) to specify its location. (The database is provided
with the Remote administration software in the database folder)
Click on file name and select the Remote Admin.mdf from the location where
Database folder is present
6.2. Install the .Net framework from the disk given by the project developer.
63
REMOTE ADMINISTRATION 2012
Follow the instructions and just click on the finish for completing the installation.
6.5 Now you can run the .exe file of project from the following:
Desktop
All Programs
Or from the default folder C:\Program Files\setup1.
CHAPTER 7:
64
REMOTE ADMINISTRATION 2012
SWOT
ANALYSIS
Conclusions &
Future Scope
INTRODUCTION
SWOT analysis is a strategic planning method used to evaluate the Strengths, Weaknesses,
Opportunities, and Threats involved in a project or in a business venture. It involves
specifying the objective of the business venture or project and identifying the internal and
external factors that are favorable and unfavorable to achieve that objective. The technique is
credited to Albert Humphrey, who led a convention at Stanford University in the 1960s and
1970s using data from Fortune 500 companies.
65
REMOTE ADMINISTRATION 2012
A SWOT analysis must first start with defining a desired end state or objective. A SWOT
analysis may be incorporated into the strategic planning model. Strategic Planning has been
the subject of much research.
Strengths: characteristics of the business or team that give it an advantage over others
in the industry.
Weaknesses: are characteristics that place the firm at a disadvantage relative to others.
Opportunities: external chances to make greater sales or profits in the environment.
Threats: external elements in the environment that could cause trouble for the
business.
Identification of SWOTs is essential because subsequent steps in the process of planning for
achievement of the selected objective may be derived from the SWOTs.
First, the decision makers have to determine whether the objective is attainable, given the
SWOTs. If the objective is NOT attainable a different objective must be selected and the
process repeated.
7.1 CONCLUSIONS
COMPUTER PROJECT is quick and efficient to respond to the user. Proper validations and
messages are generated. Any user from any part of world can use the PROJECT. It can be
easily accessed by anybody.
We hereby conclude that this is a sincere and valiant effort, which we have input in the
development of this PROJECT.
Although there is always scope for innovation and functionalities to be added, we will
definitely put our best to implement in the near future.
66
REMOTE ADMINISTRATION 2012
CHAPTER 8:
BIBLOGRAPHY
67
REMOTE ADMINISTRATION 2012
8.1 REFERENCES
68