Introduction and SRS: Chapter-1
Introduction and SRS: Chapter-1
Today as day by day IT sector is growing with great speed and achieving great heights computer threats are also increasing with great pace. Most common means through which computer threats are increasing are computer viruses A Computer Virus is a small program or instructional code or a set of instructions, the recipe for making perfect copy of itself. The typical virus becomes embedded in a program on a computer. When infected computer comes into contact with an uninfected piece of software, a fresh copy of virus passes into the new program Apart from computer viruses other malware which can infect our system are worms, Trojans, spy ware. An Antivirus is a program which keeps track of such malware in its database and scans the system; if any malware has been found then it will take appropriate action towards it or will ask the user to take appropriate action and thus will help in securing your system. In this Project we are designing an antivirus named PC Savior which will work using dictionary based approach. It will be mainly dedicated to detect parasitic and multipartite virus.
Problem Statement
A Computer is infected by malicious software we will design a software program called as Antivirus Program named PC Savior which will detect such malicious software installed on system and if any found then the malware must be deactivated or quarantined or an appropriate action must be taken to bring the system back into its proper working environment. In this project we are basically focusing to detect two types of viruses which are: Parasitic Virus: These types of viruses mainly infect the file with .EXE or .COM extensions Multipartite Virus: A multi-partite virus will infect both files and boot sectors. Infects both .COM and boot sector.
CHAPTER-2
Requirements
Design
advapi32.dll :Provide access to functionality additional to the kernel. Included are things like the Windows registry, shutdown/restart the system (or abort), start/stop/create a Windows service, manage user accounts. These functions reside in advapi32.dll on 32-bit Windows. oleaut32.dll:The Oleaut32.dll file is a 32-bit dll file providing ole (Object Linking and Embedding) support to applications that require it. The oleaut32.dll file should normally be available on all Windows operating systems. shell32.dll Component of the Windows API allows applications to access the functionality provided by the operating system shell, as well as change and enhance it. The component resides in shell.dll on 16-bit Windows, and shell32.dll on 32-bit Windows. Kernel32:Kernel32.dll exposes to applications most of the Win32 base APIs, such as memory management, input/output operations, (process and thread) creation, and synchronization functions. Many of these are implemented within Kernel32.dll by calling corresponding functions in the native API
Modeling:
2.4 Requirement Analysis
Hardware Requirements This is the minimal requirement which is required for the working of the application execution. There is a local area network, and three tier architecture. Component Specification Random Access Memory Hard Disk Capacity Monitor Resolution Keyboard Mouse Network Equipments : : : : : : 128 MB 10 GB (800X600) Non- Multimedia Scroll Mouse with Two Buttons Modem (for internet connection)
Optimal Requirement This is the optimal requirement which is required for optimized performance of system and provide better environment for the working of the application.
Component Specification Random Access Memory Hard Disk Capacity Monitor Resolution Keyboard Mouse Network Equipments : : : : : : 512 MB 10 GB (1024X768) 107 Keys Scroll Mouse with Two Buttons Modem (for internet connection)
Floppy Drive
Software Requirements This is the minimum software requirement which is required for the working of the application execution. Operation System Development Kit Back end : : : Windows XP/Vista .NET MYSQL 2005
DATA DICTIONARY
I/P
WELCOME SCREEN
O/P
system
user
I/P
O/P
REGISTER
O/P USER
O/P
SYSTEM
O/P
USER
Use case 4.-for using the services, user have to login system provides the facility
I/P
LOGIN
O/P
SYSTEM USER
I/P
ISSUE PAPER
O/P
SYSTEM
USER
I/P
USER SYSTEM
10
I/P
WELCOME SCREEN
O/P
SYSTEM USER
Use case 2.-: for using the services the administrator has to login.
I/P LOGIN
O/P
SYSTEM
USER
Use case 3.-: all the administrative controls are shown by the system.
O/P
USER
I/P
O/P
SYSTEM
USER
11
I/P
QUESTION BANK
O/P
SYSTEM
USER
I/P
O/P
SYSTEM
USER
Usecase
Use case 7.-: administrator can view the test set modified and available.
I/P
O/P
SYSTEM
USER
I/P
AUTHENTICATION TO NEW USER SYSTEM
O/P
USER
12
The first characteristic, object orientation (OOD), refers to a method of programming and language design. Although there are many interpretations of OOD, one primary distinguishing idea is to design software so that the various types of data it manipulates are combined together with their relevant operations. Thus, data and code are combined into entities called objects. An object can be thought of as a self-contained bundle of behavior (code) and state (data).The principle is to separate the things that change from the things that stay the same. This separation into coherent objects provides a more stable foundation for a software systems design.
Instance Level Relationships External Links A link is the basic relationship among objects. It is represented as a line connecting two or more object boxes. A Link is an instance of an association. Association An Association represents a family of links. Binary association are normally represented as a line, with each end connected to a class box. Aggregation Aggregation is a variant of the has a or association relationship; aggregation is more specific than association. An aggregation can be named and have the same adornments that an association can. However, an aggregation may not involve more than two classes. Composition Composition is a stronger variant of the has a or association relationship; composition is more specific than aggregation. Composition usually has a strong life cycle dependency between instances of the container class and instances of the contained class(es).
13
14
Delete/modify
addpolicy
dissaprove 15
Delete policy
Customer:-
TEST PAPER
disapproval
TEST ATTEMPT
16
17
CANDIDATE REGISTRATION CONTENT MANAGER 3.0 MANAGER USER 5.0 ONLINE EXAM TEST
VIEW CONTENTS
SEARCH 4.0
18
U ser
in rm n fo atio
R istratio eg n
C eck h
n t step ex
R isterd eg U ser
P mt ay en P ces ro
in rm tio fo a n
V iew R istratio eg n
v u g reg alid ser et .
varifyD /C D h.no.
19
Ur se Py e t a mn
in u q ire
re ly p
Vlid tio a a n p c ss ro e
R g rd e iste Ur se
Py e t a mn P cs ro e Vlid tio a a n p c ss ro e
Vw ie R g tio e istra n
v lidu r g t re . a se e g
in rm tio fo a n
varifyD /Ch.no. D
R je te /Ac p d e c d c e te Bn ak
20
21
Subject Database
Select Subject creation
Admin
Create Question
Show
Option Table
Option
insert
Make Opt.
22
23
CHAPTER-3 Design
3.1 Data Design
A data structure is a way of storing data in a computer so that it can be used efficiently. The choice of data structure often beings from the choice of an abstract data structure. A well designed data structure allows a variety of critical operations to be performed, using as few resources, both execution time and memory space, as possible. Data structures are implemented using the data types, references and operations on then provided by a programming language. Different kinds of data structures are suited to different kinds of application. For example, B-trees are particularly well-suited for implementation of database.
The project makes use of following relations: studentlogin candidate adminlogin questionLib testset testsetpolicy
24
Presentation Tier The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. Application Tier (Business Logic/Logic Tier) The Logic tier controls an applications functionality by performing detailed processing. Data Tier Data tier keeps data neutral and independent form application servers or business logic.
25
4.2 .NET definition 4.2.1 Why used 1. What is .NET? The overall vision .NET is to create a common platform for building applications that can be delivered as reusable, interoperable services over the Internet and corporate intranets. .NET is a Microsofts next generation revolutionary new platform for Windows and Internet software development, based on open Internet Protocols and standards. At present, Microsoft is shipping four different programming languages: VB, C++, C# and J# within Visual Studio .NET, but there are actually 41 languages in all that are going to target the .NET framework.
2. What are Web Services? A Web Service represents a black box functionality that can be reused without worrying about how the service is implemented. They provide well- defined interfaces that describe the services provided.
The .NET Framework is designed to fulfill the following objectives: To provide a consistent object- oriented programming environment. To provide a code execution environment. To make the developer experience consistent across widely varying types of applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code. The .NET Framework has two main components: 1. The common language runtime The common language runtime is the foundation of the .NET Framework. The runtime is an agent that manages code at execution time, providing core service such as memory management, thread management and remoting. Features of common language runtime
26
The clr manages memory, thread execution, code execution, compilation and other system services. The runtime enforces code access security. The runtime also enforces code robustness by implementing strict type- and- codeverification infrastructure called the common type system (CTS). The runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. The runtime also accelerates developer productivity. The runtime is designed to enhance performance.
The Common Language Runtime (CLR) The CLR is Microsofts commercial implementation of the Common Language Infrastructure (CLI) specification. The CLI specification is an international standard for creating development and execution environments in which languages and libraries work together seamlessly.
CLR fundamentals The CLR is a very important part of the .NET Framework. At the base level, it is the infrastructure that executes applications, and allows them to interact with the other parts of the Framework. It also provides important capabilities in optimizing, securing, and providing many robust capabilities such as application deployment and side- by- side execution. 2. The .NET Framework Class Library: It is a comprehensive, object oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to application based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web Services.
4.4 SQL Server SQL stands for Structured Query Language. It s the language used to access scalable SQL for Windows data. With SQL server we can query our database in a variety of ways, using English like statement. SQL server 2000 provides the enterprise data management environment. SQL Server 2000 is a fully enterprise-class data product, providing core support for Extensible Markup Language (XML) and Internet queries.
27
28
29
30
31
Testing a program consist of providing the program with a set of test input and observing if the program behaves as expected. If the program fails to behave as expected ,then the conditions under which a failure occure are noted for debugging and correction. The following are some commonly used terms associated with testing. A failure is a manifestation of an error but the mere presence of an error may not necessarily lead to a failure. A fault is an incorrect intermediate state that may have been entered during program execution. A test case is the triple[I,S,O] where I is the data input to the system,S is the status of the system at which the data is input ,and O is the output of the system.
Verification VS validation:
Verification is the process of determining whether one phase of a software product overcomes its previous phase, whereas validation is the process of determining whether a fully developed system overcomes its requirements specification.
32
1. Unit testing:
Unit testing is the testing of different units or modules of a system in isolation.
2. Integration testing:
The integration testing consists of a number of steps. During each integration step,some modules are added to previously patially integrated system and the system is tested again. The primary objective of integration testing is to test the module interface.
3. System testing:
Once all the modules have been integrated and tested, system testing can start. During system testing the fully integrated system is tested against the requirements of the system as recorded in the SRS document..
4. Stress testing:
Stress testing is also known as endurance testing. Stress tests are black box test, which are designed to impose a range of abnormal and even illegal input conditions so as to stress the capabilities of the software. Input data volume, input data rate processing time etc are tested beyond the designed capacity.
Add /modify/delete question in question library Prepare test set Add/modify/delete test set policy Logout
6.4 TEST DATA SET: 6.4.1 Basic Student Function test 6.4.1.1 Sign Up a new account:
New customer must provide 5 attributes (user id, password, name , email add)to sign a user account. Any missing attributes should result a failed response. User id must be unique in the whole system. With all information provided, any customer should be able to create a new account with correct personal information. If create new account failed , system should response with appropriate reason.
6.4.1.2 Student login: Each customer should be able to login successfully with registered user id and correct
password.
After successful login, user should see his/her user id on top of each page. 6.4.1.3 Issue paper:
Student issue the paper provided. Administrator manages which paper is to be issued.
6.4.1.6Logout:
System should provide customer a logout choice all the time after he /she login. System should provide clean logout operation.
6.5Acceptance testing:
Acceptance testing is a black box testing performed on a system prior to its delivery. It is also known as functional testing, black box testing, release acceptance, QA testing, application testing or factory acceptance testing. ACCEPTANCE TEST PLAN: The customer is responsible for the acceptance test. We will need to develop a more formal and documented testing process than any other tests in acceptance plan we will define the following information: Customer responsibilities Acceptance criteria Acceptance test work plan
6.6 MAINTAINANCE:
All software needs maintenance .software needs to be maintained, not because some of its so component wear out and need to be replaced. but because there are often some residual errors remaining in the system that must be removed as they are discovered.
35
36
8.2 Conclusion
From above discussion we are able to conclude that our project is valid project which can be accepted in many institutions and is helpful a lot when applied for a large scale. This is an easy project which can be installed with a few specific requirements and is helpful where a firewall with additional features is to be used.
37
Future enhancement
In future, our product Online Test can be added with more features as per need of the specialized client. The student can have model test papers, student can demand the kind of quiz he/she wants to attempt, the interaction between the student and administrator can be incremented, the administrator can combine various Test sets to make a final paper containing various question paper categorized.
REFRENCES-:
MSDN library for visual studio 2005 Microsoft sql Server books on line ASP.NET in 21 days Roger S. Pressman, Software engineering A Practitioners Approach (Mc Graw- Hill international editions,1997)
38