Content
page no
1. INTRODUCTION & OBJECTIVES
1
2. i. IDENTIFICATION OF NEED
3
ii. PRELIMINARY INVESTIGATION 3. FEASIBILITY STUDY
6
4. SOFTWARE ENGINEERING PARADIGM APPLIED
8
5. SOFTWARE AND HARDWARE SPECIFICATIONS
13
6. i . DATABASE DESIGN ii. DATAFLOWDIAGRAMS
28
7. VALIDATION CHECKS 8. SYSTEM TESTING & IMPLEMENTATION
37 40
9. SYSTEM SECURITY MEASURES 10. FORMS & REPORTS 11 PERT CHART 12.FUTURE SCOPE APPLICATION 13.BIBLIOGRAPHY
46 48 59 61 62
2
1. INTRODUCTION This Project “Pharmacy System” is a solution to Aurobindo Pharma to take the orders orders from its distributors distributors who are geographic geographically ally distributed. distributed. This new system system not only takes the orders from distributors for Aurobindo Pharma but it also facilities. The administrati administration, on, as well as the report generation generation for the firm. The basic structure structure of the system as follows. This project is a web-based project, and no doubt to say this is a Client-Server System. System. Each user of this system system is given a unique id and password password along along with some Information for our report report generation, and administration. administration. Later the user id will be used for his identification identification..
The system system maintains maintains vendors, category category of products products they are
supplying, products under each category, discount, and payment modes such as DD, Cheque, Cheque, and online payment payment mode Credit Card. This system system also maintains maintains the order details, to provide the valuable reports regarding sales to the organization whenever they want. Here we are providing the the administration part too for the organization. This system system provides provides information information entered but also analyzes analyzes data. Each user’s details are kept private and no other body can tinker with them.
Some people express their view that where is the actual need for this kind of system. system. Ordering Ordering systems systems on isolated computers computers and personal personal PC’s are not accessible from from anywhere anywhere.. Where Where as these these kind of web related related system systemss can be accessed accessed from anywhere. Virtually from any part of of the world with out any difficulty. As our Aurobindo Aurobindo Pharma is Launching a new web site with these benefits of internet they can provide better and Cost effective services to distributors, not only that with this kind of design they can Go
2
3 for online online shopping shopping for other users. users.
Realiz Realizatio ation n of these kinds kinds of systems systems includes includes
gathering gathering of many technologies technologies at one point. Implementati Implementation on of this system involved involved both server server side programmin programming g and client side programmin programming. g. Server Server side part has to communicate with the date base management system and has to send the results as part is responsible for providing user friendly and visually attractive interface to the user, and is responsible for communicating to the server on behalf of the user. For the implementin implementing g above-menti above-mentioned oned requirement requirement I have used HTML, HTML, JAVA SCRI SCRIPT PT,, JAVA JAVA SERVLE SERVLETS TS and JDBC JDBC..
Serv Server er side side part has been been done with
SERVLETS SERVLETS and JDBC where where JDBC responsible responsible for communicating communicating with DBMS. DBMS. On Client side HTML, JAVA SCRIPT provides user interfac es.
3
4
2.i. IDENTIFICATION OF NEED The Pharmacy System is a web-based application some of its features are pointed out here: The proposed proposed system can be accessed accessed from any part of the world, as opposed to stand alone or manual system, and provides information at any time, anywhere. Even though it is a web-based application it will keep the details of its clients private and no body is allowed to tinker with the details. No need to own any computer for this specific ordering of products, it just requires user to register with the system. It provides easy to use and user friendly interface for the user. The system provides freedom to the user to move freely around various screens and status of the system returned, as it was when he left the screen. User is given freedom to update any information in his database. He is relieved from maintenance and back up works, as it will be done by expert personalities maintaining the web site. The user can access the system at any time, because it’s 24-hour availability. The The organi organizat zation ion people people can do admini administr stratio ation n over over the produc products, ts, vendor vendor,, customer (only deletion in case of dealer ship cancellation) etc. The organization can generate reports for sales like day-wise, month-wise, yearwise, product-wise, order-wise etc. at any time with out any problem. The organization can save the time and money as they own the web site, and they can provide effective service to its distributors.
4
5
2.ii. PRELIMINARY INVESTIGATION The project contains two modules. User interaction module and administration module. The administration module module contains two sub sub modules. 1.
ADMINISTRATION
2.
FINANCE
In Administration the organization at the server side can do administration on database. In the reports module module they can generate the sales reports. In the user interaction module all user interactive operations covered. 1) User Interaction The options under User Interaction are SIGNUP LOGIN ORDER DIRECTLY UPDATE CUSTOMER PRODUCTS INFORAMTION VENDOR INFORMATION ORDER DETAILS The validations for the screen login are: Login name: The login name should be entered in text format; there should be no spaces. The second module of the system is the Administration The main options under the Administration screen are: i.
Administration
ii.
Finance
5
6
Administration contains the following options: Product Vendor Customer Category Discount Product Administration The product administration contains the following options: Add, Delete, Update Customer Administration The customer administration screen contains only delete option. Vendor Administration The vendor administration also contains three options. Add, Delete, Update Category Administration The category administration screen contains three options. Add, Delete, update Discount Administration The discount administration contains three options. Add, Delete, Update. User Interface: The user interface should provide the commands in the form of buttons and hyperlinks between the pages. The commands should be portioned in such as wa y that
6
7 a) Admini Administr strati ative ve peop people le comman commands ds b) b) Clie Client nt comm comman ands ds..
3. FEASIBILITY STUDY All projec projects ts are feasib feasible le – given given unlimi unlimited ted resour resources ces and infini infinite te time! time! Unfortunately, the development of computer-based system or product is more likely plagued by a scarcity of resources and difficult delivery dates. It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time. Months or years of effort, thousands or millions of dollars, and untold professional embarrassment can be averted if an ill-conceived system is recognized early in the definition phase.
Feasibility Feasibility and risk analysis analysis are related in many ways. If project risk is great the feasib feasibili ility ty of produc producing ing qualit quality y softwar softwaree is reduce reduced. d. During During produc productt engine engineeri ering, ng, however, we concentrate our attention on four primary areas of interest:
Technical Feasibility
This application in going to be used in an Internet environment called www (World wide web). So, it is necessary to use a technology that is capable of providing the networking facility to the application. This application as also able to work on distributed environment. Application on developed with J2EE (Java 2 Enterprise Edition platform) Technology. One major advantage in application is platform neutral. We can deploy and used it in any operating system. GUI is developed using HTML.to capture the information from the customer. HTML is used to display the content on the browser. It uses TCP/IP protocol. It is an interpreted language. It is very easy to develop a page/document using HTML some RAD(Rapid Application Development) tools are provided to quickly design/develop our application application.. So many objects objects such as button, button, text fields, and text area etc are provide to capture the information from the customer.
7
8 We can use this application in any OS. They can have their own security and transaction transactional al advantages. advantages. But are the responsible responsible for selecting suitable and secured secured OS, which is suitable to our application. The back-end Oracle 8i and front-end application are platform independent. So we can port port this this enterp enterpris risee applic applicatio ation n in any enviro environme nment. nt. Both Both are having having their their individual configuration to get better performance and backup issues. Economical Feasibility
In present system system customer need to go to biller’s place to pay the bill. So he/she needs to spend some time to complete this protocol. It is time consuming process some times customer not able to spend that much of time. In such case needs to pay some additional payment to the biller for late payment. If it is developed in electronic payment system, He can pay the bill from any wher wheree in the the worl world. d. No need need to trav travel el to pay pay the the bill bills. s. For For doin doing g this this proc proces esss electronically have to spend some time. Operational Feasibility:
In our application front end is developed using GUI. So it is very easy to the customer to enter the necessary information. But customer has some knowledge on using web applications before going to use our application.
8
9
4. SOFTWARE ENGINEERING PARADIGM APPLIED
DESIGN SPECIFICATION Desi Design gn of soft softwa ware re invo involv lves es conc concei eivi ving ng plan planni ning ng out out and and speci specify fyin ing g the the externally externally observable observable characteristi characteristics cs of the software product. product. We have data design, design, architectural design and user interface design in the design process. These are explained in the followin following g section. section. The goals goals of design design proces processs it to provide provide a blue blue print print for implementation, testing, and maintenance activities.
DATA DESIGN The primary activity during data design is to select logical representations of data objects identified during during requirement analysis and software analysis. A data dictionary dictionary explicitly on the elements of the data structure. A data dictionary should should be established and used to define both data and program design.
DESIGN METHODOLOGY The two basic modern design strategies employed in software design are 1.
Top Down Design
2.
Bottom Up Design
Top Down Design is basically a decomposition process, which focuses on the flow of control. At later stages stages it concern concern itself with the code production. The first step is to study the overall aspects of the tasks at hand and to break it into a number of independent modules. The second step is to break each one of these modules further into independent sub-modules. sub-modules. The process is Repeated Repeated one to obtain modules, which are small enough to group mentally and to code in a straightforward manner. . Only the necessary data and control that must be called back and forth over the interface are defined.
9
10 In a bottom-up design one first identifies and investigates parts of design that are most difficult and necessary designed decision are made the reminder of the design is tailored tailored to fit around around the design already already chose for crucial part. It vaguely represents represents a synthesis process explained in previous section. One storage point of the top-down method is that it postpones details of the decision until the last stage of the decision. It allows making small small design changes when when the the desi design gn is half half way way thro throug ugh. h.
Ther Theree is danger danger that that the the speci specifi ficat catio ions ns will be
incompatible and this will not not be discovered until late in the design process. By contrast the bottom-up strategy first focuses on the crucial part so that feasibility of the design is tested at early stage. In mixing top-down and bottom-up design it often appears that we start in the midd middle le of the proble problem m and and work work our way both up and down down there there..
In a comp comple lex x
problem, it is often difficult to decide how to modularize the various procedures in such cases one might consider a list of system inputs and decide what functions are necessary to process these inputs. This is called back to front design. Similarly one can start with the required outputs and work backwards evolving evolving so called front-back design. design. We have applied both the top down and bottom up approach in our design approach.
DATABASE DESIGN Databases are normally implemented by using a package called a Data Base Mana Manage geme ment nt Syst System em (DBM (DBMS) S)..
Each Each parti particu cular lar DBMS DBMS has has some somewh what at uniq unique ue
characteristics, and so such, general techniques for the design of database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F.Codd. this method of analyzing data is called “Normalization”.
10
11 NORMALIZATION The first stage is normalization is to reduce the data to its first normal form, by removing repeating items showing them as separate records but including in them the key fields of the original record. The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. record. If a data item is not dependent dependent on the key of the record, but on the other data item, then it is removed with its key key to form another record. This is done until each record contains data items, which are entirely dependent on the key of their record. The final stage of the analysis, the reduction of third normal form involves examining each record, which one is in second normal form to see whether any items are mutually dependent. If there are any item there are removed removed to a separate record leaving one of the items behind in the original record and using that as the key in the newly created record.
BUSINESS MODELING: The information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?
DATA MODELING: The information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support support the business. business. The characteristi characteristics cs 9called attributes0 of each object are identified and relationships between these objects are defined.
11
12 PROCESS MODELING: The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description are created for addition, modifying, deleting, or retrieving a data object .
THE LINEAR SEQUENTIAL MODEL: The The linear linear sequen sequential tial model model for softwa software re engine engineerin ering g some some times times called called the “classic model” or the “water fall model,” the linear sequential suggests a systematic, sequential approach to software development that begins at eth system level and process through analysis, design, coding, testing, and maintenance. The linear sequential model is the oldest and the most widely used paradigm for software software engineering. engineering.
Modeled Modeled after the conventional conventional engineering engineering cycle, the linear
sequential model encompasses the following activities:
1)SYSTEM/INFORMATION ENGINEERING AND MODELLING:
Because software is always part of a larger system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software.
System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. design. Information engineering encomp encompass asses es requir requireme ements nts gather gathering ing at the strateg strategic ic busine business ss level level and at the strategic business level and at the business area level.
2) SOFTWARE REQUIREMENTS ANALYSIS: requireme ements nts gather gathering ing proces processs is intens intensifie ified d and focuse focused d specifi specificall cally y on The requir softwa software. re.
To underst understand and the nature nature of the program programss to be built, built, the softwar softwaree
Engine Engineer er must must under under stand stand the informati information on domain domain for the softwar software, e, as well well as required required function, function, behavior, behavior, performance, performance, and inter facing. facing. Requirement Requirementss for the both the system and the software are documented and reviewed with the customer .
12
13 3) DESIGN:
Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. The design process translates requirements requirements into a representation representation of the software software that can be assessed assessed for quality quality before code generation generation begins. begins. Like requ requir irem emen ents ts the the desi design gn is docu docume ment nted ed and and beco become mess part part of the the soft softwa ware re configuration.
4) CODE GENERATION:
The design design must be translated translated into a machine-readabl machine-readablee form. The code generation generation step performs this task. If design is performed in a detailed manner, manner, code generation can be accomplished mechanistically.
5) TESTING:
Once Once code code has been generat generated, ed, progra program m testin testing g proces processs focuse focusess on the logica logicall internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.
6) MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment (e.g., a change required because of a new operating system or peripheral devices), or because the customer customer requires functional functional or performance performance enhancement. enhancement. Software Software maintenance maintenance reapplies each of the preceding phases to an existing program rather than a new one
13
14
5. SOFTWARE AND HARDWARE SPECIFICATIONS Pharma Pharma Web Commerce Commerce is a networ network-b k-base ased d applicati application. on.
When When we talk about about
hardware and software, we have to mention requirements on both the Client and Server part. •
Internet connection with 33.6 KBPS Modem. M odem.
•
Pentium 233 MHz. 42 GB HD, 128 MB RAM (Server).
•
Any P. C with Windows/Unix compatibility, 8 MB RAM (Client).
•
JDK 1.2.1, Web Server, running on any platform.
•
JDBC/ODBC drivers installed.
•
Functional Java enabled browser.
•
Data Base (MS-Access).
•
Operating System (Windows/Unix/Linux).
INTERNET TERMINOLOGY What is Internet? The The Intern Internet et is a worldw worldwide ide networ network k of comput computer er networ networks. ks. People People use the Internet to send electronic mail, participate in discussion forums, search authority that controls or regulates the Internet Currently there are more than 30 million people use the Internet and the number is growing at a rate of one million new user per month.
What is Intranet? An internal network owned and managed by a company or organization uses the same kinds of software that you would use to explore the Internet, but only for internal use. An Internet Internet enables a company to share its resources resources with it employees employees without without confidential information being made available to everyone with Internet access.
14
15 What is web Browser? A web browser is a program run on a client workstation used to navigate the World Wide Web.
What is WWW (World Wide Web)? WWW is a collection of resources (make up of Hypertext, graphics, sound files, etc) located on globally networked web/internet servers that can be accessed on the Internet by using HTTP, FTP, Telnet, Gopher and some other tools.
What is TCP-IP? This is the suite suite of protocols that that defines the Internet. Originally designed for the the Unix Unix Operat Operating ing system. system. TCP/IP TCP/IP software software is now now availab available le for every major major kind kind of computer operating system. system. TCP/IP stacks is required for computers want want to access the Internet.
What is URL (Uniform Resource Locator)? The standard way to give the address of any resource on the Internet that is part of the World Wide Wide Web (WWW). A URL looks looks like this: The most common way to use a URL is to enter into a WWW browser program, such as Internet Explorer.
Java and Java Script: Although the names are almost the same Java is not the same as Java Script. These are two different techniques techniques for Internet programmi programming. ng. Java is a programmin programming g language; language; JavaScript JavaScript is a scripting scripting language language (as the name implies). The difference difference is that we can create create real programs programs with Java. Java. But often often we just want to make make a nice effect without having to bother about real programming. So JavaScript is meant to be easy to understand understand and easy to use. JavaScript JavaScript authors authors should should not have to care too much about programming.
15
16 We could say that JavaScript is rather an extension to HTML than a separate computer language. Of course this is not the ‘official’ definition but but I think this makes it easier to understand the difference between Java and JavaScript, which share the same name and syntax.
Advantages of Java: Creation of Java: James Gosling Gosling conceived conceived Java. Patrick Naughton Naughton,, Chris Warth, Ed Frank and Mike Sheridan Sheridan at Sun Micro Systems Systems Incorporatio Incorporation n in 1991. It took 18 months months to develop the first working version. This language was initially called “OAK” in 1992 and public announcement of Java in 1995, many more contributed to the design and evolution of the language.
Java is Portable: One of the biggest advantages Java offers is that it is portable. An application written in Java Java will run on all the major platforms. platforms. Any computer computer with a Java based browser can run the applications or applets written in the Java programming language. A programmer no longer has to write one program to run on a Macintosh, another program program to run on a Windows Windows machine, still another another to run on a Unix machine machine and so on. In other words, with Java, developers write their programs only once. The virtual machine is what gives gives Java a cross platform capabilities. Rather than being complied into machine language, which is different for each operating systems and and comp comput uter er archi architec tectu ture, re, Java Java code code is comp compil iled ed into into byte byte code codes. s.
With With othe other r
langua languages ges,, the progra program m code code is compli complied ed into into a langua language ge that that the comput computer er can understand. The problem is that other computers with different machine machine instruction set cannot cannot understand understand that language. language. Java code, on the other hand is complied complied into byte codes rather than a machine language. language. These byte codes go to the Java virtual machine,
16
17 which executes them directly or translates them into the language that is understood by the machine running it. In summary, these means that with the JDBC API extending Java, a programmer writing Java code can access all the major relational databases on any platform that supports the Java virtual machine.
Java is Object – Oriented: Java is Object Oriented, which makes program design focus on what you are dealing with rather than on how you are going going to do something. something. This makes it more useful for programming in sophisticated projects because one can break the things down into understand understandable able components components.. A big benefit is that these component componentss can then be reused. Object oriented languages use the paradigm of classes. In simplest term, a class includes includes both the the data and the functions functions to operate operate on the data. data. You can create create an instance of a class, also called an object, which will have all the data members and functi functiona onalit lity y of its class. Because Because of this, you can think think of a class class as being being like template, with each object being a specific instance of a particular type of class. The class paradigm allows one to encapsulate data so that specific data values are those using using the data cannot see function implement implementation ation.. Encapsulat Encapsulation ion makes it possible to make the changes in code without breaking other programs that use that code. code. If for examp example le the implem implementa entatio tion n of a functi function on is change changed, d, the chang changee is invisible to another programmer who invokes that function, and it does not affect his/her program, except hopefully to improve it. Java includes inheritance, or that ability to derive new classes from existing classes. The derived class, also called subclass, inherits all the data and the function of the existing existing class, referred referred to as the parent parent class. A subclass subclass can add new data members to those inherited form the parent class.
17
18 Java Makes It Easy: In addition to being portable portable and object oriented, Java facilitates facilitates writing correct code. Programmers spend less time writing Java code code and a lot less time debugging it. In fact, developers have reported slashing development time by as much as two thirds. Java automatically automatically takes care of allocating and the reallocating reallocating memory, memory, a huge potential source of errors. If an object is no longer being used (has no reference to it), then it is automatically removed from memory, or Garbage Collected by a low priority daemon thread called Garbage Collector. Java’s no pointer support eliminates big source errors. By using object references instead instead of memory memory pointe pointers, rs, proble problems ms with with pointe pointerr arithm arithmetic etic are elimin eliminated ated,, and problems with inadvertently accessing the wrong memory address are greatly reduced. Java keeps code simple by having just one way to do something instead of having severa severall altern alternativ atives, es, as in some language languages. s.
Java Java also also stays stays lean by not includi including ng
multiple inheritance, which eliminates the errors and ambiguity that arise when you create create a subclas subclasss that that inherit inheritss from from two or more more classe classes. s.
To replace replace capabi capabiliti lities, es,
multiple inheritance provides, Java lets you add functionality to a class throw the use of interfaces.
Java is Extensible: A big plus for Java is the fact it can be extended. extended. It was purposely purposely written written to be lean with the emphasis on doing what it does very well, instead of tying to do everything everything from the beginnin beginning, g, it was return so that extending extending it is very easy. The java platform includes an extensive class library so that programmers can use already existing classes, as it is, create subclasses to modify existing classes, or implement to augment the capabilities of classes.
18
19 Java is Secure: It is important that a programmer not be able to write subversive code for applications or applets. This is especially especially true with the Internet Internet being used more more and more extensively for services such as electronic commerce and electronic distribution of software and multimedia content. The The way memory memory is allocate allocated d and laid laid out.
In java an object’s object’s locatio location n in
memory is not determined until the runtime, runtime, as opposed to C and C++. As the result, a programmer cannot look at a class definition and figure out how it might be laid out in memory. Also since, Java has no pointers, a programmer cannot cannot forge pointers pointers to memory. The Java Virtual Machine (JVM) doesn’t trust any incoming code and subjects it to what is called Byte Byte Code Verificatio Verification. n. The byte code code verifier, part if the virtual virtual machine, checks that •
The format of incoming code is correct
•
Incoming code doesn’t forge pointers.
•
It doesn’t violate access restrictions.
•
It access objects as what they are
The Java byte code loader, another part of the JVM, checks whether classes loaded during program program execution are local of from across a network. Imported classes cannot cannot be substi substitut tuted ed for built built in classes classes,, and built in classe classess cannot cannot accide accidenta ntally lly reference classes bring in over a network. The Java Security manager allows user to restrict entrusted Java applets so that they cannot access the local network, local files and other resources.
Java Performs Well: Java performance is better than one one might expect. Java’s many advantages, advantages, such as having built in security and being interpreted as well as complied, do have a cost attached to them. However, various optimizations have been built, in, and the byte code
19
20 interpreter interpreter can run very fast the cost it doesn’t doesn’t to do any checking. checking. AS a result, Java has done quite quite respec respectab tably ly in perfor performan mance ce tests. tests.
Its perform performanc ancee number numberss for
interpreted interpreted byte codes are usually more than adequate adequate to run interactive interactive graphical graphical end user applications. For situat situation ionss that that requir requiree unusua unusually lly high high perfor performan mance, ce, byte byte codes codes can be translated on the fly generating the final machine code for the particular CPU on which the the appl applic icati ation on is runn runnin ing g at run run time time..
Java Java offe offers rs good good perfor performa manc ncee with with the the
advantages of high-level languages languages but without the disadvantages of C and C++. In the world of design trade-off, you can think of Java as providing a very attractive middle ground.
Java is Robust: The multi plat formed environment of the WEB places extraordinary demands on a program, program, because because it must execute execute reliably in a variety of systems. systems. Thus the ability ability to create create robust robust progra programs ms Design Design of softwar softwaree involv involves es concei conceivin ving g planni planning ng out and specifying specifying the externally externally observable observable characteristic characteristicss of the software software product. We have data design, architectural design and user interface design in the design process. These are explained explained in the following section. section. The goals of design design process it to provide a blue print for implementation, testing, and maintenance activities.
DATA DESIGN The primary activity during data design is to select logical representations of data objects identified during during requirement analysis and software analysis. A data dictionary dictionary explicitly on the elements of the data structure. A data dictionary should should be established and used to define both data and program design.
20
21 DESIGN METHODOLOGY The two basic modern design strategies employed in software design are 3.
Top Down Design
4.
Bottom Up Design
Top Down Design is basically a decomposition process, which focuses on the flow of control. At later stages stages it concern concern itself with the code production. The first step is to study the overall aspects of the tasks at hand and to break it into a number of independent modules. The second step is to break each one of these modules further into independent sub-modules. sub-modules. The process is Repeated Repeated one to obtain modules, which are small enough to group mentally and to code in a straig straightf htforw orward ard manner. manner. One import important ant feature feature is that that at each level the details details of the design design at the lower level are hidden. hidden. Only the necessary necessary data and control control that must be called back and forth over the interface are defined. In a bottom-up design one first identifies and investigates parts of design that are most difficult and necessary designed decision are made the reminder of the design is tailored tailored to fit around around the design already already chose for crucial part. It vaguely represents represents a synthesis process explained in previous section. One storage point of the top-down method is that it postpones details of the decision until the last stage of the decision. It allows making small small design changes when when the the desi design gn is half half way way thro throug ugh. h.
Ther Theree is danger danger that that the the speci specifi ficat catio ions ns will be
incompatible and this will not not be discovered until late in the design process. By contrast the bottom-up strategy first focuses on the crucial part so that feasibility of the design is tested at early stage. In mixing top-down and bottom-up design it often appears that we start in the midd middle le of the proble problem m and and work work our way both up and down down there there..
In a comp comple lex x
problem, it is often difficult to decide how to modularize the various procedures in such
21
22 cases one might consider a list of system inputs and decide what functions are necessary to process these inputs. This is called back to front design. Similarly one can start with the required outputs and work backwards evolving evolving so called front-back design. design. We have applied both the top down and bottom up approach in our design approach.
DATABASE DESIGN Databases are normally implemented by using a package called a Data Base Mana Manage geme ment nt Syst System em (DBM (DBMS) S)..
Each Each parti particu cular lar DBMS DBMS has has some somewh what at uniq unique ue
characteristics, and so such, general techniques for the design of database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F.Codd. this this method of analyzing data is called “Normalization”. Unnormalized data are converted into normalized data by three stages. Each stage has a procedure to follow.
NORMALIZATION The first stage is normalization is to reduce the data to its first normal form, by removing repeating items showing them as separate records but including in them the key fields of the original record. The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. record. If a data item is not dependent dependent on the key of the record, but on the other data item, then it is removed with its key key to form another record. This is done until each record contains data items, which are entirely dependent on the key of their record. The final stage of the analysis, the reduction of third normal form involves examining each record, which one is in second normal form to see whether any items are mutually dependent. If there are any item there are removed removed to a separate record leaving one of the items behind in the original record and using that as the key in the newly created record.
22
23 BUSINESS MODELING: The information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?
DATA MODELING: The information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support support the business. business. The characteristi characteristics cs 9called attributes0 of each object are identified and relationships between these objects are defined.
PROCESS MODELING: The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description are created for addition, modifying, deleting, or retrieving a data object.
THE LINEAR SEQUENTIAL MODEL: The The linear linear sequen sequential tial model model for softwa software re engine engineerin ering g some some times times called called the “classic model” or the “water fall model,” the linear sequential suggests a systematic, sequential approach to software development that begins at eth system level and process through analysis, design, coding, testing, and maintenance. The linear sequential model is the oldest and the most widely used paradigm for software software engineering. engineering.
Modeled Modeled after the conventional conventional engineering engineering cycle, the linear
sequential model encompasses the following activities:
1) SYSTEM/INFORMATION ENGINEERING AND MODELLING:
Because software is always part of a larger system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirement requirementss to software. software. This system system view is essential when software software must interface with other elements such as hardware, people, and databases.
23
24
System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. design. Information engineering encomp encompass asses es requir requireme ements nts gather gathering ing at the strateg strategic ic busine business ss level level and at the strategic business level and at the business area level.
2) SOFTWARE REQUIREMENTS ANALYSIS :
The requir requireme ements nts gather gathering ing proces processs is intens intensifie ified d and focuse focused d specifi specificall cally y on softwa software. re.
To underst understand and the nature nature of the program programss to be built, built, the softwar softwaree
Engine Engineer er must must under under stand stand the informati information on domain domain for the softwar software, e, as well well as required required function, function, behavior, behavior, performance, performance, and inter facing. facing. Requirement Requirementss for the both the system and the software are documented and reviewed with the customer.
3) DESIGN:
Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. The design process translates requirements requirements into a representation representation of the software software that can be assessed assessed for quality quality before code generation generation begins. begins. Like requ requir irem emen ents ts the the desi design gn is docu docume ment nted ed and and beco become mess part part of the the soft softwa ware re configuration.
4) CODE GENERATION:
The design design must be translated translated into a machine-readabl machine-readablee form. The code generation generation step performs this task. If design is performed in a detailed manner, manner, code generation can be accomplished mechanistically.
5) TESTING:
Once Once code code has been generat generated, ed, progra program m testin testing g proces processs focuse focusess on the logica logicall internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.
24
25 6) MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment (e.g., a change required because of a new operating system or peripheral devices), or because the customer customer requires functional functional or performance performance enhancement. enhancement. Software Software maintenance maintenance reapplies each of the preceding phases to an existing program rather than a new one
ORACLE 8i SERVER Introduction to Oracle: Any programing programing environment environment used to create containers, containers, to manage human human data, in the concep conceptua tualiza lizatio tion n as a Data Data Manage Managemen mentt System System.. Tradit Tradition ionally ally,, the block block of human data being managed is called a Database. Hence, in very simple terms, these programmin programming g environmen environments ts can the conceptualize conceptualized d as Database Database Management Management Systems, Systems, in short DBM systems. All Databases Management Systems (that is, Oracle is DBMS) allow users to create containers for data stories and management. These containers are called ‘cells’. The minimum information that has to be given to Oracle for a suitable container to be constructed, which can hold free from human data, is The cell name The cell length The type of data that can be placed into the cell. Another Another name that programmin programming g environment environmentss use for a ‘Cell’ is ‘Field’. ‘Field’. These These can the conceptualized as follows.
25
26 Basic Database Concepts: A datab databas asee is a corp corpor orat atee coll collect ectio ion n of data data with with some some inhe inheren rentt mean meanin ing, g, designed, built and populated with data for a specific purpose. A database stores data that is useful to us. This data is only a part of the entire data available in the world around us. To be able to successfully design and maintain databases we have to do the following: Identify which part of the world’s data is of interest to us. Identify what specific objects in that part of the world’s data are of interest to us. Identify a relationship between the objects. Hence the objects, their attributes and the relationship between them that are of interest to us are still owed in the database that is designed, built and populated with data for a specific purpose. Characteristics of a Database Management System:
It represents a complex relationship between data. Keeps a tight control of debtor redundancy. Enforces user-defined rules to ensure integrity of table data. Has a centralized data dictionary for the storage of information pertaining to data and its manipulation. Ensures that data can be shared across applications. Enforces data access authorization has automatic, intelligent backup and recovery procedures for data. Have different interfaces via which users can manipulate data.
Relational Database Management: A relational relational database management management system system uses only its relational relational capabilities to manage the information stored in its databases.
26
27 Information Representation: All information stored in a relational database is represented only by data item values, which are stored in the tables that make up the database. Associations between data items are not logically represented in any other way, such as the use of pointers from one table to the other.
Logical accessibility: Every data item value stored in relational database is accessible by stating the nature of the table it is stored in, the name of the column under which it is stored and the value of the primary key that defines the row in which it is stored.
Representation of null values: The database management management system system has a consistent consistent method for representin representing g null values. For example, null values for numeric data must be distinct from zero or any other numeric and for the character data it must be different from a string of blanks or any other character value.
Catalogue facilities: The logical description of the relation database is represented in the same manner as ordinary data. This is done so that the facilities of the relation database management system itself can be used to maintain database description.
Data Language: The The relat relatio ional nal data databa base se mana manage gemen mentt syst system em may may supp suppor ortt many many type typess of languages for describing data and accessing the database. However, there must be at least one language that uses ordinary character strings to support the definition of data, the definition definition of views, views, the manipulation manipulation of data, constraints constraints on data integrity, integrity, information information concerning authorization and the boundaries for recovery of units.
27
28 View Updatability: Any Any view view that that can be defi define ned d usin using g comb combin inati ation on of basi basicc tabl tables es,, that that are theore theoretica tically lly update updateabl able, e, these these capita capitall of being being updated updated by the relatio relational nal databa database se management system.
Insert, Update and Delete: Any operand that describes the results of a single retrieval operation is capable of being applied to an insert update or delete operation as well.
Physical data independence: Change Changess made made to physic physical al storag storagee repres represent entatio ation n or access access method methodss do not require changes to be made to application programmers.
Integrity Constraints: Constraints that apply to entity integrity and referential integrity are specifiable by the data language implemented by the database management system and not by the statements coded into the application program.
Database Distribution: The data language implemented by the relation database management system supports the ability to distribute the database without requiring changes to be made to application programmers. This facility must be provided in the data language, whether or not the database management system itself supports distributed databases.
Non- Subversion: If the relatio relational nal databa database se manage managemen mentt system system suppor supports ts facili facilities ties that that allow allow appl applic icati ation on prog progra ramm mmer erss to opera operate te on the the table tabless a row row at a time time,, an appl applic icati ation on progr programm ammer er using using this this type type access access is preven prevented ted from from by passin passing g entity entity integr integrity ity or referential integrity constraints that are defined for the database.
Logical Data Independence: Changes made to tables, that do not modify any data stored in that table, do not require changes to be made to application programmers
28
29
6.i. DATABASE DESIGN In developing this software we have used eight tables to store the details of the customer and company, they are:
Customer Table: In this table all distributor (customer) related information are maintained.
Vendor Table: In this table all the Categories under a vendor are maintained.
Category Table: In this table all the Categories under a vendor are maintained.
Products Table: In this table all the products information under different categories of a particular vendor are maintained.
Discount Table: In this table all product codes are their discount structures are stored.
Order Table: In this table all the orders information put by the customers are maintained.
Amount Table: In this table the Customer id and the amount he billed are stored after ordering.
Admin Login Table: In this table the administration login and password information are stored.
29
30 TABLE: REGISTRATION FIELD NAME CUSTOMER_ID USER_NAME PASSWORD DISTR_NAME ADDRESS CITY STATE COUNTRY REGION EMAIL PHONE FAX
DATA TYPE VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR Int Int
CONSTRAINTS PRIMARY KEY UNIQUE
DATA TYPE VARCHAR VARCHAR VARCHAR
CONSTRAINTS
TABLE: CATEGORY FIELD NAME VENDOR_CODE CATEGORY_CODE CATEGORY_NAME
PRIMARY KEY
TABLE: PRODUCT FIELD NAME VENDOR_CODE CATEGORY_CODE PRODUCT_CODE PRODUCT_NAME UNIT_COST TAX DESCRIPTION DISCOUNT MIN_QUANTITY
DATA TYPE VARCHAR VARCHAR VARCHAR VARCHAR Int Int VARCHAR Int Int
CONSTRAINTS
PRIMARY KEY
TABLE: LOGIN FIELD NAME USER_NAME PASSWORD
DATA TYPE VARCHAR VARCHAR
CONSTRAINTS PRIMARY KEY
TABLE: ORDER FIELD NAME CUSTOMER_ID PRODUCT_CODE QUANTITY_ORDERED UNIT_COST NET_COST ORDER_DATE PAYMENT_MODE
DATA TYPE VARCHAR VARCHAR Int Int Int DATE VARCHAR
30
CONSTRAINTS PRIMARY KEY
31 TABLE: DISCOUNT FIELD NAME PRODUCT_CODE QUANTITY DISCOUNT
DATA TYPE VARCHAR Int Int
CONSTRAINTS
DATA TYPE VARCHAR VARCHAR VARCHAR
CONSTRAINTS PRIMARY KEY
DATA TYPE VARCHAR Int DATE
CONSTRAINTS
TABLE: VENDOR FIELD NAME VENDOR_CODE VENDOR_NAME ADDRESS
TABLE: AMOUNT FIELD NAME CUSTOMER_ID AMOUNT DATE
31
32 6.ii. DATA FLOW DIAGRAMS CONTEXT LEVEL
Request Request
CUSTOMER
Response
Pharmacy System
Request
ADMINISTRATION
Response
Pharmacy system
LEVEL –1 DATA FLOW DIAGRAM
Signup
Vendor Informatio n
Products Informatio n
User Id Password User Id Password User Id Password Order Details
32
Pharmacy System
User Id Password Direct Orderin g
33
LEVEL 2 DATA FLOW DIAGRAM
Display Total Informatio n
YES Signup Error Customer ID User
Message
Information
Validation Process
Customer Table User Information
Registratio n
Message
USER
Process
LEVEL 2 DFD FOR PRODUCTS INFORMATION
Discount table
Discount
User Id Password
Product Information
Product tables
Discount table
Product Information
Category Name
Ordering Products
Order Information
Qty, tax, discount
Order Processing
Amount Payment Mode Amount table Payment Process
33 USER
34
6.iii. UML Diagrames
Login
Product Product Admin
Customers Admin
Vendors Admin Administrator
Category Admin
Discount Admin
Reports
Registration
End User Login
Order Product
34
35 Sequencial Diagrame:
L o g i n P r o d u c t AC du ms ti no m V e er n d o r s AC da mt e ign o r yD i s c o u n t : A d m in is t ra t o r : E n d U s : e Er n d U s : e Er n d U s : e Er n d U s e r A d m in A d m in A d m in (i d , p w d ) (validate())
( s e l e c t o p t io n )
( s e l e c t o p t ioi o n )
(s e le c t o p t io n )
( s e l e c t o p t ioi o n )
( s e l e c t o p t ioi o n )
35
36
Registration
Login
Order Product
: End User (Enter data) (id,pwd) (validate())
(enter produc produc t info)
36
37 USE_CASE Diagrame: GUIComponen t
Menu
InputScreen
Options
DataStore
Report <> <> <>
Registrati on
DataManipulator
Producta dmin Catge Admin Cust adminVend Admin
Discount admin
( id,pwd )
unauthenticated
validation
( ok )
authenticated
( id,pwd )
unauthenticate
Validation ( valid ) Admin Menu
( username,pwd)
37
login
Orderpr od
38
7. VALIDATION CHECKS The validations for the sign up screen are: Login name
:
The login name should be entered in the text format, there should be no spaces
Password
:
The password field should be filled.
Retype Password
:
The pa password and the re retype pa password contents should be same.
Distributor name
:
The field should be entered in text
Remarks
:
The field can contain spaces
Address
:
The field should be filled in text format.
Remarks
:
The field can contain spaces.
City
:
The field should be filled in text format
Country
:
The country should be selected.
Region
:
The region should be selected
Email
:
The field should be filled.
Phone
:
The field should be filled in number format.
Remarks
:
The field can contain spaces
38
39 The validations for the update customer screen: Login name
: The customer cannot change the login name
The remaining fields he can modify as above. The validations for the Ordering directly screen: Product na name
: Th The pr product na name sh should be be en entered.
Remarks
: The product name should not contain spaces.
Validations for administration module: The validations for the products information screen: Quantity
: This field should be filled in number format
Payment mo mode
: Th The pa payment mo mode sh should be be se selected
Add to my list
: Pr Product to order sh should be add added to the list
The validations for product addition screen: Vendor Vendor code code : The vendor vendor code code should should be sele selected cted Category code : The category code should should be selected
The validations for the products deflection screen: Produc Productt code : The produ product ct code code should should be be entered entered..
The validations for the products update screen: Vendor Vendor Code Code : The vendor vendor code should should be selected selected Category Code : The category code should be selected
The validations for the customer deletion : Customer code
: The customer code should be entered.
The Validations for the vendor addition: Vendor Vendor Code Code : The vendor vendor code should should be entered entered Vendor name : The vendor name should be entered Vendor address: The vendor address should be entered
39
40 The validations for the vendor deletion: Vendor Vendor code code : The The vendo vendorr code code shou should ld be be selec selected ted..
The validations for the vendor updation : Vendor Vendor code code : The vendor vendor code code should should be sele selected cted
The validations of the category addition are: Vendor Code: The vendor code should be selected. The validations of the category update are: Vendor Code: The vendor code should be selecte d
40
41
8. SYSTEM TESTING & IMPLEMENTATION SOFTWARE TESTING TECHNIQUES : Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding.
TESTING OBJECTIVES: 1. Testing Testing is process process of executing executing a program program with with the intent intent of of finding finding an error. 2. A good test test case desig design n is one that that has a probabil probability ity of findin finding g an as yet undiscovered error. 3. A successfu successfull test is one that that uncovers uncovers an an as yet yet undiscov undiscovered ered error. error.
These above objectives imply a dramatic change in view port. Testing cannot show the absence of defects, it can only show that software errors are present.
TEST CASE DESIGN:
Any engineering product can be tested in one of two ways: 1. White White Box Testin Testing: g: This testin testing g is also also called called as glass box testi testing. ng. In this this testing, by knowing the specified function that a product has been designed to perfo perform rm test test can be conduc conducted ted that that demons demonstrat trates es each each functi function on is fully fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing.
Basis Path Testing: i.
Flow graph notation
ii.
Cyclomatic Co Complexity
iii.
Deriving test cases
iv.
Graph ma matrices
41
42
Control Structure Testing: i.
Condition testing
ii.
Data flow testing
iii.
Loop testing
2. Blac Black k Box Box Test Testin ing: g: In this this testi testing ng by know knowin ing g the the inter interna nall oper operat atio ion n of a product, tests can be conducted to ensure that “ all gears mesh”, that is the inte intern rnal al opera operati tion on perfo perform rmss acco accord rdin ing g to spec specif ific icati ation on and and all all inte intern rnal al components have been adequately exercised. It fundamentally focuses on the functional requirements of the software. The steps involved in black box test case design are: i.
Graph based testing methods
ii.
Equivalence partitioning
iii.
Boundary value analysis
iv.
Comparison testing
SOFTWARE TESTING STRATEGIES:
A software testing strategy provides a road map for the software developer. Testing is a set of activities that can be planned in advance and conducted systematically. For this reason a template for software testing a set of steps into which we can place specific test case design methods should be defined for software engineering process. Any software testing strategy should have the following characteristics: 1. Testi esting ng beg begins ins at the the modu module le lev level and and work workss “out “outwa ward rd”” towa toward rd the the integration of the entire computer based system. 2. Different Different testing testing techniq techniques ues are appropr appropriate iate at differen differentt points points in time. 3. The develope developerr of the software software and and an independ independent ent test group group conduc conducts ts testing. testing. 4. Test Testin ing g and and Debu Debugg ggin ing g are are diff differ eren entt acti activi viti ties es but but debu debugg ggin ing g must must be accommodated in any testing strategy.
42
43 Unit Testing: Unit Unit testin testing g focus focuses es verific verificati ation on efforts efforts in smalles smallestt unit unit of softwa software re design design (module).
1. Unit Unit tes testt cons consid ider erat atio ions ns 2. Unit Unit tes testt proc proced edur ures es
Integration Testing: Integration testing is a systematic technique for constructing the the prog progra ram m stru structu cture re whil whilee cond conduc ucti ting ng test testss to unco uncove verr error errorss asso associ ciate ated d with with interfacing. There are two types of integration testing:
Top-Down Integration Integration: Top 1. Top-Down Top down down inte integr grat atio ion n is an incr increm emen enta tall approach to construction of program structures. Modules are integrated by moving down wards throw the control hierarchy beginning with the main control module.
Bottom up integr integratio ation n as its name name implies implies,, 2. Bottom-Up Integration: Bottom begins construction and testing with automatic modules.
Regression Testing Testing: In this this cont contes estt of an inte integr grati ation on test test stra strate tegy gy,, 3. Regression regression testing is the re execution of some subset of test that have already been conducted to ensure that changes have not propagate unintended side effects.
VALIDATION TESTING: At the culmination culmination of integration integration testing, testing, software software is completely completely assembled assembled as a package; interfacing errors have been uncovered and corrected, and a final series of software tests – validation testing – may begin. Validation can be fined in many ways, but a simple simple definition definition is that validation validation succeeds when software functions functions in a manner manner that can be reasonably expected by the customer. Reasonable expectation is defined in the software requirement specification – a document that describes all user-visible attributes of the software. The specification
43
44 contains contains a section section titled “Validation “Validation Criteria”. Information Information contained contained in that section forms the basis for a validation testing approach.
VALIDATION TEST CRITERIA: Soft Softwa ware re vali valida dati tion on is achi achiev eved ed thro throug ugh h a seri series es of blac black-b k-box ox tests tests that that demonstrate conformity with requirement. A test plan outlines the classes of tests to be conducted, and a test procedure defines specific test cases that will be used in an attempt to uncover errors in conformity with requirements. Both the plan and procedure are design designed ed to ensure ensure that that all functi functiona onall requir requireme ements nts are satisf satisfied ied;; all perfor performan mance ce requirements are achieved; documentation is correct and human-engineered; and other requirements are met. Afte Afterr each each vali valida datio tion n test test case case has has been been cond conduc ucted ted,, one one of two two poss possib ible le conditions exist: (1) The function or performance charact eristics conform to specification and are accepted, or (2) a deviation from specification is uncovered and a deficiency list is created. Deviation or error discovered at this stage in a project can rarely be corrected prior to scheduled completion. It is often necessary to negotiate with the customer to establish a method for resolving deficiencies.
CONFIGURATION REVIEW: An important element of the validation process is a configuration review . The intent of the review is to ensure that all elements of the software configuration have been prope properly rly develo developed ped,, are catalo catalogue gued, d, and have have the necess necessary ary detail detail to suppo support rt the maintenance phase of the software life cycle. The configuration review sometimes called an audit.
Alpha and Beta Testing: It is virtually impossible for a software developer to foresee how the customer will will reall really y use use a prog program ram.. Inst Instru ruct ctio ions ns for for use use may may be misi misint nterp erpret reted ed;; stran strange ge combination of data may be regularly used; and output that seemed clear to the tester may be unintelligible to a user in the field.
44
45 When custom software software is built for one customer, a series of acceptance tests are conducted to enable the customer to validate all requirements. Conducted by the end user rather than the system developer, an acceptance test can range from an informal “test drive” to a planned and systematically executed series of tests. In fact, acceptance testing can be conducted over a period of weeks or months, thereby uncovering cumulative errors that might degrade the system over time. If softw softwar aree is deve develo lope ped d as a prod produc uctt to be used used by many many cust custom omer ers, s, it is impractical to perform formal acceptance tests with each one. Most software product builders use a process called alpha and beta testing to uncover errors that only the end user seems able to find. A customer conducts the alpha test at the developer’s site. The software is used in a natural setting with the developer “looking over the shoulder” of the user and recording errors and usage problems. Alpha tests are conducted in controlled environment. The beta test is conducted at one or more customer sites by the end user of the software. Unlike alpha testing, the developer is generally not present. Therefore, the beta test is a “live” application of the software in an environment that cannot be controlled by the develo developer per.. The custom customer er records records all proble problems ms that that are encoun encounter tered ed during during beta beta testing and reports these to the developer at regular intervals. As a result of problems reported reported during bets test, the software software developer makes modification modification and then prepares for release of the software product to the entire customer base.
IMPLEMENTATION: Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new app
Depending on the the size of the
organization that will be involved in using the application and the risk associated with its use, systems developers may choose to test the operation in only one area of the firm, say in one department or with only one or two persons. Sometimes they will run the old and
45
46 new systems together to compare the results. In still other situation, developers will stop using the old system one-day and begin using the new one the next. As we will see, each implementation strategy has its merits, depending on the business situation in which it is considered. Regardless of the implementation strategy used, developers strive to ensure that the system’s initial use in trouble-free. Once installed, applications are often used for many years. However, both the organization and the users will change, and the environment will be different over weeks and and mont months hs.. Ther Therefo efore re,, the the appl applica icati tion on will will undo undoub ubte tedl dly y have have to be main maintai taine ned; d; modifications and changes will be made to the software, files, or procedures to meet emerging emerging user requirements requirements.. Since organization organization systems systems and the business business environment environment undergo continual change, the information systems should keep pace. In this sense, implementation is ongoing process. Evaluation of the system is performed to identify its strengths and weakness. The actual evaluation can occur along any of the following dimensions.
Operational Evaluation: assessment of the manner in which the system functions, incl includ udin ing g ease ease of use, use, respo respons nsee time time,, suit suitab abil ilit ity y of info inform rmat atio ion n form format ats, s, overa overall ll reliability, and level of utilization.
Organi Organizati zation on Impac Impact: Iden Identi tifi fica cati tion on and and meas measur urem emen entt of bene benefi fits ts to the the organization in such areas as financial concerns operational efficiency, and competitive impact. Includes impact on internal and external information flows.
User Manager Assessment: Evaluation of the attitudes of senior and user mangers within the organization, as well as end-users.
Development Performance: Evaluation of the development process in accordance with such yardsticks as overall development time and effort, conformance to budgets and standards, and other project management criteria. Includes assessment of development methods and tools.
46
47
9. SYSTEM SECURITY MEASURES Security in software engineering a broad topic. This script limits its scope to defining and discussing software security, software reliability, developer responsibility, and user responsibility.
COMPUTER SYSTEMS ENGINEERING Soft Softwa ware re
secu securi rity ty
appl applie iess
info inform rmat atio ion n
secu securi rity ty
prin princi cipl ples es
to
soft softwa ware re
deve develo lopm pmen ent. t. Info Inform rmat atio ion n secu securit rity y is comm common only ly defi define ned d as "the "the prot protect ectio ion n of informatio information n systems systems against against unauthori unauthorized zed access to or modificatio modification n of informatio information, n, whether in storage, processing or transit, and against the denial of service to authorized users users of the provis provision ion of servic servicee to unauth unauthori orized zed users, users, includ including ing those those measur measures es necessary to detect, document, and counter such threats." Many Many quest question ionss regard regarding ing securi security ty are related related to the softwa software re life cycle itself. itself. In particular, the security of code and software processes must be considered during the design and development phase. In addition, security must be preserved during operation and maintenance to ensure the integrity of a piece of software. The mass of security functionality employed by today's networked world, might deceive us into believing that our jobs as secure system designers are already done. However, computers and networks are incredibly insecure. The lack of security stems from two fundamental problems. Systems, which are theoretically secure, may not be secure in practice. practice. Furthermor Furthermore, e, systems systems are increasingl increasingly y complex; complex; complexity complexity provides more opportunities for attacks. It is much easier to prove that a system is insecure than to demonstrate that one is secure to prove insecurity, one simply exploits certain system vulnerability. On the other hand, proving a system secure requires demonstrating that all possible exploits can be defended against (a very daunting, if not impossible, task).
47
48 GOOD PRACTICE Security requires more managing and mitigating risk than it does technology. When developing software one must first determine the risks of a particular application. For example, today's typical web site may be subject to a variety of risks, ranging from defacement, defacement, to distributed distributed denial of service service (DDoS, (DDoS, described in detail later) attacks, to transactions with the wrong party. Once Once the risks risks are identi identified fied,, identi identifyi fying ng approp appropriat riatee securi security ty measur measures es become becomess tractable. tractable. In particular, particular, when defining defining requirements, requirements, it is important to consider consider how the application will be used, who will be using the application, etc. With that knowledge, one can decide whether or not to support complex features like auditing, accounting, no repudiation, etc. Another potentially important issue is how to support naming. The rise of distributed system systemss has made made naming naming increas increasing ingly ly import important ant.. Naming Naming is typical typically ly handle handled d by rendezvous: a principal exporting a name advertises it somewhere, and someone wishing to use use that that name name sear search ches es for for it (pho (phone ne book bookss and and direc directo torie riess are exam exampl ples es). ). For For example, in a system such as a resource discovery system, both the resources and the individuals using those resources must be named. Often there are tradeoffs with respect to naming: while naming can provide a level of indirection, it also can create additional problems if the names are not stable. Names can allow principals to play different roles in a particular system, which can also be useful.
48
49
10. FORMS & REPORTS
49
50
50
51
51
52
52
53
53
54
54
55
55
56
56
57
57
58
58
59
59
60
11 PERT CHART PERT CHART: Program Evaluation Review Technique, PERT can be both a cost and a time management system. PERT is organized by events and activities or tasks. PERT has several several advantages over bar charts and is likely to be used with more complex complex projects. One advantag advantagee of PERT is is that it is schedulin scheduling g device device that also shows shows graphic graphically ally which tasks must be completed before others are begun. Also, by displaying the various task paths, PERT enables the calculation of a critical path. Each path consists of combinations of tasks, which must be completed. PERT controls time and cost during the project and also facilitates finding the right balance between completing a project on time and completing it within the budget. PERT CHART 25 JUN 2003 10 JUL 2003
START
I/O DESIGN
10 AUG 2003 INTEGRATION AND TESTING
ANALYSIS 01 JUL 2003
10 JUL 2003
CODING FINISH 10 JUL 2003 15 AUG 2003 WRITE MANUAL
60
61 Gantt Chart ( Bar Chart ): A Bar Chart is perhaps the simplest form of formal project management. The bar chart is also known as Gantt Chart. It is used almost exclusively for scheduling purposes and therefore controls only the time of projects. Gantt Charts are a project control technique that can be used for several purposes, including scheduling, budgeting and resource planning. A Gantt Chart is a Bar Chart, with each bar representing an activity. The bars are drawn against a time line. The length of each bar is proportional to the length of time planned for the activity. GANTT CHART
JUN 25, 5,03 03
JUL ULY Y1,0 ,03 3
JULY JUL Y15, 5,03 03
AUG AU G10 10,0 ,03 3
AUG UG25 25,0 ,03 3
STA ANALYS I /O DESIGN CODING WRITE INTEGRAT ION
SLACK TIME, TIME, ie., the LATEST TIME by which a task must be finished White part of the bar shows the length of time each task is estimated to
61
62
12.FUTURE SCOPE OF APPLICATION The The curre current nt syst system em is susc suscep epti tibl blee to hand handle le the the situ situati ation on that that,, even even the the organization grows and establishes various branches at various places in the world. The Database maintained here grows, as time passes by thus it has to be cleaned up in frequent intervals so as to save memory. There are no special provisions designed in the system. If the user wants an option of backing of data in frequent intervals, it could be added to the present system. The The inform informati ation on of the Employ Employee' ee'ss workin working g in the organi organizati zation, on, like like payrol payrolll (remuneratio (remuneration's), n's), details details of their work, are not incorporate incorporated d in the system system as it does not fall under the scope of this project. If Payroll management is to be included it can be easily coupled with the present modules. The use of the system should be trained otherwise he would struggle to operate it and would not be able to know all the features in it. Frequently enough the system should be reviewed for updating as we know that mainte maintenan nance ce is rather rather difficu difficult lt than than develo developin ping g a syste system m so there there shoul should d be proper proper feedback about the usefulness of the system, otherwise the basic purpose of automation would not achieved.
62
63
13.BIBLIOGRAPHY The The Knowle Knowledge dge requir required ed for develo developin ping g this this project project is extract extracted ed from from the following books.
MASTERING VISUAL BASIC 6 -
Peter Norton
ORACLE 8 MASTERING CLIENT-SERVER CONCEPTS -
Steven M. Bobrowski
SYSTEM ANALYSIS AND DESIGN -
James A. Senn
VISUAL BASIC 5 DATABASE -
Dennis Kennedy
-
Joe Garrick
-
Bill Harper
-
Jason T. Roff
SOFTWARE ENGINEERING - Roger S. Pressman
63