Professional Documents
Culture Documents
1 Abstract
"rgani%ati"n bet&een !i''erent clients (Organi%ati"n sta'') "n the net&"r*. The ain "b+ecti#e "' the pr"+ect is t" !e#el"p a '$lly '$ncti"nal Mailing ,yste that enhances c" $nicati"ns a "ng the e bers "' the "rgani%ati"n in a reliable- c"st.e''ecti#e an! sec$re &ay. Th$s it helps the "rgani%ati"n t" i pr"#e the per'"r ance "' its tea s in the c"rp"rate sect"r. This syste !esign shall be able t" pr"#i!e the '"ll"&ing 'acilities t" the $sers/
a$th"ri%e! $sers pr"#i!ing sec$rity. the respecti#e '"l!ers. E''ecti#e ay pr"#i!e c"nstr$cti"n an! !esign $nicati"n ails
the 'acility t" re#ie& !e#el"p ent "' challenges. 0. A pr"+ect speci'ic
$nicati"n has bec" e an integral part "' "rgani%ati"ns t"!ay. The rapi! ailing syste (intranets) eeting these gr"&ing c"
in'"r ati"n an! the "rgani%ati"nal in'"r ati"n s$ch as $ser1s !etails incl$!ing the pers"nal in'"r ati"n an! in'"r ati"n re2$ests. Tea s e bers can be then access this in'"r ati"n $sing the Mailing ,yste . As in'"r ati"n changesthe ser#er c"ntent can be easily $p!ate! &ith ne& "r re#ise! !ata. This 'le3ible appr"ach all"&s ge"graphically re "te pr"+ect tea s t" access ti elyc"nsistent an! acc$rate in'"r ati"n &ith"$t e3pensi#e typesetting- printing!istrib$ti"n an! ailing charges.
1.0 Ob+ecti#e
,ec$re Mailing/ . The objective of this project is to describe the basic features of emailing system and identify the E-mails which consist of offensive, anti-social elements through some special keywords i.e. managed by administrator and block them. 4etecti"n "' s$spici"$s $ser/ . It helps in identifying the suspicious user who sends suspicious mail that contains harmful data like spam, virus or executable file. ,ec$rity/ .It provides security to the organisation that adapts it. embers of the organisation can securely communicate with each other and can send secure data !that should not share to the outside world" to the other members of the organisation.
3
5ser 'rien!ly/ .It provides user friendly environment. easily use it without knowing background details of it.
Maintains re!$n!ancy/ .It maintains redundancy in the database and provides a uni#ue user id to the user. C"st E''ecti#e/ -It is cost effective because organisation do not have to pay for interacting the employees. $nd user can mail any number of mails.
Chapter 0 I6TRO45CTIO6
5
Electronic mail !also known as email or e-mail" is one of the most commonly used services on the Internet, allowing people to send messages to one or more recipients. Email was invented by %ay Tomlinson in &'(). any people are now using various email services to communicate with each other. *ut some emails have harmful content in it that can affect our +,, -aptop,.etc. In this project, suspicious users who send harmful emails are identified by determining the keywords used by him/her. The keywords such as bomb, %01, are found in the mails which are sent by the user. $ll these blocked mails are checked by the administrator and identify the users who sent such mails. This is very useful in real-time scenario in which you can resume the anti-social activities.
)" %egistration
4" 5ser
This module is used by administrator and users !who are authenticated" to login into the 7ava 8ecure correct. ail. The login details of the specified person will be entered and hence can enter into ail. If a user is not authenticated then it notifies login details are not the 7ava 8ecure
0.1.0 Registrati"n M"!$le This module is used by the unauthenticated users who are unregistered. The users must register themselves by uni#ue username such that they can login into the 7ava 8ecure ail. If
6
a user of same username is already exists then it notifies user already exists. If password and confirm password is not matched then it notifies password is not matched. 0.1.9 A! inistrati"n M"!$le This module is used by the administrator to perform the functions like managing the keywords, entering new keywords and to check out the block list of the discarded mails. 0.1.: Managing har '$l *ey&"r!s M"!$le
This module is used by the administrator to perform the functions like addition, deletion and modification of the harmful keywords. The harmful keywords are sent to the database and hence managed by the administrator. If keyword already exists then it tells to the administrator. 0.1.; 5ser M"!$le
This module is used by the users to do operations like composing mail, checking out the mails in inbox and finally sending the mails to the authenticated users by attaching a message or file. 0.1.< C" p"sing Mail M"!$le
This module is used by the users for composing mail. In this module, user specifies header and body of the file and attaches a file. 9eader contains address of the recipient and subject of mail. *ody contains actual description of mail. :e can attach any type of file in it. If a file is .exe file then it will considers as harmful file. It notifies to the user that mail has sent or not.
0.0 Hist"ry
Email is much older than $rpanet or the Internet. It was never invented; it evolved from very simple beginnings. Early email was just a small advance on what we know these days as a file directory - it just put a message in another user<s directory in a spot where they could see it when they logged in. 8imple as that. 7ust like leaving a note on someone<s desk. +robably the first email system of this type was $I-*=1, used at assachusetts Institute of
7
Technology from &'64. $nother early program to send messages on the same computer was
called 8>0 8?. %ay Tomlinson is credited with inventing email in &'(). -ike many of the Internet inventors, Tomlinson worked for *olt *eranek and >ewman as an $%+$>ET contractor. 9e picked the @ symbol from the computer keyboard to denote sending messages from one computer to another. 8o then, for anyone using Internet standards, it was simply a matter of nominating name-of-the-user@name-of-the-computer. Internet pioneer 7on +ostel, who we will hear more of later, was one of the first users of the new system, and is credited with describing it as a Anice hackA. It certainly was, and it has lasted to this day. *y &'(3 there were hundreds of military users of email because $%+$>ET eventually encouraged it. Email became the savior of $rpanet, and caused a radical shift in $rpa<s purpose. Things developed rapidly from there. -arry %oberts invented some email folders for his boss so he could sort his mail, a big advance. In &'(4 7ohn Bital developed some software to organiCe email. *y &'(6 email had really taken off, and commercial packages began to appear. :ithin a couple of years, (4D of all $%+$>ET traffic was email. Email took us from $rpanet to the Internet. 9ere was something that ordinary people all over the world wanted to use. =ne of the first new developments when personal computers came on the scene was Aoffline readersA. =ffline readers allowed email users to store their email on their own personal computers, and then read it and prepare replies without actually being connected to the network - sort of like icrosoft =utlook can do today. The first important email standard was called 8 T+, or simple message transfer protocol. 8 T+ was very simple and is still in use however, as we will hear later in this series, 8 T+ was a fairly naEve protocol, and made no attempt to find out whether the person claiming to send a message was the person they purported to be. Forgery was !and still is" very easy in email addresses. These basic flaws in the protocol were later to be exploited by viruses and worms, and by security frauds and spammers forging identities. 8ome of these problems are still being addressed in )GG3. *ut as it developed email started to take on some pretty neat features. =ne of the first good commercial systems was Eudora, developed by 8teve 0orner in &'HH. >ot long after +egasus mail appeared. :hen Internet standards for email began to mature the +=+ !or +ost =ffice +rotocol" servers began to appear as a standard - before that each server was a little different. +=+ was an important standard to allow users to develop mail systems that would work with each other. These were the days of per-minute charges for email for individual dialup users. For most
8
people on the Internet in those days email and email discussion groups were the main uses. These were many hundreds of these on a wide variety of topics, and as a body of newsgroups they became known as 58E>ET.
$ great deal of business communication and workflow is centered on email, but we #uestion whether email is the ultimate long term solution for communication and workflow processes. :hile email is a good method for anyone in the world to contact
10
you, that<s also email<s biggest problem. or team. It comes from Aimportant peopleA. E ail as a b$siness c" It>s t"tally insec$re $nicati"n
does not come from just anyone; it comes from other members of your organiCation, partners,
echanis
has
,onfidential business documents sent over email are not confidential. These documents can be read both inside and outside of your organiCation. For example, your system administrator can read the latest draft of your strategic ac#uisition agreement or medical patient information. It>s t"" "pen our mailboxes are filling with junk mail, and the situation is getting worse every month. 0ue to the inherent general delivery design of email, this problem cannot be prevented, even with the best designed email filters. E ail can be !anger"$s ,omputer viruses are most commonly delivered through email because there is no certification mechanism for email senders. In email can initiate a new virus. 4eli#ery is n"t g$arantee! 7ust like postal mail, email may be delivered, or maybe not. Take the recent example of 9arvard acceptance letters that were deleted by $=-, thinking they were junk mail. E ail is n"t real ti e There is too much delay to have an active conversation, which is why more and more people are turning to instant messaging solutions !which also have their own security problems". It lac*s $bi2$it"$s access it is problematic for most users to access their email from all locations, such as at home or while on the road. This is the primary reason why web-based email became popular. If you consider email for managing workflow, it has a number of additional problemsM icrosoft =utlook, just clicking on an
11
It>s a p""r &ay t" share 'iles they don<t arrive in nicely organiCed directories that allow both parties see identical file and directory structures.
There>s n" applicati"n 'ra e&"r* Email is for message-oriented content. It has no concept of a standard framework to deliver active applications.
Its plat'"r
!epen!ent icrosoft :indows and =utlook, which means they are left out of
many organiCations have members !such as development or graphics groups" who use systems other than certain activities. It>s a hapha%ar! &"r*'l"& eth"!
is email really the best possible driver of corporate and organiCational workflowN Email is ade#uate for communicating with the world-at-large, a general delivery mailbox, but most business and organiCational communications is oriented toward relatively small teams of working relationships. 5sing email to drive internal business workflow is like running a business based on receiving 58 postal mail as it arrives at the mailbox.
12
13
14
?enerally, feasibility studies are undertaken within tight time constraints and normally culminate in a written and oral feasibility report. The contents and recommendations of such a study will be used as a sound basis for deciding whether to prove, postpone or cancel the project. Thus, since the feasibility study may lead to the commitment of large resources, it becomes necessary that it should be conducted competently and that no fundamental errors of judgment are made. The most successful system projects are not necessarily the biggest or most visible business but rather those that truly meet user expectations. because of inflated expectations than for any other reason. ore projects fail
Each of these #uestions must be answered carefully. They revolve around investigation and evaluation of the problem, identification and description of candidate systems, specification of performance and the cost of each system, and final selection of the best system. The objective of a feasibility study is not to solve the problem but to ac#uire a sense of its scope.
15
0uring the study, the problem definition is crystalliCed and aspects of the problem to be included in the system are determined.
,onse#uently, costs and benefits are estimated with greater accuracy at this stage. The result of the feasibility study is a formal proposal. This is simply a report-a formal document detailing the nature and scope of the proposed solution. The proposal summariCes what is known and what is going to be done. It consists of the followingM &. 8tatement of the problem - a carefully worded statement of the problem that led to analysis. ). 8ummary of findings and recommendations- a list of the major findings and recommendations of the study. It is ideal for the user who re#uires #uick access to the results of the analysis of the system under study. ,onclusions are stated, followed by a list of the recommendations and a justification for them. 2. 0etails of findings - an outline of the methods and procedures under taken by the existing system, followed by coverage of the objectives and procedures of the candidate system. Included are also discussions of output reports, file structures, and costs and benefits of the candidate system. 3. %ecommendations and conclusions - specific recommendations regarding the candidate system, including personnel assignments, costs, project schedules and target dates. $fter the proposal is reviewed by management, it becomes a formal agreement that paves the way for actual design and implementation. This is a crucial decision point in the life cycle. any projects die here, whereas the more promising ones continue through implementation. ,hanges in the proposal are made in writing, depending on the complexity, siCe and cost of the project. It is simply common sense to verify changes before committing the project to design.
Eight steps are involved in the feasibility analysis. They areM &. Form a project team and appoint a project leader. ). +repare system flowcharts. 2. Enumerate potential proposed systems. 3. 0efine and identify characteristics of proposed system. 4. 0etermine and evaluate performance and cost effectiveness of each proposed system. 6. :eight system performance and cost data. (. 8elect the best proposed system. H. +repare and report final project directive to management
a. Increased agency revenue. b. 0ecreased agency revenue. c. Increased agency cost. d. 0ecreased agency cost. e. =ther organiCational benefits. There isnJt an order or magnitude rule of thumb that applies generally. The alternative dismissal/selection process depends on other things, such as, how well an alternative meets the project purpose and need, and the totality of environmental impacts. :hat if an alternative that cost 3 or 4 times more than other alternatives but in turn had 3 to 4 times less environmental impactsN 0epending on the type of resources and impacts, you might not be able to rule that alternative out on the basis of dollar cost alone. ,onversely, an alternative that was much cheaper than others but with unacceptable impacts might be considered unacceptable depending on the resources, impacts and others values the alternative brings with it. The feasibility study is one of the most misunderstood aspects of developing a location-based leisure facility. Iet, it is perhaps the most important step, as mistakes at this early stage can permanently handicap the projectJs performance, perhaps fatally. $ good feasibility study is more than just a set of financial projections. 0one properly, it becomes the market-driven strategic plan that is the road map for all subse#uent decisions. $s much as answering the #uestion KIs a project feasibleNL a good study also addresses the #uestion of what is most feasible and what should all its attributes be to assure maximum success.
18
This is concerned with specifying e#uipment and software that will successfully satisfy the user re#uirement. The technical needs of the system may vary considerably, but might includeM The facility to produce outputs in a given time. %esponse time under certain conditions. $bility to process a certain volume of transaction at a particular speed. Facility to communicate data to distant location.
This project is technically feasible as it has got all the features necessary to form a healthy environment for communication. The concepts O technology used in this project is perfectly well and secure. $ny organiCationJs employee having an acc"$nt on mailing system can access this project and make full use of it.
If not, can they be trained in due course of timeN ?enerally project will not be rejected simply because of operational infeasibility but such considerations are likely to critically affect the nature and scope of the eventual recommendations. The system working is #uite easy to use and learn due to its simple but attractive interface. 5ser re#uires no special training for operating the system. They can easily work and operate this system.
8ocial feasibility is a determination of whether a proposed project will be acceptable to the people or not. This determination typically examines the probability of the project being accepted by the group directly affected by the proposed system change. This system can easily be adopted by the social organiCation because it recognises the suspicious user and mails.
7ava has had a profound effect on the Internet. This is because; java expands the 5niverse of objects that can move about freely in ,yberspace. In a network, two categories of objects are transmitted between the server and the personal computer. They are passive information and 0ynamic active programs. in the areas of 8ecurity and probability. *ut 7ava addresses these concerns and by doing so, has opened the door to an exciting new form of program called the $pplet.
:.<.1.0 Ja#a architect$re 7ava architecture provides a portable, robust, high performing environment for development. 7ava provides portability by compiling the byte codes for the 7ava Birtual achine, which is then interpreted on each platform by the run-time environment. 7ava is a dynamic system, able to load code when needed from a machine in the same room or across the planet.
:.<.1.9 C" pilati"n "' c"!e :hen you compile the code, the 7ava compiler creates machine code !called byte code" for a hypothetical machine called 7ava Birtual executed the byte code. The 7B machine is called 7ava Birtual achine !7B ". The 7B is supposed is created for the overcoming the issue of probability. achine.
The code is written and compiled for one machine and interpreted on all machines .This
21
SPARC Compiler
Fig. 3.& ,ompiling and Interpreting 7ava 8ource ,ode 0uring run-time the 7ava interpreter tricks the byte code file into thinking that it is running on a 7ava Birtual achine. In reality this could be an Intel +entium windows '4 or sun acintosh running system and all could receive code 8+$%,station running 8olaris or $pple
from any computer through internet and run the $pplets. :.<.1.; Feat$res "' Ja#a I. ,i ple
)))
7ava was designed to be easy for the +rofessional programmer to learn and to use effectively. If you are an experienced ,PP +rogrammer, -earning 7ava will oriented features of ,PP. ost of the confusing concepts from ,PP are either left out of 7ava or implemented in a cleaner, more approachable manner. In 7ava there are a small number of clearly defined ways to accomplish a given task. II. Ob+ect Oriente! 7ava was not designed to be source-code compatible with any other language. This allowed the 7ava team the freedom to design with a blank state. =ne outcome of this was a clean usable, pragmatic approach to objects. The object model in 7ava is simple and easy to extend, while simple types, such as integers, are kept as high-performance non-objects. III. R"b$st The multi-platform environment of the web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust
22
programs was given a high priority in the design of 7ava. 7ava is strictly typed language; it checks your code at compile time and runtime. 7ava virtually eliminates the problems of memory management and deal location, which is completely automatic. In a well-written 7ava program, all run-time errors can and should be managed by your program.
:.<.0 J,P
The first 7ava 8erver +ages specification was released in &'''. =riginally 78+ was modelled after other server-side template technologies to provide a simple method of embedding dynamic code with static mark-up. :hen a re#uest is made for the content of a 78+, a container interprets the 78+, executes any embedded code, and sends the results in a response. $t the time this type of functionality was nothing terribly new, but it was and still is a helpful enhancement to 8ervlets. 78+ has been revised several times since the original release, each added functionality, and is currently in version ).G. The 78+ specifications are developed alongside the 8ervlet specifications and can be found on 8un 7ava 8erver 78+ +ages product icrosystemsJ page,httpM//java.sun.com/products/jsp. The information
functionality defined by the 78+ ).G specifications can be broken down as followsM
The 78+ specifications define the basic syntax and semantics of a 7ava 8erver +age. $ basic 7ava 8erver +age consists of plain text and markup and can optionally take advantage of embedded scripts and other functionality for creating dynamic content. 7ava*eans
7ava*eans are not defined by the 78+ specifications, but 78+ does provide support for easily using and manipulating them. =ften objects used on the server-side of a :eb $pplication are in the form of what is commonly called a 7ava*ean. ,ustom Tags and 78+ Fragments
78+ provides a mechanism for linking what would normally be static markup to custom 7ava code. This mechanism is arguably one of the strong points of 78+ and can be used in place of or to complement embedded scripts of 7ava code. Expression -anguage
23
78+ includes a mechanism for defining dynamic attributes for custom tags. $ny scripting language can be used for this purpose; usually 7ava is implemented, but the 78+ specification defines a custom expression language designed specifically for the task. =ften the 78+ E- is a much simpler and more flexible solution, especially when combined with 78+ design patterns that do not use embedded scripts. 0iscussing the basics of 78+ is the focus of this chapter. 7ava*eans, ,ustom Tags, and the 78+ Expression -anguage are all fully discussed in later chapters after a proper foundation of 78+ is established. :.<.0.1 J,P 8IFE C?C8E uch like 8ervlets, understanding 78+ re#uires understanding the simple life cycle that 78+ follows. 78+ follows a three-phase life cycleM initialiCation, service, and destruction, as shown in Figure 2-&. This life cycle should seem familiar and is identical to the one described for 8ervlets. :hile a 78+ does follow the 8ervlet life cycle, the methods have different names. InitialiCation corresponds to the jspInit!" method, service corresponds to the Qjsp8ervice!" method, and destruction corresponds to the jsp0estroy!" method. The three phases are all used the same as a 8ervlet and allow a 78+ to load resources, provide service to multiple client re#uests, and destroy loaded resources when the 78+ is taken out of service.
78+
is
the task of
objects and does so by eliminating all the redundant parts of coding a 8ervlet. 5nlike with 8ervlets there is no distinction between a normal 78+ and one meant for use with 9TT+. $ll 78+ are designed to be used with 9TT+ and to generate dynamic content for the :orld :ide :eb. The single 78+ Qjsp8ervice !" method is also responsible for generating responses to all seven of the 9TT+ methods. For most practical purposes a 78+ developer does not need to know anything about 9TT+, nor anything more than basic 7ava to code a dynamic 78+.
24
:.<.9 J4BC
:.<.9.1 7hat is J4BC@ =ne can write a single program using the 70*, $+I, and the 70*, is a 7ava $+I for executing 8R-, 8tatements!$s a point of interest 70*, is trademarked name and is not an acronym; nevertheless, 70*, is often thought of as standing for 7ava 0atabase ,onnectivity. It consists of a set of classes and interfaces written in the 7ava +rogramming language. 70*, provides a standard $+I for tool/database developers and makes it possible to write database applications using a pure 7ava $+I. 5sing 70*,, it is easy to send 8R- statements to virtually program will be able to send 8R- .statements to the appropriate database. The ,ombination of 7ava and 70*, lets a programmer writes it once and run it anywhere. :.<.9.0 7hat !"es J4BC !"@ 8imply put, 70*, makes it possible to do three things Establish a connection with a database 8end 8R- statements +rocess the results 70*, 0river Types The 70*, drivers that we are aware of this time fit into one of four categories 70*,-=0*, *ridge plus =0*, driver >ative-$+I party-java driver 70*,->et pure java driver >ative-protocol pure 7ava driver $n individual database system is accessed via a specific 70*, driver that implements the java.s#l.0river interface. 0rivers exist for nearly all-popular %0* 8 systems, through few are available for free. 8un bundles a free 70*,-=0*, bridge driver with the 70S to allow access to a standard =0*,, data sources, such as a development. 70*, drivers are available for most database platforms, from a number of vendors and in a number of different flavours. There are four driver categoriesM I. Type &-70*,-=0*, *ridge driver
25
against using the bridge driver for anything other than development and very limited
Type )->ative-$+I +arty 7ava driver Type 2->et +rotocol $ll 7ava 0river Type 3 >ative +rotocol $ll 7ava 0river
IV.<.:
providing multi-user access to a number of databases .It is a cross platform database server ideal for both small and large applications. It supports standard 8R- for database creation. The data in y8R- is stored in database objects called tables. The table is a collection of related data entries and it consists of columns and rows. The system provided a simple interface for #uick book searching, lending and returning. The interface was designed to be mainly used for the common browsers, making the system migration and usage easier. IV.<.:.1 4atabase $ 0atabase is a collection of interrelated data stored with a minimum of redundancy to serve many applications. The database design is used to group data into a number of tables and minimiCes the artificiality embedded in using separate files. The tables are organiCed toM %educed duplication of data. 8implify functions like adding, deleting, modifying data etc.., %etrieving data ,larity and ease of use ore information at low cost
:.<.:.0 6"r ali%ati"n >ormaliCation is built around the concept of normal forms. $ relation is said to be in a particular normal form if it satisfies a certain specified set of constraints on the kind of functional dependencies that could be associated with the relation. The normal forms are used to ensure that various types of anomalies and inconsistencies are not introduced into the database. First 6"r al F"r
$ relation % is in first normal form if and only if all underlying domains contained atomic values only. ,ec"n! 6"r al F"r
26
$ relation % is said to be in second normal form if and only if it is in first normal form and every non-key attribute is fully dependent on the primary key. Thir! 6"r al F"r
$ relation % is transitively depends on the primary key. said to be in third normal form if and only if it is in second normal form and every non key attribute is non-transitively depend on the primary key.
IV.<.;
9ypertext
HTM8
ark-up -anguage !9T -", the languages of the worldwide web !:::", allows
users to produces web pages that included text, graphics and pointer to other web pages !9yperlinks". 9T - is not a programming language but it is an application of I8= 8tandard HH(', 8? !8tandard ?eneraliCed ark-up -anguage", but 8pecialiCed to hypertext and adapted to the :eb. The idea behind hypertext is one point to another point. :e can navigate through the information based on out interest and preference. $ mark-up language is simply a series of items enclosed within the elements should be displayed. 9yperlinks are underlined or emphasiCed works that load to other documents or some portions of the same document. 9T - can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop 9T - provides tags !special codes" to make the document look attractive. 9T - provides are not case-sensitive. 5sing graphics, fonts, different siCes, color, etc can enhance the presentation of the document. $nything that is not a tag is part of the document itself. :.<.;.1 A!#antages $ 9T - document is small and hence easy to send over the net.It is small because it does not include formatted information. 9T - is platform independent 9T - tags are not case-sensitive. 8pecific ,omments.
27
T9T -V...T/9T -V TTitleV....T/TitleV T$V.....T/$V T*V......T/*V T*igV...T/*igV T*odyV...T/*odyV T,enterV..T/,enterV T00V....T/00V TT$*-EV...T/T$*-EV TTdV....T/TdV TTrV.....T/TrV TThV....T/ThV
8tart tag ,reates title of the page ,reates 9ypertext links. ,reates hypertext links. Formats text in large-font ,ontains all tags and text in the 9tml-document ,reates Text 0efinition of a term. ,reates table Indicates table data in a table. 0esignates a table row ,reates a heading in a table.
28
29
$ll procedures, re#uirements must be analysed and documented in the form of detailed data flow diagrams !0F0s", data dictionary, logical data structures and miniature specifications. 8ystem $nalysis also includes sub-dividing of complex process involving the entire system, identification of data store and manual processes. The main points to be discussed in system analysis areM 8pecification of what the new system is to accomplish based on the user re#uirements. Functional hierarchy shows the functions to be performed by the new system and their relationship with each other. Function network which are similar to function hierarchy but they highlight those functions which are common to more than one procedure. -ist of attributes of the entities - these are the data items which need to be held about each entity !record". The selection process should be viewed as a project and a project team should be formed with the help of management. The selection process consists of several steps, which are discussed belowM
30
;.0 ,yste
speci'icati"ns/
8ystem specifications must be clearly defined. These specifications must reflect the actual applications to be handled by the system and include system objectives, flowcharts, inputoutput re#uirements, file structure and cost.
31
32
Preli inary "r general !esign/ In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the detailed design stage. ,tr$ct$re "r 4etaile! !esign/ In the detailed design stage, computer oriented work begins in earnest. $t this stage, the design of the system becomes more structured. 8tructure design is a blue print of a computer system solution to a given problem having the same components and inter-relationship among the same components as the original problem. Input, output and processing specifications are drawn up in detail. In the design stage, the programming language and the platform in which the new system will run are also decided.
Fle3ibilityM The system should be modifiable depending on the changing needs of the user. 8uch modifications should not entail extensive reconstructing or recreation of software. It should also be portable to different computer systems.
,ec$rityM This is very important aspect of the design and should cover areas of hardware reliability, fall back procedures, physical security of data and provision for detection of fraud and abuse. 8ystem design involves first logical design and then physical construction of the system. The logical design describes the structure and characteristics of features, like the outputs, inputs, files, databases and procedures. The physical construction, which follows the logical design, produces actual program software, files and a working system.
The !esigner n"r ally &ill &"r* $n!er '"ll"&ing c"nstraints/ Har!&areM The existing hardware will obviously affect the system design. ,"'t&areM The available software !operating system, utilities, language etc." in the market will constrain the design. B$!getM The budget allocated for the project will affect the scope and depth of design. Ti e.scaleM The new system may be re#uired by a particular time !e.g. the start of a financial year". This may put a constraint on the designer to find the best design. Inter'ace &ith "ther syste sM The new system may re#uire some data from another computeriCed system or may provide data to another system in which case the files must be compatible in format and the system must operate with a certain processing cycle.
34
<.: ,yste
Architect$re
*elow architecture diagram represents mainly flow of re#uests from users to database through servers. In this scenario overall system is designed in three tires separately using three layers called presentation layer, business logic layer and data link layer. This project was developed using 2-tier architecture.
User
SERVER
Request
Response
Data Base
35
5R8 Pattern/
Presentation
Layer
SERVLETS AT THE Rep"y fro the SERVER SIDE Verifying or up#ating the #atabase through a state ent
DATABASE
Fig. 6.) 5%- +attern of 8ystem $rchitecture 5%- pattern represents how the re#uests are flowing through one layer to another layer and how the responses are getting by other layers to presentation layer through server in architecture diagram.
36
using the modelling notation that is governed by a set of syntactic semantic and pragmatic rules. $ 5 - system is represented using five different views that describe the system from distinctly different perspective. Each view is defined by a set of diagram, which is as follows. <.;.1.1 5,ER MO4E8 VIE7
This view represents the system from the userJs perspective. The analysis representation describes a usage scenario from the end-users perspective. ,TR5CT5RA8 MO4E8 VIE7
<.;.1.0
In this model the data and functionality are arrived from inside the system. This model view models the static structures. BEHAVIORA8 MO4E8 VIE7
<.;.1.9
It represents the dynamic of behavioural as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view. <.;.1.: IMP8EME6TATIO6 MO4E8 VIE7
In this the structural and behavioural as parts of the system are represented as they are to be built. <.;.1.; E6VIRO6ME6TA8 MO4E8 VIE7 In this the structural and behavioural aspects of the environment in which the system is to be implemented are represented. 5 - is specifically constructed through two different domains they areM 5 - $nalysis modelling, this focuses on the user model and structural model views of the system. 5 - design modelling, which focuses on the behavioural modelling, implementation modelling and environmental model views.
37
<.<.0 5ser
<.B.1 A! in
dmin Keywords lert %ist In"ormative
Manage Keywords
<.B.0 5,ER
User Compose Mails Inbox Sent Items
<.C.1 A! in
<.C.0 5ser
40
41
If too many events seem to be occurring at a given point, an analyst can decompose a data conversion !circle". The new data conversions form a parent-child relationship with the original data conversionM the child circle.
User
Check data
Admin
0.0
Compose Mail
Chec* E ail A! in Chec* s$spici"$s ail ,$spici"$sD 6"r al Fetch 4ata In'"r ati"n Chec* (.e3e) 'ile
Databas e
AlertD6"r al E ail
43
44
of tests to determine the validity of a piece of data. There are a number of validations that is implemented in this system. They are given belowM
to choose a password and confirm password. If password and confirm password is same then registers client otherwise notifies Kpassword and confirm password is not sameL.
46
A!!iti"nal t""ls
9T - 0esigning 0evelopment Tool kit M 0ream weaver Tool M >et*eans 6.'
48
0uring systems testing, the system is used experimentally to ensure that the software does not fail. In other words, we can say that it will run according to its specifications and in the way users expect. 8pecial test data are input for processing, and the results examined. $ limited number of users may be allowed to use the system so that analyst can see whether they try to use it in unforeseen ways. It is desirable to discover any surprises before the organiCation implements the system and depends on it. It should be clear in mind that the philosophy behind testing is to find errors. Test cases are devised with this purpose in mind. $ test case is a set of data that the system will process as normal input. 9owever, the data are created with the express intent of determining whether the system will process them correctly. For example, test cases for inventory handling should include situations in which this #uantifies to be withdrawn from inventory exceed, e#ual and are less than the actual #uantities on hand. Each test case is designed with the intent of finding errors in the way the system will process it. There are two general strategies for testing softwareM &. ,ode testing and ). 8pecification testing. In code testing, the analyst develops those cases to execute every instructions and path in a program. 5nder specification testing, the analyst examines the program specifications and then writes test data to determine how the program operates under specific conditions. %egardless of which strategy the analyst follows, there are preferred practices to ensure that the testing is useful. The levels of tests and types of test data, combined with testing libraries, are important aspects of the actual test process. Testing includes three partsM1. Testing. Error detection and error removal of newly developed program, so that it produces specific output with correctness of live and artificial data. 0. Veri'icati"n. It is also a kind of testing of system in simulated environment using simulated data !alpha testing". It is done to detect and wait error regarding end user and design specification we were specified in the earlier phase. 9. Vali!ati"ns. It refers to process of using software in a live environment in order to find errors. Feedback of validation phase generally produces change in software to deal with error
50
and failure that are uncovered. Transaction that are extended and person using the system and real and continue for several months. 8ystems are not designed as entire systems nor are they tested as single systems. The analyst must perform both unit and system testing. Testing is of different types some of them are given belowM&. 5nit Testing ). 8ystem Testing
In this testing only the output is checked for correctness. The logical flow of the data is not checked.
$ES$ %D
%&'($ S'EC%#%C)$%*&
E+'EC$ED *($'($
52
-ogin +age
$dministrator is asked to enter appropriate -ogin details !Email I0 and password". If login details are correct then user redirect to the ,lient +age otherwise it shows Kuser name or password is not correctL. It has four linksM &. anaged Seyword
). 0isplay Seyword & $dmin ain +age 2. $lert -ist 3. Informative ail list
It will ask to click on a link and redirect the user corresponding page. It manages the harmful keywords like admin &.& anage Seywords can add, delete and modify the harmful keywords from the database. 9armful keywords are the words that can recognise harmful mails. $dmin can also logout or go to admin main page from it. It will show all harmful keywords that have been added by the user. $dmin can also logout or go to admin main page from it. It will show all the suspicious mails that have been sent by any user. $dmin can recognise antisocial users. $dmin can download $ttachment of the mail from this page. 5ser can also logout or go to client main page from it. It will show all the informative mails that have been sent by any user. $dmin can download $ttachment of the mail from this page. 5ser can also logout or go to client main page from it.
&.)
0isplay Seyword
&.3
Informative mails
53
(Table 1)
$ES$ %D
%&'($ S'EC%#%C)$%*&
E+'EC$ED *($'($
It will ask to enter the user name, password and client personal details. If user name is uni#ue then it will register to the user otherwise shows K5ser name already existsL. 5ser is asked to enter appropriate -ogin details !Email I0 and password". If login details are correct then user redirect to the ,lient +age otherwise it shows Kuser name or password is not correctL. It has three linksM 4. ,ompose ail
%egistration +age
-ogin +age
&
It will ask to click on a link and redirect the user corresponding page. 5ser can also logout or go to client main page from it. It will ask the user to enter KtoL !address of recipient", subject, and attachment of the file. If address of the recipient exits then it will send the mail and notifies the user otherwise shows KEmail Id is not existsL. &.& ,ompose page $dmin manages harmful content in it. If subject matches with harmful keyword or sender attaches .exe file then admin
54
generates an alert mail to the recipient and also notifies to the sender. 5ser can also logout or go to client main page from it. It will show all the mails that have been received by the user. ,lient can download $ttachment of the mail from this page. 5ser can also logout or go to client main page from it. It will show all the mails that have been sent by the user. 5ser can download $ttachment of the mail from this page. 5ser can also logout or go to client main page from it.
&.)
Inbox +age
&.2
8ent
ail +age
(Table 2)
1G.1.0 ,yste
Testing
The important and essential part of the system development phase, after designing and developing the software is system testing. :e cannot say that every program or system design is perfect and because of lack of communication between the user and the designer, some error is there in the software development. The number and nature of errors in a newly designed system depend on some usual factors like communication between the user and the designer; the programmer<s ability to generate a code that reflects exactly the systems specifications and the time frame for the design. Theoretically, a newly designed system should have all the parts or sub-systems are in working order, but in reality, each sub-system works independently. This is the time to gather all the subsystem into one pool and test the whole system to determine whether it meets the user re#uirements. This is the last change to detect and correct errors before the system is installed for user acceptance testing. The purpose of system testing is to consider all the likely variations to which it will be subjected and then push the system to its limits. Testing is an important function to the success of the system. 8ystem testing makes a logical assumption that if all the parts of the system are correct, the goal will be successfully
55
activated. $nother reason for system testing is its utility as a user-oriented vehicle before implementation. Testing of software after development all the modules are attached to make complete program. Test meets all re#uirements of the user. $ll necessary outputs should be tested. Installing of software.
8ystem testing consists of the following three stepsM &. +rogram testing ). 8tring testing 2. 5ser acceptance testing
1G.0.1 B"tt"
$p Appr"ach
Testing can be performed starting from smallest and lowest level modules and proceeding one at a time. For each module in bottom up testing a short program executes the module and provides the needed data so that the module is asked to perform the way it will when embedded within the larger system. :hen bottom level modules are tested attention turns to
56
those on the next level that use the lower level ones they are tested individually and then linked with the previously examined lower level modules.
1G.9 Vali!ati"n
The system has been tested and implemented successfully and thus ensured that all the re#uirements as listed in the software re#uirements specification are completely fulfilled. In case of erroneous input corresponding error messages are displayed
57
58
Fig 11.1 It is the homepage where number of usersJ login by entering their Email I0 and passwords. >ew user has to select the signup option to create a user account and then he can login.
Fig. 11.0
60
Fig 11.9 9ere is admin home page where he/she has the ability to manage keywords, encrypt keywords. $dmin has a feature of viewing the blocked mails
Fig 11.: 9ere admin adds numerous or harmful keywords by clicking the add button.
Fig 11.; 9ere admin displays all the words which he/she had entered into the list
Fig. 11.< This is the 5ser page where he/she enters his/her personal details and gets registered to 7ava 8ecure ail page
64
Fig 11.B
9ere is 5serJs main page, it consists of compose mail, inbox and sent mail. 9ere user can send mails, check the received mails and also able to see the sent mails
65
Fig 11.C
9ere is the mail box where users can compose their mails.
Fig 11.F 9ere are the mails which had been got blocked in adminJs page due to haCardous information in the mail
67
Fig B.:.1G This screen gives the message in inbox of other user. 9ere user can read the received mails and can download attached file.
68
69
10.0 8i itati"ns
&. The software does not use any back-up files for recovery of data when crashes of software occur. ). $dministrator has to add suspicious keywords. $dmin has to search the harmful keyword and add into the database for better security. It increases effort of the admin. 2. This software does not use any sorting techni#ue used for faster retrieval of access. 3. It supports 8R- searching techni#ue given by backend. 6. It gathers everything in one location which is really good but if it is not prearranged then you will spoil everything.
(. This software is not uploaded to the web server and running on +, only.
y8#l.
4. The present application when implemented on internet re#uires a large database as the
when implemented on internet re#uires a large database as the backend; this can be done by using the y8#l database as the backend. $s we use encrypted keyword in this application we can implement many encrypted algorithms like %8$, 0E8/20E8, *-=:FI89, $E8, I0E$ and many more.
71
BIBLIOGRAPHY
72
BOOE, REFERE6CE, The C" plete Re'erence JAVA0 by 9erbert 8childt Tata JAVA ,er#er Pr"gra c ?raw 9ill India.
73