0% found this document useful (0 votes)
75 views

Introduction and SRS: Chapter-1

The document discusses designing an antivirus program called "PC Savior" that will detect malicious software installed on a system. It will focus on detecting two types of viruses: parasitic viruses that infect files with .EXE or .COM extensions, and multipartite viruses that infect both files and boot sectors. The antivirus will be developed using a dictionary-based approach and work to deactivate, quarantine, or take other actions against detected malware to secure the system.

Uploaded by

Akash Mishra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Introduction and SRS: Chapter-1

The document discusses designing an antivirus program called "PC Savior" that will detect malicious software installed on a system. It will focus on detecting two types of viruses: parasitic viruses that infect files with .EXE or .COM extensions, and multipartite viruses that infect both files and boot sectors. The antivirus will be developed using a dictionary-based approach and work to deactivate, quarantine, or take other actions against detected malware to secure the system.

Uploaded by

Akash Mishra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 38

CHAPTER-1

Introduction and SRS

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

Literature Survey 2.1 Feasibility Study


Economic Feasibility The proposed system for online quiz examination is mainly developed with front-end using ASP.NET Framework 2.0, and back-end as MYSQL. Technical Feasibility The system is desktop based and the forms created are user friendly and some advanced graphics features which make it more feasible. Operational Feasibility The proposed system is very simple and has easy and understandable forms. The user has to just login then according to authorization the user can operate the whole system, thereby controlling all the functions related to the system. Social Feasibility The system will help the server to carry out its operations easily and efficiently with the system using all available functions and settings.

2.2 Process Model


Our project is based on incremental process model. The incremental model combines elements of the waterfall model applied in an iterative fashion. The incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces deliverable increments of the software. For example, word processing software. When an incremental model is used, the first increment is often a core product. That is basic requirement are addressed, but many supplementary features remain undelivered. The core product is used by the customer. The incremental process model, like prototyping and other evolutionary approaches, is iterative in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment. Incremental developed is particularly useful when staffing is unavailable for a complete implementation by business deadline that has been established for the project. Early increments can be implemented with fewer people.
3

Requirements

Design

Implementation and system testing Integration and system testing Operation

THE INCREMENT MODEL

2.3 Module Specification


In order to perform the task we need following dlls :1. advapi32.dll 2. oleaut32.dll 3. shell32.dll 4. kernel32 .dll

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

1.44 Mega Bytes

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

2.5 Data Dictionary


Data dictionary is a set of metadata which contains the definition and representation of data elements. From the perspective of a database management system, a data dictionary is a set of table and views which can only be read and never altered. Database users and application developers can benefit from an authoritative data dictionary document that catalogs the organization, contents, and conventions of one or more databases. A data dictionary document also may include further information describing how data elements are encoded. One of the advantages of well-designed data dictionary documentation is that it helps to establish consistency throughout a complex database, or across a large collection of federated databases.

DATA DICTIONARY

2.6-USE CASE DIAGRAM


Use case diagram for member: Use case 1.- when a user wants to login, a welcome screen appears.

I/P

WELCOME SCREEN

O/P

system
user

Use case 2-New user have to sign-in by registration form.

I/P

O/P

REGISTER
O/P USER

O/P

SYSTEM

use case 3.-system shows successful registration of new user

I/P REGISTRATION SUCCESSFUL


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

Use case 5.-user get the paper issued.

I/P

ISSUE PAPER

O/P

SYSTEM

USER

use case 6.-the paper issued is attempted by the user.

I/P

O/P PAPER ATTEMPT

USER SYSTEM

10

Use case diagram for administrator-:


Use case 1.-: welcome screen shown to administrator, who wants to login.

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.

I/P ADMINISTRATOR CONTROL SYSTEM

O/P

USER

Use case 4-: administrator can set test policy.

I/P

SET TEST POLICY

O/P

SYSTEM

USER

11

Use case 5.-: administrator can modify question bank.

I/P

QUESTION BANK

O/P

SYSTEM

USER

Use case 6.-: administrator can prepare test set.

I/P

PREPARE TEST CASE

O/P

SYSTEM

USER

Usecase

Use case 7.-: administrator can view the test set modified and available.

I/P

VIEW TEST SET

O/P

SYSTEM

USER

Use case 8.-: administrator provides authentication to the new user.

I/P
AUTHENTICATION TO NEW USER SYSTEM

O/P

USER

12

2.7 Object Oriented Design (Class Diagram)

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

2.8 E-R Diagram


An entity-relationship model (ERM) in software engineering is an abstract and conceptual representation of data. Entity-relationship modeling is a relational schema database modeling method, used to produce a type of conceptual schema or semantic data model of a system.

14

2.9 State Transition Diagram-: Administrator-:


Authentifying new user reject allow

Test policy Insert new

Delete/update Question library login Add question logout

Prepare test set

Delete/modify

Select test set View test set policy

addpolicy

dissaprove 15

Delete policy

Customer:-

LOGIN ISSUE TEST

TEST PAPER

disapproval

TEST ATTEMPT

TEST RESULT LOGOUT

16

2.10 Data Flow Diagram


A data flow diagram (DFD) also called as the process modeling is an analysis technique used to captures the flow of input through a system to their resulting output. The model is fairly simple in that there are only four types of symbols- process, data flow, external entity, data source. The following clarifies what each symbol in process modeling represents: Process: An activity or a function that is performed for some specific reason, can be manual or computerizes, ultimately each process should perform only one activity. Data Flow: Single piece of data or logical connection of information likes a bill. External Entities: A person, organization, or a system that is external to the system but interacts with it.

17

ZERO LEVEL DATA FLOW DIAGRAM-:

DELETE, MODIFY USER

CREATE PROFILE 1.0

CANDIDATE REGISTRATION CONTENT MANAGER 3.0 MANAGER USER 5.0 ONLINE EXAM TEST

PAPER ATTEMPT, VIEW RESULT

VIEW CONTENTS

APPEARS IN EXAMS 2.0

SEARCH 4.0

18

1st level(Registration DFD)

U ser

in rm n fo atio

R istratio eg n
C eck h

n t step ex

V atio alid n p cess ro

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.

V atio alid n p cess ro

R ejected ccep /A ted Bk an

19

2nd level(Registration DFD)


fe in rm tio e fo a n in rmtio fo a n R g tio e istra n Ce k hc n x ste et p F eta le e b E a ID xm E a ta le xm b

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

1st level(Question library DFD)

21

Second Label Question Library 3.1

Subject Database
Select Subject creation

Question Table Question bank


Insert Select qid

Admin

Create Question

Edit Question View Question


Option creation Insert

Show
Option Table

Create option Remove Show option

Option
insert

Make Opt.

22

1st level(Admin Set creation)

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

3.2 Architectural Client Server Architecture


Three- tier is a client server architecture in which the user interface, functional process logic. Computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. The three- tier model is considered to be a software architecture and a software design pattern. The 3- tier architecture has the following 3 tiers:

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.

3.3 Platform used


Platform used .NET MYSQL Server

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.

4.3 The .NET

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

CHAPTER-5 Screen Layout-:

28

29

30

31

CHAPTER-6 Testing and Maintenance

6.1 : SOFTWARE TESTING:

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.

6.2 TYPES OF TESTING:


Unit testing Integration testing System testing

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.

6.3 Test Cases: 6.3.1 Basic Student Function test


Sign up a new account Student login Issue paper Attempt paper Check result Logout

6.3.2 Basic Administrator function test:


Authentification of new user View/insert/delete test policy
33

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.4 Attempt paper:


System provides the students with the question paper. There are various section in the paper carring equal marks.

6.4.1.5 Check result:


System shows the result of the test given to the student logged in after completing the test System shows the result based on the correct answer checked in the question paper solved by logged student.
34

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

Type of acceptance testing


User acceptance testing Operational acceptance testing Contract and regulation acceptance testing Alpha and beta testing

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

CHAPTER-7 User Manual


7.1 Installation Guidelines:
It is just a .exe file being created, which requires only double clicking on the file and we have the next editor ready to use. Hence there is no extra efforts to be applied for the installation of the project. Hence can be used by any other user who is not so efficient in computer operation.

7.2 User Manual:


It provide the platform to student those are preparing for competitive exam. Help those student who are not aware way of preparing competitive exam. We provide the test series for competitive exam. We provide study material & tutorial packages for students preparing for competitive exam. It show what is your current stage and how to you prepare himself for fight. It provide you to self-assessments and you know your depth of preparation.

36

CHAPTER-8 CONCLUSION 8.1 Product Evaluation


Evaluation of this project is the task in which we will decide that how much is the project useful to us? Are we in the right path to look for the benefits of the project? Answer to all these question is quiet clear now, we have made our project Online Exam which will solve many problems. Major task of the Online Quiz is to: Maintaining a registration database Maintaining question database To provide student with quiz paper with result for self evaluation.

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

You might also like