Online voting system project


Published on

1 Comment
  • awesome, helps allot thanx pals.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Online voting system project

  1. 1. 1|Page Project Report (Paper-410) B. Sc (H) Computer Science (IV Semester) Area: Software Engineering ONLINE VOTING SYSTEM FOR COLLEGE ELECTIONS Ram Lal Anand College, Benito Juarez Rd, South Campus, New Delhi University of DelhiSubmitted By: Under SupervisionShubham Nauriyal Dr. Vandana GandotraKunal Sharma (Associate Professor)
  2. 2. 2|Page CERTIFICATE This is to certify that the project entitled, ―ONLINE VOTING SYSTEM FOR COLLEGE ELECTIONS‖ has been done by:- Kunal Sharmaand Shubham Nauriyalof Bachelor of Computer Science (Hons.) during semester IV from Ram Lal Anand College, University of Delhi under the supervision of Dr. Vandana Gandotra. Dr. Vandana Gandotra
  3. 3. 3|Page ACKNOWLEDGEMENT The Project was jointly undertaken by Shubham Nauriyal and Kunal Sharma as their 4th Semester Software Engineering Project, under the able guidance and supervision of Dr. Vandana Gandotra. Our primary thanks goes to her, who poured over every inch of our project with painstaking attention and helped us throughout the working of the project. It‘s our privilege to acknowledge our deepest sense of gratitude to her for her inspiration which has helped us immensely. We are extremely grateful to her for her unstilted support and encouragement in the preparation of this project.
  4. 4. 4|Page TABLE OF CONTENTSAcknowledgement1. INTRODUCTION1.1 Problem statement1.2 Process model2. REQUIREMENT ANALYSIS2.1 Data Flow Diagram(DFD)2.2 Data Dictionary(DD)3. PROJECT MANAGEMENT3.1 Function Points3.2 Effort Estimation3.3 Schedule Estimation3.4 Risk Table3.5 Timeline Chart4. DESIGN ENGINEERING4.1 Architectural Design4.2 Data Design4.3 Component Level Design5. SOFTWARE TESTING5.1 Computing Basis Path Testing6. REFERENCES
  5. 5. 5|Page1. INTRODUCTION―ONLINE VOTING SYSTEM FOR COLLEGE ELECTIONS ‖ is an online votingtechnique. In which student can give his her vote online without going to the collegeon the day of elections. This will surely consume less time as whole the day is beingconsumed on the day of elections. There is a DATABASE which is maintained in which all the names of students withcomplete information are stored. Each student is provided by a ―User ID‖ and―Password‖ by using that ID and PASSWORD he she can use hisher vote. The scopeof this project will be that it will surely increase the voting percen tage in universityand college elections. Online Voting System will be fast enough to calculate theresults and reduce the human efforts, as all the things will be automated.1.1 Problem statementAs the statistics shows that the percentage of polling on the day of elections is not satisfactory asmajority of students are not coming to vote and thinks is just as a wastage of time.The manual voting system takes long time as there is a lot of paper work first and then humaneffort is also there for counting of the votes.Manual voting consumes almost 4-6 hrs (approx.) of every voter which is surely a headache.The voting of the college elections will be done online such that there is no need to come at thecollege on the time of elections and the student can vote from the home or from any other place.A USER ID and PASSWORD will be provided to every student of the college, so that on the timeof elections they can easily login on the election link and can use his/her vote.
  6. 6. 6|Page1.2 Process ModelA process model for software engineering is choosen based on the nature of the project andapplication, the methods and tools to be used, and the controls and deliverables that are required.The model is used to build the ―ONLINE VOTING SYSTEM‖software is ―The Prototyping Model‖. The prototyping paradigm is: - ―Water fall model‖ Fig.1.2 Water fall ModelThe water fall model is a software development model in which a systems development is viewed asflowing downwards through the phases of the system development process. The waterfallmethodology is powerful, précised, and thorough. It has a number of phases that have to beimplemented in a sequential manner.The phases which come under the waterfall model are as follows:- 1.Requirement Analysis 2.Design 3.Implementation 4.Testing 5.MaintenanceAdvantages: 1.Good for large projects 2.Waterfall suits a principled approach to design 3.Waterfall divides the project into manageable areas 4.Waterfall separates the logical and physical
  7. 7. 7|Page2. REQUIREMENT ANALYSISThe basic function of requirement analysis is that it translates the ideas in the mind of the clientsinto a formal document. Thus the output of this phase is a set of precisely specified requirementswhich are complete and consistent. This document is called Software Requirement Specification.In order to provide the user with a feeling of community, the following requirement should betaken care: Each user will have to create their own profile that they can log into each time they visit the site. If the user does not create or log in to an account they will only be able to browse questions on the site, they will not be able to use any of the sites other functionalities. In order to create an account the user must have a college email address (verified by server). Once they create an account the user will be able to Log in and out of the system, Upload a picture, choose their status (i.e. Student, TA, Professor). Upload information about themselves (name, AIM, college email, hobbies, etc.) Select a college and area of study. View and send private messages to other users through a custom messaging client.Questions and Answer functionality: Users will be able to post new questions, able to answerquestions and post sources for their answers, search for questions containing key words, thumbs upand thumbs down questions and responses Users can bookmark questions, send questions tofriends.2.1 Data Flow Diagram (DFD)A data flow diagram is a graphical representation that depicts information flow and the transformsthat are applied as data move from input to output.The basic form of a data flow diagram, also known as a data flow graph or a bubble chart, The dataflow diagram may be used to represent a system or software at any level of abstraction.As information moves through software, it is modified by a series of transformations. A data flowdiagram is a graphical representation that depicts information flow and the transforms that areapplied as data move from input to output. The basic form of a data flow diagram, also known as adata flow graph or a bubble chart. DFD is an abstract description of the system. The data flowdiagram may be used to represent a system or software at any level of abstraction.DFDs may be partitioned into levels that represent increasing information flow and functionaldetail. Therefore, the DFD provides a mechanism for functional modeling as well as informationflow modeling. DFDs are very useful in understanding a system and can be effectively used duringanalysis.DFDs can be hierarchically organized, which helps in progressively partitioning and analyzinglarge systems. Such DFDs are called leveled DFDs. Context diagram is a diagram in which theentire system is treated as a single process and all its inputs, outputs, sinks, and sources areidentified and shown.
  8. 8. 8|Page USERNAME/ VOTING STATUS LOG IN PASSWORD LOG OUT PROCESS Fig.2.1 (a) level 0 DFD COLLEGE DATABASE COLLEGE STUDENT DETAILS VOTING DATABASE VOTER Authentication AUTHENTICATION successful VOTING LOG IN PROCESS Username/ Voting password done unsuccessful HOME LOG OUT PAGE Receipt USER USER Fig.2.1 (b) level 1 DFD2.2 Data Dictionary (DD)The data dictionary is an organized listing of all data elements that are pertinent to the system, withprecise, rigorous definitions so that both user and system analyst will have a commonunderstanding of inputs, outputs, components of stores and intermediate calculations.Symbols used ‗+‘ represents composition, ‗|‘ means selection and ‗*‘ means repetition.
  9. 9. 9|Page Username = Name|Digit Name = First + Middle + Last First = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]* Middle = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]* Last = [a|b|c_ _ _ _ _ _ _|z|A|B|C_ _ _ _ _ _|Z]* Digit=[0|1|2|3|_ _ _ _ _ |9]* Successful = Done Unsuccessful = Not Done Authenticated = Done Status = Yes/No Receipt = [Code] + digit + digit + digit + digit + Name Password = [word] | digitWord = [0|1|2|3|_ _ _ _ _|9]* Fig.2.2 Data Dictionary (DD)3. PROJECT MANAGEMENTProject management involves the planning, monitoring, and control of the people, process, andevents that occur as software evolves from a preliminary concept to an operationalimplementation. Project managers plan, monitor, and control the work of a team of softwareengineers. Effective software project management focuses on the four P‟ s: people, product,process, and project.3.1 Function PointsFunction-oriented software metrics use a measure of the functionality delivered b y the applicationas a normalization value. Since, ―functionality‖ cannot be measured directly; it must be derivedindirectly using other direct measures. Function points are computed by completing the table 4.1.Five information domain characteristics are determined and counts are provided in the appropriatetable location. Information domain values are defined in the following manner:Number of user inputs:Each user input that provides distinct application oriented data to thesoftware is counted. Inputs should be distinguished from inquiries, which are counted separately.Number of user outputs: Each user output that provides application oriented information to theuser is counted. In this context output refers to reports, screens, error messages, etc. Individual data
  10. 10. 10 | P a g e items within a report are not counted separately. Number of user inquiries:An inquiry is defined as an on-line input that results in the generation of some immediate software response in the form of an on-line output. Each distinct inquiry is counted. Number of files: Each logical master file (i.e., a logical grouping of data that may be one part of a large database or a separate file) is counted. Number of external interfaces:All machine readable interfaces (e.g., data files on storage media) that are used to transmit information to another system are counted. Table 3.1 Weighting factorMeasurement factors Count Simple Average ComplexNumber of user inputs 2 3 4(2) 6 8Number of user output 2 4 5(2) 7 10Number of user inquiries 3 3 4(3) 6 12Number of internal logical files 1 7 10(1) 15 10Number of external interface files 2 5 7(2) 10 14Count total 54 The Fi (i = 1 to 14) are "Complexity Adjustment Values" based on responses to the following questions: 1. Does the system require reliable backup and recovery? 5 2. Are data communications required? 5 3. Are there distributed processing functions? 3 4. Is performance critical? 4 5. Will the system run in an existing, heavily utilized operational environment? 4 6. Does the system require on-line data entry? 5 7. Does the on-line data entry require the input transaction to be built over multiple? 3 5 8. Are the master files updated on-line? 1 9. Are the inputs, outputs, files, or inquiries complex? 1 10. Is the internal processing complex? 2 11. Is the code designed to be reusable? 3 12. Are conversion and installation included in the design? 5 13. Is the system designed for multiple installations in different organizations? 5
  11. 11. 11 | P a g e14. Is the application designed to facilitate change and ease of use by the user?Once these data have been collected, a complexity value is associated with each count.Organizations that use function point methods develop criteria for determining whether a particularentry is simple, average, or complex. To compute function points (FP), the following relationshipis used:FP = count total *[0.65 + 0.01 *Σ (Fi)]= 54*(0.65 + 0.01*51)=54*1.16=62 (approx.)Where count total is the sum of all FP entries obtained from Figure.3.2 ESTIMATING EFFORTSBarry Boehm introduced a hierarchy of software estimation models bearing the name COCOMO,for COnstructive COst MOdel. The original COCOMO model became one of the most widely usedand discussed software cost estimation models in the industry. The COCOMO II applicationcomposition model uses object points.The object point is an indirect software measure that is computed using counts of the no. of screens(user interface), reports and components likely to be required to build the application. Each objectinstance is classified into one of three complexity levels using criteria suggested by Boehm.Once complexity is determined, the number of screens, reports, and components are weighted. Theobject point count is then determined by multiplying the original number of object instances by theweighting factor in and summing to obtain a total object point count. When component-baseddevelopment or general software reuse is to be applied, the percent of reuse (%reuse) is estimatedand the object point count is adjusted:NOP = (object points) x [(100 -%reuse)/100],where NOP is defined as new object points.To derive an estimate of effort based on the computed NOP value, ―productivity rate‖ must bederived.PROD = NOP/person-monthTable 3.1 presents the productivity rate for different levels of developer experience anddevelopment environment maturity. Once the productivity rate has been determined, an estimate ofproject effort can be derived asEstimated effort = NOP/PROD Object type No. of objects Complexity Weight Count Simple Medium Difficult Screen 4 1(2) 2(2) 3(1) 7 Report 2 2(2) 5(1) 8(0) 9 3GL component 2 10(2) 20 Object points sum 36 Table 3.2 Estimating object points
  12. 12. 12 | P a g eData used in estimating effort are:(1) Object points is 36(taken from table 3.2)(2) Estimated reuse is 36%(3) Prod is 13 (average value taken)NOP = Object points *[(100-reuse%)/100]= 36*[(100-35)/100]= 24ESTIMATED EFFORT = NOP/PROD= 24/13= 2 person-monthsHence estimated effort of the project is 2 person-months.3.3 ESTIMATING SCHEDULEPutnam and Myers suggest a set of equations derived from the software equation. Minimumdevelopment time is defined as in months for > 6 months Since project‘s time period is less than 6 months, the above equation cannot be applied. An estimation model of the form: E= (equation 1) where E = effort in person-months or person-years t = project duration in months or years B = ―special skills factor‖ P = ―productivity parameter‖Calculating development time for project, using equation 1 and effort calculated in section 3.2 2=4t =0.06Hence estimated schedule of the project is 0.06 months.3.4 RISK TABLE A table provides a project manager with a simple technique for risk production. A risk table issorted by probability and impact to rank risks. A project team begins by listing all risks in the 1stcolumn of the table. This can accomplished with the help of the risk item checklist referenced.Each risk is categorized in the 2nd column. The probability of occurrence of each risk is entered inthe next column of the table.Next, the impact of each risk is assessed. Each risk component is assessed using thecharacterization presented and an impact category is determine. The categories for each of the fourrisk components-performance, support, cost and schedule-are averaged to determine an overallimpact value.
  13. 13. 13 | P a g eOnce the first four columns of the risk table have been completed, the table is sorted by probabilityand by impact. High-probability, high-impact, risk-impact risks percolate to the top of the table andlow-probability risks drop to the bottom.Table 3.4 Risk Table Risk Category Probability Impact RMMM Hacker attack TE 30% 1 Appoint experts team to overcome the situation. Environmental BU 30% 2 Replication to different data factors centres. Delivery deadline BU 50% 2 Increase the amount of resources will be tightened available. Staff ST 30% 2 Meet with experienced inexperienced developer and experts of projects. Size estimates PS 60% 2 Check the modules and revise may be the algorithm significantly low Staff turnover ST 60% 2 Meet with current staff to will be high determine causes for turnover. Assign the backup staff member for every critical technologist. Less reuse than PS 70% 2 Revise the components than to planned be used. Performance TE 20% 2 Consult the experienced software makers. Unavailability of BU 20% 3 Ensure that there is always an team members emergency person who can always take over the task assign is not available. Reviews may not BU 30% 3 Set dates for reviews for each be conducted documentation. regularlyImpact values: Category1—catastrophic PS: product size2—critical DE: Development environment3—marginal ST: staff size4—negligible3.5 TIMELINE CHARTSWhen creating a software project schedule, the planner begins with a set of task. If automated toolsare used, the work breakdown is input as a task network or task outline. Effort, duration, and startdate are then input for each task. In addition, tasks may be assigned to specific individuals. A
  14. 14. 14 | P a g etimeline chart, also called a Gantt chart, is generated. A timeline chart can be developed for theentire project.Timeline depicts a part of a software project schedule that emphasizes. All project tasks are listedin the left-hand column. The horizontal bars indicate the duration of each task. When multiple barsoccur at the same time on the calendar, task concurrency is implied. The diamonds indicatemilestones. Once the information necessary for the generation of a timeline chart has been input,the majority of software project scheduling tools produce project tables—a tabular listing of allproject tasks, their planned and actual start- and end-dates, and a variety of related information. Jan 2013 Feb 2013 Mar 2013 Apr 2013 ID Task Name 1/13 1/20 1/27 2/3 2/10 2/17 2/24 3/3 3/10 3/17 3/24 3/31 4/7 4/14 4/21 4/28 1 Identify needs and benefits 2 Meetings with customer 3 identify needs and project constraints 4 Establish product statement 5 Describe process model 6 Milestone : product statement defined 7 Define function inputs and outputs 8 Document FIO 9 Review FIO with customers 10 Milestone : FIO defined 11 Start managing the project 12 Compute function points 13 Estimate the efforts of projects 14 Estimate the schedule of project 15 Make the timeline chart 16 Perform risk analysis 17 Milestone : project is managed 18 Define the functions behaviour 19 Describe the design of module 20 Describe attributes of module 21 Write pseudocode of module 22 Milestone : FIO design complete 23 Computing basis path set 24 Milestone : testing complete Fig.3.5 Timeline chart
  15. 15. 15 | P a g e4. DESIGN ENGINEERINGThe design of a system is essentially a blueprint or a plan for a solution for the system. A designmethodology is a systematic approach to creating a design approach, a system is viewed as atransformation function, transforming the inputs to the desired outputs.The design process for software systems often has two levels. At the first level the focus is ondeciding which modules are needed for the system, the specifications of these modules, and howthe modules should be interconnected. This is what is called the system design or top-level design.In the second level, the internal design of the modules, or how the specifications of the module canbe satisfied, is decided. This design level is often called design to contain a more detaileddescriptionof the processing logic and data structures so that the design is sufficiently complete forcoding.4.1 Architectural DesignFor a function-oriented design, the design can be represented graphicallyby structure charts. The structure of a program is made up of the modules of that program togetherwith the interconnections between modules. The structure chart of a program is a graphicrepresentation of its structure. In a structure chart a module is represented by a box with themodule name written in the box.During design, Structured Design Methodology aims to control and influence the structure of thefinal program. The aim is to design a system so that programs implementing the design would havea hierarchical structure, with functionally cohesive modules and as few interconnection betweenmodules as possible.The overall strategy is to identify the input and output streams and the primary transformations thathave to be performed to produce the output. High level modules are then created to perform thesemajor activities ,which are later refined. There are four major steps in this strategy:
  16. 16. 16 | P a g e4.1.1. Restate the problem as a Data Flow DiagramNo extra inputs or outputs are required to be represented in data flow diagram so DFD remainssame as previous. COLLEGE DATABASE COLLEGE STUDENT DETAILS VOTING DATABASE VOTER Authentication AUTHENTICATION successful VOTING LOG IN PROCESS Username/ Voting password done unsuccessful HOME LOG OUT PAGE Receipt USER USER Fig. 4.1.1 Data flow diagram for Online Voting.4.1.2 Identify the Most Abstract Input(MAI) and Most Abstract Output(MAO)Data ElementsThe most abstract input (MAI) data elements are those data elements in the data flow diagram thatare farthest removed from the physical inputsbut can still be considered inputs to the system. The most abstract input data elements often havelittle resemblance to the actual physical data.Most abstract output data elements (MAO) by starting from the outputs in the data flow diagramand travelling toward the inputs. These are the data elements that are most removed from the actualoutputs but can still be considered outgoing. The MAO data elements may also be considered thelogical output data items, and the transforms in the data flow diagram after these data items arebasically to convert the logical output into a form in which the system is required to produce theoutput.
  17. 17. 17 | P a g e COLLEGE COLLEGE DATABASE. DATABASE. VOTING DETAILS STUDENT DETAILS MOST ABSTRACT MOST INPUT ABSTRACT OUTPUT VOTER Authentication AUTHENTICATION successful VOTING LOG IN PROCESS Username/ Voting password done unsuccessful HOME LOG OUT PAGE Receipt USER USER Figure 4.1.2 DFD with Most Abstract Data Elements4.1.3 First-level factoringWe first specify a main module, whose purpose is to invoke the subordinates. The main module istherefore a coordinate module. For each of the most abstract input data items, an immediatesubordinate module to the main module is specified. Each of these modules is an input module,whose purpose is to deliver to the main module the most abstract data item for which it is created.Similarly, for each most abstract data item, a subordinate module that is an output module thataccepts data from the main module is specified. Each of the arrows connecting these input andoutput subordinate modules is labelled with the respective abstract data item flowing in the properdirection. Finally, for each central transform, a module subordinate to the main one is specified.These modules will be transform modules, whose purpose is to accept data from the main module,and then return the appropriate data back to the main module. The data items coming to atransform module from the main module are on the incoming arcs of the corresponding transformin the data flow diagram.
  18. 18. 18 | P a g e ONLINE VOTING SYSTEM candidates ls Ge tai tr List of de ec vote eip t VOTING CONFIRMATION LOGIN PROCESS STATUS Fig.4.1.3 DFD for first level factoring4.1.4 Factoring of input, output and transform branchesThe first-level factoring results in a very high level structure, where each subordinate module has alot of processing to do. To simplify these modules, they must be factored into subordinate modulesthat will distribute the work of a module. Each of the input, output and transformation modulesmust be considered for factoring. A subordinate input module is created for each input data streamcoming into this new central transform, and a subordinate transform module is created for the newcentral transform. The new input modules now created can then be factored again, untill thephysical inputs are reached. The factoring of the output modules is symmetrical to the factoring ofthe input modules.The goal is to determine sub transforms that will together compose the overall transform and thenrepeat the process for the newly found transforms, until we reach the atomic modules. LOGIN ils t Username/ ta en Password Au de stud details th en t Ge tic at ed Username/ Details Authentication password Fig.4.1.4(a) Factoring of Input module
  19. 19. 19 | P a g e Voting Process V s ot t ca ele e fo lis nd cte r id d at es Candidate list Voting Fig.4.1.4(b) Factoring of Transform Module CONFIRMATION STATUS Ge te tr vo ec eip t SUCCESSFULLY STATUS VOTED Fig.4.1.4(c) Factoring of Output Module4.2 Data DesignData Design translates the data objects defined in the analysis model into data structure that residewithin the software. The attributes that describe the object, the relationship between data objectsand their use within the program all influence the choice of data structures. At a higher level ofabstraction, data design may lead to the definition of the architecture for a database or a datawarehouse.
  21. 21. 21 | P a g e ATTRIBUTE DATA TYPE LENGTHSTUDENTFirst Name Char 20Second Name Char 20Last Name Char 20USERNAME Char 20PASSWORD Char 10ROLL NUMBER Int 104.3 Component-level DesignComponent-level design establishes the algorithm detail required to manipulate data structures,effect communication between software components via their interfaces, and implement theprocessing algorithms allocated to each component. Component-level design, also calledprocedural design, occurs after data, architectural, and interfacedesigns have been established. The intent is to translate the design model into operational software.But the level of abstraction of the existing design model is relatively high, and the abstraction levelof the operational program is low.PSEUDOCODE:OVS homepage_Load(){DBconnection.Open Button Login.enable = true Button Logout.enable = true}Button Login_click(){ Flag =false Username =InputBox(―Enter Your Name‖)Password =InputBox(―Enter Your Password‖)DBStudent_Details.MoveFirstDo while DBStudent_Details.EOF=false{ ifDBStudent_Details.Feilds(―Username‖)<>UsernameAndDBStudent_Details.Feilds(―Password‖)<>Passwordthen DbStudent_Details.MoveNextElse
  22. 22. 22 | P a g e flag =true EXIT doEnd if}Loopif flag =falsethen MsgBox(―Username or Password is not correct‖)End ifif flag =truethen MsgBox(―Login as voter successful‖)Voting Process()End if}Voting Process_Load(){ count_president1= 0count_president2=0count_president3=0count_Vice_president1=0count_Vice_president2=0 ―Please select one candidate from each category‖{―President Candidate:-‖ if Radiobutton.1=true then { President =1 count_president1++ } else if Radiobutton.2=true then President=2 count_president2++ } else if Radiobutton.3=true then { President=3count_president3++ }End if―Vice President Candidates:-‖ if Radiobutton.1=true then { Vice president =1 count_Vice_president1++} else if Radiobutton.2=true then
  23. 23. 23 | P a g e{ Vice president =2 count_Vice_president2++}End ifButton Save_click(){DBVoting_Details.Feilds(―President‖) =PresidentDBVoting_Details.Feilds(―Vice President‖) =Vice President}MsgBox(―Voted Successfully‖)}}Button Logout_click(){ unload OVShomepage End}Voting Result Load(){If(count_president1> count_president2 && count_president1> count_president3){ MsgBox(―Selected President is ‖, president1)}Else if(count_president2> count_president1 && count_president2> count_president3){ MsgBox(―Selected President is ‖, president2)}Else{ MsgBox(―Selected President is ‖, president3) }End ifIf(count_Vice_president1> count_Vice_president2){ MsgBox(―Selected Vice President is ‖, Vice president 1)}Else{ MsgBox(―Selected Vice President is ‖, Vice president2 )}End if5. TESTING
  24. 24. 24 | P a g eTesting is the process of running a system with the intention of finding errors. Testing enhances theintegrity of a system by detecting deviations in design and errors in the system. Testing aims atdetecting error-prone areas. This helps in the prevention of errors in a system. Testing also addsvalue to the product by conforming to the user requirements.The main purpose of testing is to detect errors and errorprone areas in a system. Testing must bethorough and well-planned. A partially tested system is as bad as an untested system. And the priceof an untested and under-tested system is high.The implementation is the final and important phase. It involves user-training, system testing inorder to ensure successful running of the proposed system. The user tests the system and changesare made according to their needs. The testing involves the testing of the developed system usingvarious kinds of data. While testing, errors are noted and correctness is the mode.5.1 FLOWGRAPH 1 2 3 4 5 6 7 8 9 10 11 12 Figure 5.1 Flowgraph5.2 CYCLOMATIC COMPLEXITY
  25. 25. 25 | P a g eCyclomatic complexity is a software metric that provides a quantitative measure of the logicalcomplexity of a program.In figure, the cyclomatic complexity can be computed by using the algorithm. 1. The number of regions correspond to the cyclomatic complexity  The flow graph has three regions. 2. Cyclomatic complexity , V(G), for a flow graph, G is defined as V(G)=E-N+2 (where E= no. of edges, N= nodes) V(G)=13 edges – 12 nodes + 2 V(G)= 3 3. Cyclomatic complexity, V(G), for a flow graph G, is also defined as V(G)=P+1= 2+1= 3Independent Programs PathsAn independent path is any path through the program that introduces atleast new set of processingstatements or a new condition. When stated in terms of a graph, an independent bpath must movealong atleast one edge that has not traversed before the path is defined.A set of independent paths flow graph illustrated in figure is :path 1: 1-2-4-1path 2: 1-2-3-5-6-7-8-10-12path 3: 1-2-3-5-6-7-8-9-11-12
  26. 26. 26 | P a g eREFERENCES● Software Engineering- A practitioners Approach by Roger S. Pressman: 6th editionMcGraw Hill, 2005● An Integrated Approach to Software Engineering by Pankaj Jalote:3rd editionSpringer, 2005