0% found this document useful (0 votes)
427 views100 pages

CN Record Manual

The document describes a lab manual for computer networks and case tools. It includes programs and algorithms for implementing various networking concepts like bit stuffing, character stuffing, and CRC-12. It provides sample inputs and outputs for the programs to demonstrate how they encode and decode data streams. The objective is for students to understand networking layer functionalities and apply object-oriented design principles to case studies.

Uploaded by

nekkantisudheer
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
427 views100 pages

CN Record Manual

The document describes a lab manual for computer networks and case tools. It includes programs and algorithms for implementing various networking concepts like bit stuffing, character stuffing, and CRC-12. It provides sample inputs and outputs for the programs to demonstrate how they encode and decode data streams. The objective is for students to understand networking layer functionalities and apply object-oriented design principles to case studies.

Uploaded by

nekkantisudheer
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 100

Department of I.T.

CN & Case Tools Lab Manual

COMPUTER NETWORKS AND CASE TOOLS LAB


Objective: To Understand the functionalities of various layers of OSI model To inculcate object oriented software design System/ Software Requirement Intel based desktop PCs LAN CONNECTED with minimum of 166 MHZ or faster processor with atleast 64 MB RAM and 100 MB free disk space Tools Such as Rational Rose Part - A 1. Implement the data link layer framing methods such as character, character stuffing and bit stuffing. 2. Implement on a data set of characters the three CRC polynomials CRC 12, CRC 16 and CRC CCIP. 3. Implement Dijkstra s algorithm to compute the Shortest path thru a graph. 4. Take an example subnet graph with weights indicating delay between nodes. Now obtain Routing table art each node using distance vector routing algorithm 5. Take an example subnet of hosts . Obtain broadcast tree for it. 6. Take a 64 bit playing text and encrypt the same using DES algorithm. 7. Write a program to break the above DES coding 8. Using RSA algorithm Encrypt a text data and Decrypt the same. Part - B 1. The student should take up the case study of Unified Library application which is mentioned in the theory, and Model it in different views i.e Use case view, logical view, component view, Deployment view, Database design, forward and Reverse Engineering, and Generation of documentation of the project. 2. Student has to take up another case study of his/her own interest and do the same what ever mentioned in first problem. Some of the ideas regarding case studies are given in reference books which were mentioned in theory syllabus can be referred for some idea. Note : The analysis, design, coding, documentation, database design of mini project which will be carried out in 4th year should be done in object-oriented approach using UML and by using appropriate software which supports UML, otherwise the mini project will not be evaluated.

Vizag Institute of Engineering and Technology

JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

COMPUTER NETWORKS LAB 1a) PROGRAM SPECIFICATION:


Program to implement bit stuffing. ALGORITHM: Step 1: Start Step 2: Read the bit string to be transmitted in 0s and 1s. Step 3: For stuffing process, append at begin and end of the string. Step 4: Check the string whether it has five consecutive 1s except the appending string. Step 5: If yes, insert 0 bit as stuff in the next bit else transmit the next bit. Step 6: Continue this process until the completion of string. Step 7: Stuffed data is obtained. Step 8: Now destuffing process, remove the appended string at start and end of string. Step 9: Check the stuffed string again whether it has five consecutive 1s. Step 10: If yes then remove the next bit i.e. do not transmit the next bit else transmit the data. Step 11: Continue this process until the last bit of string. Step 12: Original bit data has been obtained. Step 13: Stop

Vizag Institute of Engineering and Technology

JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

PROGRAM: #include<stdio.h> main() { int a[50],b[50],i,j,count=0,n,c[]={0,1,1,1,1,1,1,0}; clrscr(); printf("Enter the length of the string:\n"); scanf("%d",&n); printf("Enter the string:\n"); for(i=0;i<n;i++) scanf("%d",&a[i]); j=0; /* Stuffing */ for(i=0;i<8;i++) { b[j]=c[i]; j++; } for(i=0;i<n;i++) { if(a[i]==1) { b[j]=a[i]; count++; if(count==5) { b[j]=a[i]; j++; b[j]=0; count=0; } j++; } else { b[j]=a[i]; j++; count=0; } } for(i=0;i<8;i++) { b[j]=c[i]; j++; } n=j; printf("The frame after bit stuffing is:\n"); for(i=0;i<n;i++)
Vizag Institute of Engineering and Technology JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

printf("%d",b[i]); printf("\n"); /*Destuffing*/ count=j=0; for(i=8;i<n-8;i++) { if(b[i]==1) { a[j]=b[i]; count++; if(count==5) { i++; count=0; } j++; } else { a[j]=b[i]; j++; count=0; } } printf("The destuffed data is:\n"); for(i=0;i<j;i++) printf("%d",a[i]); getch(); }

Vizag Institute of Engineering and Technology

JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

INPUT1: Enter the length of the string: 15 Enter the string: 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 OUTPUT1: The frame after bit stuffing is: 011111101111101100111110101111110 The destuffed data is: 111111100111111 INPUT2: Enter the length of the string: 8 Enter the string: 1 1 1 1 1 1 1 1 OUTPUT 2: The frame after bit stuffing is: 0111111011111011101111110 The destuffed data is: 11111111

Vizag Institute of Engineering and Technology

JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

1b)PROBLEM SPECIFICATION: Program to implement character stuffing. ALGORITHM: Step 1: Start Step 2: Read the character string to be transmitted in upper case. Step 3: For stuffing process, append at begin with DLE STX as starting flag byte and end with DLE ETX as ending flag byte of the string. Step 4: Check the string whether it has DLE, STX, and ETX. Step 5: If yes then insert the string DLE before the character else transmit the next character Step 6: Continue this process until the completion of string. Step 7: Stuffed data is obtained. Step 8: Now destuffing process, remove the appended string at start and end of string. Step 9: Check the stuffed string again whether it has DLE, STX, and ETX. Step 10: If yes then remove the string DLE that is encountered first else transmit the data. Step 11: Continue this process until the last character of string. Step 12: Original data has been obtained. Step 13: Stop

Vizag Institute of Engineering and Technology

JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

PROGRAM: #include<stdio.h> #include<conio.h> main() { char a[30],b[30],c[30]; inti,j,n,m; clrscr(); printf("\tSTUFFING:\n"); printf("\nEnter the string in upper case:\n"); scanf("%s",&a); n=strlen(a); b[0]='D'; b[1]='L'; b[2]='E'; b[3]=' '; b[4]='S'; b[5]='T'; b[6]='X'; b[7]=' '; j=8;i=0; while(i<n) { if((a[i]=='D'&&a[i+1]=='L'&&a[i+2]=='E')||(a[i]=='S'&&a[i+1]=='T'&&a[i+2]=='X')|| (a[i]=='E'&&a[i+1]=='T'&&a[i+2]=='X')) { b[j]='D'; b[j+1]='L'; b[j+2]='E'; j=j+3; } b[j]=a[i]; i++; j++; } b[j]=' '; b[j+1]='D'; b[j+2]='L'; b[j+3]='E'; b[j+4]=' '; b[j+5]='E'; b[j+6]='T'; b[j+7]='X'; b[j+8]='\0'; printf("Frames after stuffing:\n"); printf("%s",b); printf("\n\n\tDESTUFFING:\n"); m=strlen(b); printf("\nFrames after destuffing:\n");
Vizag Institute of Engineering and Technology JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

i=0,j=0; while(i<8) i++; while(i<m-8) { if((b[i]=='D'&&b[i+1]=='L'&&b[i+2]=='E')||(b[i]=='S'&&b[i+1]=='T'&&b[i+2]=='X')|| (b[i]=='E'&&b[i+1]=='T'&&b[i+2]=='X')) { i=i+3; c[j]=b[i]; } else c[j]=b[i]; j++; i++; } c[j]='\0'; printf("%s",c); getch(); } INPUT1: STUFFING: Enter the string in upper case: ETXWITHSTXCANDLE OUTPUT1: Frames after stuffing: DLE STX DLEETXWITHDLESTXCANDLEDLE DLE ETX DESTUFFING: Frames after destuffing: ETXWITHSTXCANDLE INPUT2: STUFFING: Enter the string in upper case: STXETX OUTPUT2: Frames after stuffing: DLE STX DLESTXDLEETX DLE ETX DESTUFFING: Frames after destuffing: STXETX

2) PROGRAM SPECIFICATION:
Program to implement CRC-12.
Vizag Institute of Engineering and Technology JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

ALGORITHM: Step 1: Start Step 2: Let r be the degree of G(x). Append r bits to the low order end of the frame. So it now contains M+r bits and corresponds to the polynomial XM(X). Step 3: Divide the bit string corresponding to G(x) into the bit string corresponding to xM(X) using Modulo 2 division. Step 4: Subtract the remainder from the bit string corresponding to XM(X) using Modulo 2 subtraction. The result is checksummed frame to be transmitted call its polynomial T(X). Step 5: Stop

PROGRAM: #include<string.h>
Vizag Institute of Engineering and Technology JNTUWORLD

Department of I.T.

CN & Case Tools Lab Manual

#include<stdio.h> #define crc 12 main() { char pola1[39],pola2[30],ch[2]=""; int ad=0,i=0,j=0,mp[crc+1],pp1[10],pp2[10],gp[crc+1],rm[crc+1],p1,p2,k; clrscr(); printf("Enter the message polynomial(in the \"x7+x4+...\" form):\n "); gets(pola1); for(i=0,p1=0;i<strlen(pola1);i++) if(pola1[i]>='0'&&pola1[i]<='9') { ch[0]=pola1[i]; ch[1]=pola1[i+1]; if(pola1[i+1]>='0'&&pola1[i+1]<='9') i++; pp1[p1++]=atoi(ch); } printf("Enter the generator polynomial(in the \"x7+x4+...\" form):\n "); gets(pola2); for(i=0,p2=0;i<strlen(pola2);i++) if(pola2[i]>='0'&&pola2[i]<='9') { ch[0]=pola2[i]; ch[1]=pola2[i+1]; if(pola2[i+1]>='0'&&pola2[i+1]<='9') i++; pp2[p2++]=atoi(ch); } if((pp1[0]+pp2[0])<=crc) { ad=pp1[0]; j=0; for(i=ad;i>=0;i--) { if(i==pp1[j]&&j<p1) { mp[ad-i]=1; j++; } else mp[ad-i]=0; } for(j=ad+1;j<=(ad+pp2[0]);j++) mp[j]=0; ad=pp2[0]; k=0; for(i=ad;i>=0;i--)
Vizag Institute of Engineering and Technology JNTUWORLD

10

Department of I.T.

CN & Case Tools Lab Manual

{ if(i==pp2[k]&&k<p2) { gp[ad-i]=1; k++; } else gp[ad-i]=0; } printf("the message bit string is:\n "); for(i=0;i<j;i++) printf("%d",mp[i]); printf("\nthe generator bit string is:\n "); for(i=0;i<=ad;i++) printf("%d",gp[i]); printf("\n\nThe message to be transmitted is:\n "); for(i=0;i<=ad;i++) rm[i]=mp[i]; k=0; while(1) { if(rm[0]==1&&k<=(j-(ad+1))) { for(i=0;i<=ad;i++) { if(rm[i]==gp[i]) rm[i]=0; else rm[i]=1; } if(rm[0]==0&&k<(j-(ad+1))) do { for(p1=0;p1<ad;p1++) rm[p1]=rm[p1+1]; rm[p1]=mp[i+k]; k++; }while(rm[0]==0&&k<(j-(ad+1))); } else { k=j-ad; for(i=1;i<=ad;i++) mp[k++]=rm[i]; for(i=0;i<j;i++) printf("%d",mp[i]); printf("\nthe CHECK SUM is:\n "); for(i=1;i<=ad;i++) printf("%d",rm[i]);
Vizag Institute of Engineering and Technology JNTUWORLD

11

Department of I.T.

CN & Case Tools Lab Manual

break; } } } else printf("INVALID GENERATOR POLONOMIAL........"); getch(); }

Vizag Institute of Engineering and Technology

JNTUWORLD

12

Department of I.T.

CN & Case Tools Lab Manual

Output 1: Enter the message polynomial(in x7+x4+ form): X0 Enter the message polynomial(in x7+x4+ form): X12+x10+x2 The message bit string is: 1 The message bit string before adding checksum is: 1000000000000 The generator bit string is: 1010000000100 The message to be transmitted is: 1010000000100 The CHECK SUM is: 010000000100 Output 2: Enter the message polynomial(in x7+x4+ form): X10+X8+X6+X5+X3+X1 Enter the message polynomial(in x7+x4+ form): X2+X0 The message bit string is: 10101101010 The message bit string before adding checksum is: 1010110101000 The generator bit string is: 101 The message to be transmitted is: 1010110101011 The CHECK SUM is: 11

3) PROBLEM SPECIFICATION: Program to implement Dijkastra Shortest path routing algorithm.


Vizag Institute of Engineering and Technology JNTUWORLD

13

Department of I.T.

CN & Case Tools Lab Manual

ALGORITHM: Step1: Enter the number of nodes of the subnet and the node names. Step2: Enter the cost between each and every node in the subnet. Step3: Enter the source node and destination node for the subnet. Step4:Calculate the shortest distance from source node to every other nodes. Step5: Print the shortest distance from source node to destination. Step6: Print the path from source to destination.

PROGRAM: #include<stdio.h>
Vizag Institute of Engineering and Technology JNTUWORLD

14

Department of I.T.

CN & Case Tools Lab Manual

#include<conio.h> void main() { intar[20][20],n,i,j,k,s,c,spd[10]; charst[20],spn[10]; charspath[10]; clrscr(); printf("Enter the number of nodes:\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter node %d name:\n",i); scanf("%s",&st[i]); } for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(i==j) { ar[i][j]=0; } else { printf("Enter cost between %c and %c:\n",st[i],st[j]); scanf("%d",&ar[i][j]); ar[j][i]=ar[i][j]; } } } printf("\n Enter starting and Ending nodes:"); scanf("%d %d",&s,&c); for(k=0;k<n;k++) { printf(" %c",st[k]); } for(i=0;i<n;i++) { printf(" "); printf("\n%c",st[i]); for(j=0;j<n;j++) { printf(" "); printf("%d",ar[i][j]); } } for(i=0;i<n;i++) spd[i]=0;
Vizag Institute of Engineering and Technology JNTUWORLD

15

Department of I.T.

CN & Case Tools Lab Manual

i=0; while(i!=n) { for(j=0;j<n;j++) { if(ar[i][j]!=0&&(spd[j]>ar[i][j]+spd[i]||spd[j]==0)) { spd[j]=spd[i]+ar[i][j]; spn[j]=st[i]; } } i++; } printf("\nThe shortest distance is %d",spd[c]); spath[0]=st[c]; for(i=c,j=1;spn[i]!=st[0];) { spath[j]=spn[i]; for(k=0;k<n;k++) if(spn[i]==st[k]) break; i=k; j++; } printf("\n Shortest path is %c",st[0]); for(i=j-1;i>=0;i--) { printf("%c",spath[i]); } getch(); }

OUTPUT: Enter the number of nodes:


Vizag Institute of Engineering and Technology JNTUWORLD

16

Department of I.T.

CN & Case Tools Lab Manual

6 Enter node 0 name: a Enter node 1 name: b Enter node 2 name: c Enter node 3 name: d Enter node 4 name: e Enter node 5 name: f Enter cost between a and b: 5 Enter cost between a and c: 7 Enter cost between a and d: 1 Enter cost between a and e: 3 Enter cost between a and f: 2 Enter cost between b and c: 8 Enter cost between b and d: 4 Enter cost between b and e: 6 Enter cost between b and f: 9 Enter cost between c and d: 1 Enter cost between c and e: 5 Enter cost between c and f: 8 Enter cost between d and e: 3 Enter cost between d and f: 2 Enter cost between e and f: 1

Vizag Institute of Engineering and Technology

JNTUWORLD

17

Department of I.T.

CN & Case Tools Lab Manual

Enter starting and Ending nodes:b f a b c d e f a 0 5 7 1 3 2 b 5 0 8 4 6 9 c 7 8 0 1 5 8 d 1 4 1 0 3 2 e 3 6 5 3 0 1 f 2 9 8 2 1 0 The shortest distance is 25700 Shortest path is add

4) PROBLEM SPECIFICATION: Program to implement distance routing vector.


Vizag Institute of Engineering and Technology JNTUWORLD

18

Department of I.T.

CN & Case Tools Lab Manual

ALGORITHM: Step1: Enter the number of nodes n of the subnet and their node names. Step2: Enter the link between each and every node in the subnet. Step3: Enter the source node in the subnet. Step4: Enter the estimated delays m of source node and their estimated values. Step5: Enter the routing tables for n x m. Step6: Find the shortest distance from nodes in the subnet to estimated delays. Step7: Print the routing table for source node with their distances and linenames.

PROGRAM: #include<stdio.h>
Vizag Institute of Engineering and Technology JNTUWORLD

19

Department of I.T.

CN & Case Tools Lab Manual

#include<conio.h> main() { char l,nname[20],dname[20],temp,s; inti,j,m,c,n,k,sn,d,link[20][20],dly[10],rval[10][10]; clrscr(); printf("\nEnter the no of nodes:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("\nEnter the node %d name:",i); scanf("%s",&nname[i]); } for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(i==j) { link[i][j]=0; } else { printf("\nEnter the link between %c and %c:",nname[i],nname[j]); scanf("%d",&link[i][j]); link[j][i]=link[i][j]; } } }clrscr(); for(k=0;k<n;k++) { printf(" "); printf("\t%c",nname[k]); } for(i=0;i<n;i++) { printf("\n");printf("%c",nname[i]); for(j=0;j<n;j++) { printf("\t%d",link[i][j]); } } printf("\nEnter the source node number and name:"); scanf("%d\t%c",&sn,&s); c=0; for(i=0;i<n;i++) { if(link[sn][i]==1) {
Vizag Institute of Engineering and Technology JNTUWORLD

20

Department of I.T.

CN & Case Tools Lab Manual

dname[c]=nname[i]; printf("\nEnter estimated delay from %c to %c:",s,nname[i]); scanf("%d",&d); dly[c]=d;c++; } } for(i=0;i<n;i++) { for(j=0;j<c;j++) { printf("\n"); printf("\nEnter the value for %c and %c:",nname[i],dname[j]); scanf("\t%d",&rval[i][j]); } } printf("\nThe matrix form of routing table\n"); for(k=0;k<c;k++) { printf("\t"); printf("%c",dname[k]); } for(i=0;i<n;i++) { printf("\n%c",nname[i]); for(j=0;j<c;j++) { printf("\t%d",rval[i][j]); } } printf("\nThe estimated time delay of %c\n",s); printf("\t\t\t%c line\n",s); for(i=0;i<n;i++) { printf("\n");printf("\t%c",nname[i]); m=rval[i][0]+dly[0]; for(j=0;j<c;j++) { if(nname[i]==dname[j]) { m=dly[j];l=dname[j]; } else if(rval[i][j]+dly[j]<=m) { m=rval[i][j]+dly[j]; l=dname[j]; } if(nname[i]==s) { l='_'; m=0;
Vizag Institute of Engineering and Technology JNTUWORLD

21

Department of I.T.

CN & Case Tools Lab Manual

} } printf("\t\t"); printf("%d %c",m,l); printf(" "); }getch(); }

INPUT: Enter the number of nodes: 6


Vizag Institute of Engineering and Technology JNTUWORLD

22

Department of I.T.

CN & Case Tools Lab Manual

Enter node 0 name: a Enter node 1 name: b Enter node 2 name: c Enter node 3 name: d Enter node 4 name: e Enter node 5 name: f Enter link between a and b: 1 Enter link between a and c: 0 Enter link between a and d: 0 Enter link between a and e: 1 Enter link between a and f:0 Enter link between b and c: 1 Enter link between b and d: 0 Enter link between b and e: 0 Enter link between b and f:1 Enter link between c and d: 1 Enter link between c and e: 1 Enter link between c and f: 0 Enter link between d and e:0 Enter link between d and f: 1 Enter link between e and f: 1 Enter the source node name and number: a 0 Enter the estimated delay from c to b: 6 Enter the estimated delay from c to d: 3 Enter the estimated delay from c to e: 5 Enter the value for a and b:5 Enter the value for a and d:16 Enter the value for a and e:7 Enter the value for b and b:0 Enter the value for b and d:12 Enter the value for b and e:6 Enter the value for c and b:8 Enter the value for c and d:6 Enter the value for c and e:3 Enter the value for d and b:12 Enter the value for d and d:0 Enter the value for d and e:9 Enter the value for e and b:6 Enter the value for e and d:9 Enter the value for e and e:0 Enter the value for f and b:2 Enter the value for f and d:10 Enter the value for f and e:4 OUTPUT: a b c d e
Vizag Institute of Engineering and Technology

f
JNTUWORLD

23

Department of I.T.

CN & Case Tools Lab Manual

a b c d e f

0 1 0 0 1 0

1 0 1 0 0 1

0 1 0 1 1 0

0 0 1 0 0 1

1 0 1 0 0 1

0 1 0 1 1 0

The matrix form of routing table b d e a 5 16 7 b 0 12 6 c 8 6 3 d 12 0 9 e 6 9 0 f 2 10 4 The time delay of c b line a 11 b b 6 b c 0 d 3 d e 5 e f 8 b

Vizag Institute of Engineering and Technology

JNTUWORLD

24

Department of I.T.

CN & Case Tools Lab Manual

5) PROBLEM SPECIFICATION: Program to implement Broadcast routing algorithm. ALGORITHM: Step1: Enter the number of nodes n of the subnet and their node names. Step2: Enter the link between each and every nodein the subnet. Step3: Enter the root node in the subnet and say hop count as 0 and kept invisited array. Step4: Compute the links from node and increment hop count by 1 and kept visited array. Step5: Repeat step4 until all nodes are visited without forming any cycles. Step6: Stop the process when all nodes are visited.

PROGRAM: #include<stdio.h> #include<conio.h> main() { inti,j,n,link[20][20],c=0,hop=0 ,sn,count=1,flag[30],root; chars,nname[20]; clrscr(); printf("\nEnter the number of nodes:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("\nEnter %d node name:",i); scanf("%s",&nname[i]); } for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(i==j) link[i][j]=0; else{ printf("\nEnter link between %c to %c :",nname[i],nname[j]); scanf("%d",&link[i][j]); link[j][i]=link[i][j]; } } } printf("\nEnter the source node name & number:"); s=getche(); scanf("%d",&sn); for(i=0;i<n;i++) { flag[i]=0;
Vizag Institute of Engineering and Technology JNTUWORLD

25

Department of I.T.

CN & Case Tools Lab Manual

} printf("The matrix representation for the graph is:\n"); printf("\t\t"); for(i=0;i<n;i++) { printf("%c\t",nname[i]); }printf("\n"); for(i=0;i<n;i++) { printf("\t%c",nname[i]); for(j=0;j<n;j++) { printf("\t%d ",link[i][j]); } printf("\n"); } printf("\nAt Hop count %d:%c",hop,s); root=sn;flag[root]=1; hop++; while(count!=0) { for(i=0;i<n;i++) { if(link[root][i]!=0 && flag[root]==1 && flag[i]!=1) { printf("\nAt Hop count %d:%c->%c",hop,nname[root],nname[i]); flag[i]=1;c++; } } if(c!=0) { hop++;c=0; } if(root<n-1) root++; else root=0; for(i=0;i<n;i++) { if(flag[i]==0) break; } if(i==n) count=0; } getch(); }

Vizag Institute of Engineering and Technology

JNTUWORLD

26

Department of I.T.

CN & Case Tools Lab Manual

INPUT: Enter the number of nodes: 5 Enter node 0 name: a Enter node 1 name: b Enter node 2 name: c Enter node 3 name: d Enter node 4 name: e Enter link between a and b: 1 Enter link between a and c: 1 Enter link between a and d: 0 Enter link between a and e: 0 Enter link between b and c: 1 Enter link between b and d: 1 Enter link between b and e: 0 Enter link between c and d: 1 Enter link between c and e: 0 Enter link between d and e: 1 Enter the source node name and number: a 0 OUTPUT: The matrix representation for the graph is: a b c d e a0 1 1 0 0 b 1 01 1 0 c 1 1 0 1 0 d 0 1 0 0 1 e0 0 0 1 0 At Hop count 0: a At Hop count 1: ab At Hop count 1: ac At Hop count 2: bd At Hop count 3: de

Vizag Institute of Engineering and Technology

JNTUWORLD

27

Department of I.T.

CN & Case Tools Lab Manual

6) PROBLEM SPECIFICATION: Program to implement Data Encryption Standard. ALGORITHM: Step 1: START Step 2: Enter the 8 bit plain text and 10 bit key. Step 3: The given key is divided into two halves one left and the other right and the halves are applied to the left shift. Step 4: The given plain text is also divided into two halves and right half is applied to Expansion table. Step 5: The plain text is then xor with the key. Step 6: Now the value is applied to the substitution boxes. Step 7: Now the permutation is applied. Step 8: The obtained value is xor with the left half of plain text and this becomes the Right half for the next DES and the right half becomes left half for next DES. Step 9: Now the cipher text is taken and the plain text is generated. By the process which is exactly opposite to the process of Encryption Step10: STOP

PROGRAM: #include<stdio.h> #include<conio.h> #include<math.h> static char a[10],pp[10],z[10],k[10],ak[10],rp[10], static char bk[10],k1[10],k2[10],ap[10],bp[10]; static char k1[10],b[10],rk[10],x[10],ax[10],c[10],s[10],tem[10],p10[10]; char i,j,s0[4][4],s1[4][4],kk[10],rr[10],bp1[10]; int y1,y2; xor(char d,char d1) { if(d==d1) return('0'); else return('1'); } lr(char x[],int x1) { for(i=0;i<5;i++) z[i]=x[i]; for(i=0;i<4;i++) x[i]=z[i+1]; x[i]=z[0]; x1--; if(x1!=0) lr(x,x1); }
Vizag Institute of Engineering and Technology JNTUWORLD

28

Department of I.T.

CN & Case Tools Lab Manual

key() { a[0]=bk[0]; a[1]=ak[2]; a[2]=bk[1]; a[3]=ak[3]; a[4]=bk[2]; a[5]=ak[4]; a[6]=bk[4]; a[7]=bk[3]; } ep() { b[0]=bp[3]; b[1]=bp[0]; b[2]=bp[1]; b[3]=bp[2]; b[4]=bp[1]; b[5]=bp[2]; b[6]=bp[3]; b[7]=bp[0]; } ss(char e,char f) { if((e=='0')&&(f=='0')) return(0); if((e=='0')&&(f=='1')) return(1); if((e=='1')&&(f=='0')) return(2); if((e=='1')&&(f=='1')) return(3); } s1s(char m) { if(m=='0') { kk[0]='0';kk[1]='0'; } if(m=='1') { kk[0]='0';kk[1]='1'; } if(m=='2') {
Vizag Institute of Engineering and Technology JNTUWORLD

29

Department of I.T.

CN & Case Tools Lab Manual

kk[0]='1';kk[1]='0'; } if(m=='3') { kk[0]='1';kk[1]='1'; } } p1(char x[]) { ax[0]=x[1]; ax[1]=x[3]; ax[2]=x[2]; ax[3]=x[0]; } sos() { rk[0]=k[2]; rk[1]=k[4]; rk[2]=k[1]; rk[3]=k[6]; rk[4]=k[3]; rk[5]=k[9]; rk[6]=k[0]; rk[7]=k[8]; rk[8]=k[7]; rk[9]=k[5]; printf("\n rearranged key:"); for(i=0;i<5;i++) { ak[i]=rk[i]; printf("%3c",rk[i]); } for(i=5,j=0;i<10;i++,j++) { bk[j]=rk[i]; printf("%3c",rk[i]); } lr(ak,1); lr(bk,1); printf("\n key1;"); key(); for(i=0;i<8;i++) { k1[i]=a[i]; printf("%3c",a[i]); } lr(ak,2); lr(bk,2); key();
Vizag Institute of Engineering and Technology JNTUWORLD

30

Department of I.T.

CN & Case Tools Lab Manual

printf("\n key2:"); for(i=0;i<8;i++) { k2[i]=a[i]; printf("%3c",a[i]); } } prg(char p[]) { rp[0]=p[1]; rp[1]=p[5]; rp[2]=p[2]; rp[3]=p[0]; rp[4]=p[3]; rp[5]=p[7]; rp[6]=p[4]; rp[7]=p[6]; printf("\n rearranged plain text:"); for(i=0;i<8;i++) printf("%3c",rp[i]); for(i=0;i<4;i++) ap[i]=rp[i]; for(i=4,j=0;i<8;i++,j++) bp[j]=rp[i]; ep(); printf("\n e/p:"); for(i=0;i<8;i++) { bp[i]=b[i]; printf("%3c",bp[i]); } printf("\n xor;"); for(i=0;i<8;i++) { c[i]=xor(bp[i],k1[i]); printf("%3c",c[i]); } [0][0]='1'; s0[0][1]='0'; s0[0][2]='3'; s0[0][3]='2'; s0[1][0]='3'; [1][1]='2'; s0[1][2]='1'; [1][3]='0'; s0[2][0]='0'; s0[2][1]='2'; s0[2][2]='1';
Vizag Institute of Engineering and Technology JNTUWORLD

31

Department of I.T.

CN & Case Tools Lab Manual

s0[2][3]='3'; s0[3][0]='3'; s0[3][1]='1'; s0[3][2]='3'; s0[3][3]='2'; s1[0][0]='0'; s1[0][1]='1'; s1[0][2]='2'; s1[0][3]='3'; s1[1][0]='2'; s1[1][1]='0'; s1[1][2]='1'; s1[1][3]='3'; s1[2][0]='3'; s1[2][1]='0'; s1[2][2]='1'; s1[2][3]='0'; s1[3][0]='2'; s1[3][1]='1'; s1[3][2]='0'; s1[3][3]='3'; y1=ss(c[0],c[3]); =ss(c[1],c[2]); s1s(s0[y1][y2]); for(i=0;i<2;i++) s[i]=kk[i]; y1=ss(c[4],c[7]); y2=ss(c[5],c[6]); s1s(s1[y1][y2]); for(i=0,j=2;i<2;i++,j++) s[j]=kk[i]; p1(s); printf("\n p4:"); for(i=0;i<4;i++) { s[i]=ax[i]; printf("%3c",s[i]); } for(j=0;j<4;j++) { rp[j]=xor(s[j],ap[j]); } for(i=0;i<4;i++) { bp[i]=rp[i]; bp1[i]=rp[i]; } for(i=4,j=0;i<8;i++,j++)
Vizag Institute of Engineering and Technology JNTUWORLD

32

Department of I.T.

CN & Case Tools Lab Manual

ap[j]=rp[i]; ep(); printf("\n e/p:"); for(i=0;i<8;i++) { bp[i]=b[i]; printf("%3c",bp[i]); } printf("\n xor:"); for(i=0;i<8;i++) { c[i]=xor(bp[i],k2[i]); printf("%3c",c[i]); } y1=ss(c[0],c[3]); y2=ss(c[1],c[2]); s1s(s0[y1][y2]); for(i=0;i<2;i++) s[i]=kk[i]; y1=ss(c[4],c[7]); y2=ss(c[5],c[6]); (s1[y1][y2]); for(i=0,j=2;i<2;i++,j++) s[j]=kk[i]; p1(s); printf("\n p4:"); for(i=0;i<4;i++) { s[i]=ax[i]; printf("%3c",s[i]); } printf("\n IP inverse;"); for(i=0;i<4;i++) { rp[i]=xor(s[i],ap[i]); printf("%3c",rp[i]); } for(j=0,i=4;i<8;j++,i++) { rp[i]=bp1[j]; printf("%3c",rp[i]); } rr[0]=rp[3]; rr[1]=rp[0]; rr[2]=rp[2]; rr[3]=rp[4]; rr[4]=rp[6]; rr[5]=rp[1]; rr[6]=rp[7];
Vizag Institute of Engineering and Technology JNTUWORLD

33

Department of I.T.

CN & Case Tools Lab Manual

rr[7]=rp[5]; printf("\n cipher text:"); for(i=0;i<8;i++) printf("%3c",rr[i]); for(i=0;i<8;i++) { tem[i]=k1[i]; k1[i]=k2[i]; k2[i]=tem[i]; } } main() { intch,na; clrscr(); do { printf("\nenterur choice:"); printf("1-->encryption 2-->decryption 3-->exit:"); scanf("%d",&ch); switch(ch) { case 1: printf("enter 8 bit plain text:"); scanf("%s",&p10); printf("enter 10 bit key:"); scanf("%s",&k); na='2'; sos(); prg(p10); break; case 2: if(na!='2') printf("\n decryption is not possible without encryption"); else prg(rr); break; case 3: exit(); } } while(ch<3); getch(); }

Vizag Institute of Engineering and Technology

JNTUWORLD

34

Department of I.T.

CN & Case Tools Lab Manual

OUTPUT 1: Enter ur choice: 1encryption 2decryption 3exit:1 Enter 8 bit plain text: 11100010 Enter the 10 bit key: 0011001010 Rearranged key: 1 0 0 1 1 0 0 1 0 0 Key 1:0 1 1 10 1 10 0 Key 2:0 1 0 0 0 0 1 0 Rearranged plain text:1 0 1 1 0 0 0 1 e/p : 1 0 0 0 0 0 1 0 xor: 1 1 1 1 0 1 1 0 p4: 0 1 1 1 e/p:0 1 1 0 1 0 0 1 xor: 0 0 1 0 1 0 1 1 p4: 0 1 0 0 IP inverse: 0 1 0 1 1 1 0 0 Cipher text: 1 0 0 1 0 1 0 1 OUTPUT 2: Enter ur choice: 1encryption 2decryption 3exit:1 Enter 8 bit plain text: 10101010 Enter the 10 bit key: 0101010101 Rearranged key: 0 0 1 0 1 1 0 0 1 1 Key 1:0 0 0 1 1 0 1 1 Key 2:0 1 0 1 1 0 0 Rearranged plain text:0 0 1 1 0 0 e/p : 1 0 0 1 0 1 1 0 xor: 1 0 0 0 1 1 0 1 p4: 0 0 0 0 e/p:1 0 0 1 0 1 1 0 xor: 0 0 1 1 1 0 1 0 p4: 0 0 0 1 IP inverse: 0 0 1 0 0 0 1 1 Cipher text: 0 0 1 0 1 0 1 0

Vizag Institute of Engineering and Technology

JNTUWORLD

35

Department of I.T.

CN & Case Tools Lab Manual

7) PROBLEM SPECIFICATION: Program to implement Encryption of plain text.. ALGORITHM: STEP 1: Start STEP 2: Enter the 8 bit plain text and 10 bit key. STEP 3: The given key is divided into two halves one left and the other right and the halves are applied to the left shift. STEP 4: The given plain text is also divided into two halves and right half is applied to Expansion table. STEP 5: The plaintext is then xored with the key. STEP 6: Now the value is applied to the substitution boxes. STEP 7: Now the permutation is applied. STEP 8: The obtained value is xored with the left half of plain text and this becomes the Right half for the next DES and the right half becomes left half for next DES. STEP 9: Stop PROGRAM: #include<stdio.h> #include<conio.h> #include<math.h> static char a[10],pp[10],z[10],k[10],ak[10]; static char rp[10],bk[10],k1[10],k2[10],ap[10],bp[10]; static char k1[10],b[10],rk[10],x[10]; static char ax[10],c[10],s[10],tem[10],p10[10]; char i,j,s0[4][4],s1[4][4],kk[10],rr[10],bp1[10]; int y1,y2; xor(char d,char d1) { if(d==d1) return('0'); else return('1'); } lr(char x[],int x1) { for(i=0;i<5;i++) z[i]=x[i]; for(i=0;i<4;i++) x[i]=z[i+1];
Vizag Institute of Engineering and Technology JNTUWORLD

36

Department of I.T.

CN & Case Tools Lab Manual

x[i]=z[0]; x1--; if(x1!=0) lr(x,x1); } key() { a[0]=bk[0]; a[1]=ak[2]; a[2]=bk[1]; a[3]=ak[3]; a[4]=bk[2]; a[5]=ak[4]; a[6]=bk[4]; a[7]=bk[3]; } ep() { b[0]=bp[3]; b[1]=bp[0]; b[2]=bp[1]; b[3]=bp[2]; b[4]=bp[1]; b[5]=bp[2]; b[6]=bp[3]; b[7]=bp[0]; } ss(char e,char f) { if((e=='0')&&(f=='0')) return(0); if((e=='0')&&(f=='1')) return(1); if((e=='1')&&(f=='0')) return(2); if((e=='1')&&(f=='1')) return(3); } s1s(char m) { if(m=='0') { kk[0]='0';kk[1]='0'; } if(m=='1') { kk[0]='0';kk[1]='1'; }
Vizag Institute of Engineering and Technology JNTUWORLD

37

Department of I.T.

CN & Case Tools Lab Manual

if(m=='2') { kk[0]='1';kk[1]='0'; } if(m=='3') { kk[0]='1';kk[1]='1'; } } p1(char x[]) { ax[0]=x[1]; ax[1]=x[3]; ax[2]=x[2]; ax[3]=x[0]; } sos() { rk[0]=k[2]; rk[1]=k[4]; rk[2]=k[1]; rk[3]=k[6]; rk[4]=k[3]; rk[5]=k[9]; k[6]=k[0]; rk[7]=k[8]; rk[8]=k[7]; rk[9]=k[5]; printf("\n rearranged key:"); for(i=0;i<5;i++) { ak[i]=rk[i]; printf("%3c",rk[i]); } for(i=5,j=0;i<10;i++,j++) { bk[j]=rk[i]; printf("%3c",rk[i]); } lr(ak,1); lr(bk,1); printf("\n key1;"); key(); for(i=0;i<8;i++) { k1[i]=a[i]; printf("%3c",a[i]); } lr(ak,2);
Vizag Institute of Engineering and Technology JNTUWORLD

38

Department of I.T.

CN & Case Tools Lab Manual

lr(bk,2); key(); printf("\n key2:"); for(i=0;i<8;i++) { k2[i]=a[i]; printf("%3c",a[i]); } } prg(char p[]) { rp[0]=p[1]; rp[1]=p[5]; rp[2]=p[2]; rp[3]=p[0]; rp[4]=p[3]; rp[5]=p[7]; rp[6]=p[4]; rp[7]=p[6]; printf("\n rearranged plain text:"); for(i=0;i<8;i++) printf("%3c",rp[i]); for(i=0;i<4;i++) ap[i]=rp[i]; for(i=4,j=0;i<8;i++,j++) bp[j]=rp[i]; ep(); printf("\n e/p:"); for(i=0;i<8;i++) { bp[i]=b[i]; printf("%3c",bp[i]); } printf("\n xor;"); for(i=0;i<8;i++) { c[i]=xor(bp[i],k1[i]); printf("%3c",c[i]); } s0[0][0]='1'; s0[0][1]='0'; s0[0][2]='3'; s0[0][3]='2'; s0[1][0]='3'; s0[1][1]='2'; s0[1][2]='1'; s0[1][3]='0'; s0[2][0]='0'; s0[2][1]='2';
Vizag Institute of Engineering and Technology JNTUWORLD

39

Department of I.T.

CN & Case Tools Lab Manual

s0[2][2]='1'; s0[2][3]='3'; s0[3][0]='3'; s0[3][1]='1'; s0[3][2]='3'; s0[3][3]='2'; s1[0][0]='0'; s1[0][1]='1'; s1[0][2]='2'; s1[0][3]='3'; s1[1][0]='2'; s1[1][1]='0'; s1[1][2]='1'; s1[1][3]='3'; s1[2][0]='3'; s1[2][1]='0'; s1[2][2]='1'; s1[2][3]='0'; s1[3][0]='2'; s1[3][1]='1'; s1[3][2]='0'; s1[3][3]='3'; y1=ss(c[0],c[3]); y2=ss(c[1],c[2]); s1s(s0[y1][y2]); for(i=0;i<2;i++) s[i]=kk[i]; y1=ss(c[4],c[7]); y2=ss(c[5],c[6]); s1s(s1[y1][y2]); for(i=0,j=2;i<2;i++,j++) s[j]=kk[i]; p1(s); printf("\n p4:"); for(i=0;i<4;i++) { s[i]=ax[i]; printf("%3c",s[i]); } for(j=0;j<4;j++) { rp[j]=xor(s[j],ap[j]); } for(i=0;i<4;i++) { bp[i]=rp[i]; bp1[i]=rp[i]; } for(i=4,j=0;i<8;i++,j++)
Vizag Institute of Engineering and Technology JNTUWORLD

40

Department of I.T.

CN & Case Tools Lab Manual

ap[j]=rp[i]; ep(); printf("\n e/p:"); for(i=0;i<8;i++) { bp[i]=b[i]; printf("%3c",bp[i]); } printf("\n xor:"); for(i=0;i<8;i++) { c[i]=xor(bp[i],k2[i]); printf("%3c",c[i]); } y1=ss(c[0],c[3]); y2=ss(c[1],c[2]); s1s(s0[y1][y2]); for(i=0;i<2;i++) s[i]=kk[i]; y1=ss(c[4],c[7]); y2=ss(c[5],c[6]); s1s(s1[y1][y2]); for(i=0,j=2;i<2;i++,j++) s[j]=kk[i]; p1(s); printf("\n p4:"); for(i=0;i<4;i++) { s[i]=ax[i]; printf("%3c",s[i]); } printf("\n IP inverse;"); for(i=0;i<4;i++) { rp[i]=xor(s[i],ap[i]); printf("%3c",rp[i]); } for(j=0,i=4;i<8;j++,i++) { rp[i]=bp1[j]; printf("%3c",rp[i]); } rr[0]=rp[3]; rr[1]=rp[0]; rr[2]=rp[2]; rr[3]=rp[4]; rr[4]=rp[6]; rr[5]=rp[1]; rr[6]=rp[7];
Vizag Institute of Engineering and Technology JNTUWORLD

41

Department of I.T.

CN & Case Tools Lab Manual

rr[7]=rp[5]; printf("\n cipher text:"); for(i=0;i<8;i++) printf("%3c",rr[i]); for(i=0;i<8;i++) { tem[i]=k1[i]; k1[i]=k2[i]; k2[i]=tem[i]; } } main() { intch,na; clrscr(); do { printf("\nenterur choice:"); printf("1-->encryption 2-->exit:"); scanf("%d",&ch); switch(ch) { case 1: printf("enter 8 bit plain text:"); scanf("%s",&p10); printf("enter 10 bit key:"); scanf("%s",&k); sos(); prg(p10); prg(rr); break; case 2: exit(); } } while(ch<2); getch(); }

Vizag Institute of Engineering and Technology

JNTUWORLD

42

Department of I.T.

CN & Case Tools Lab Manual

OUTPUT 1: Enter ur choice: 1encryption 2exit:1 encryption Enter 8 bit plain text: 11100010 Enter the 10 bit key: 0011001010 Rearranged key: 1 0 0 1 1 0 0 1 0 0 Key 1:0 1 1 10 1 10 0 Key 2:0 1 0 0 0 0 1 0 Rearranged plain text:1 0 1 1 0 0 0 1 e/p : 1 0 0 0 0 0 1 0 xor: 1 1 1 1 0 1 1 0 p4: 0 1 1 1 e/p:0 1 1 0 1 0 0 1 xor: 0 0 1 0 1 0 1 1 p4: 0 1 0 0 IP inverse: 0 1 0 1 1 1 0 0 Cipher text: 1 0 0 1 0 1 0 1 Rearranged plain text: 0 1 0 1 1 1 0 0 e/p : 0 1 1 0 1 0 0 1 xor: 0 0 1 0 1 0 1 1 p4: 0 1 0 0 e/p:1 0 0 0 0 0 1 0 xor: 1 1 1 1 0 1 1 0 p4: 0 1 1 1 IP inverse:1 0 1 1 0 0 0 1 Cipher text: 1 1 1 0 0 0 1 0 Enter ur choice: 1encryption 2exit:2 OUTPUT 2: Enter ur choice: 1encryption 2exit:1 Enter 8 bit plain text: 10101010 Enter the 10 bit key: 0101010101 Rearranged key: 0 0 1 0 1 1 0 0 1 1 Key 1:0 0 0 1 1 0 1 1 Key 2:0 1 0 1 1 0 0 Rearranged plain text:0 0 1 1 0 0 1 1 e/p : 1 0 0 1 0 1 1 0 xor: 1 0 0 0 1 1 0 1 p4: 0 0 0 0 e/p:1 0 0 1 0 1 1 0 xor: 0 0 1 1 1 0 1 0 p4: 0 0 0 1 IP inverse: 0 0 1 0 0 0 1 1 Cipher text: 0 0 1 0 1 0 1 0
Vizag Institute of Engineering and Technology JNTUWORLD

43

Department of I.T.

CN & Case Tools Lab Manual

Rearranged plain text: 0 0 1 0 0 0 1 1 e/p : 1 0 0 1 0 1 1 0 xor: 0 0 1 1 1 0 1 0 p4: 0 0 0 1 e/p:1 0 0 1 0 1 1 0 xor: 1 0 0 0 1 1 0 1 p4: 0 0 0 0 IP inverse: 0 0 1 1 0 0 1 1 Cipher text: 1 0 1 0 1 0 1 0 Enter ur choice: 1encryption 2exit:2

Vizag Institute of Engineering and Technology

JNTUWORLD

44

Department of I.T.

CN & Case Tools Lab Manual

8) PROBLEM SPECIFICATION: Using RSA algorithm Encrypt a text data and Decrypt the same. ALGORITHM: STEP 1: START STEP 2: Enter the two prime numbers namely p and q. STEP 3: Choose a e value which is less than0(n),where 0(n)=(p-1)(q-1) STEP 4: Now the d value will be obtained from the e value basing on formula D=e-1mod(0(n)) STEP 5: Now the plain text is to be entered and the cipher text is obtained by formula C=M^e mod n, where n=pq. STEP 6: The decryption also takes place in opposite way. STEP 7: STOP.

PROGRAM: /*RSA algorithm */ #include<stdio.h> #include<conio.h> #include<math.h> static int a,i,x,e,n,mn,d,a1,a2,a3,b1,b2,b3,p,h,q,s,t1,t2,t3; read1 () { printf ("\n Enter a prime number :"); scanf("%d",&a); x=0; for(i=2;i<a;i++) if(a%i==0) x=3; if((x==3)||(a==0)||(a==1)) { printf("\n This is not a prime no.Enter prime no:"); read1(); } else return(a); } gcd() { printf("\n Enter e value:"); scanf("%d",&e); if((e<=1)||(e>=mn)) {
Vizag Institute of Engineering and Technology JNTUWORLD

45

Department of I.T.

CN & Case Tools Lab Manual

printf("\n Enter e value such that 1<e<%d",mn); gcd(); } for(i=1;i<e;i++) { if(((mn%1)==0)&&((e%i)==0)) x=i; } if(x!=1) { printf("\n Enter e value such that gcd(%d,e)=1",mn); gcd(); } else { a1=1;a2=0;b1=0;b2=1;a3=mn;b3=e; euc(); } } euc() { if(b3==0) { printf("\n d value does not exist for e value %d enter another value",e); gcd(); } if(b3==1) { d=b2; if(b2<0) { printf("\n Enter e value such that d is positive"); gcd(); } else { printf("\n d value is :%d",d); printf("\n enter m value;"); scanf("%d",&h); mod(h); } } s=a3/b3; t1=a1-(s*b1); t2=a2-(s*b2); t3=a3-(s*b3); a1=b1;a2=b2;a3=b3; b1=t1;b2=t2;b3=t3;
Vizag Institute of Engineering and Technology JNTUWORLD

46

Department of I.T.

CN & Case Tools Lab Manual

euc(); } mod(int m) { intl,k=1,ch; longint w=1,mm=1,c; l=e; while(l!=0) { if(l<k) k=l; mm=l; for(i=1;i<=k;i++) mm=mm*m; w=w*(mm%n); l=l-k; if(k<4) k=k+k; } c=w%n; if(m==c) printf("\n m value is: %d",c); else printf("\n c value is: %d",c); printf("\n Enter your choice:"); printf("1.Caluculate another one\n2.Verify\n3.Exit"); scanf("%d",&ch); switch (ch) { case 1:main(); case 2:mod(c); break; case 3:exit(); } } main () { clrscr (); p=read1 (); q=read1 (); n=p*q; mn= (p-1)*(q-1); gcd (); getch (); }

Vizag Institute of Engineering and Technology

JNTUWORLD

47

Department of I.T.

CN & Case Tools Lab Manual

INPUT 1: Enter a prime number: 7 Enter a prime number: 3 Enter e value: 5 /*********** OUTPUT1 ************/ D value is 5 Enter m value: 88 C value is 10 Enter your choice 1.caluculate another one. 2. verify 3. Exit 1 INPUT 2: Enter a prime number: 17 Enter a prime number: 11 Enter e value: 7 /*********OUTPUT2************/ D value is 23 Enter m value: 88 C value is 11 Enter your choice 1.caluculate another one. 2. verify 3. Exit 3

Vizag Institute of Engineering and Technology

JNTUWORLD

48

Department of I.T.

CN & Case Tools Lab Manual

UML (Unified Modeling Language)


UML is a language used for visualizing, specifying, constructing and documenting the artifacts of software intensive system.UML makes a clear conceptual distinction between models, views and diagrams. A Model is an element that contains information for a software model. A View is a visual expression of the information contained in a model, and A Diagram is a collection of view elements that represent the users specific design thoughts. Building Blocks of UML : Things Relationships Diagrams.

Things in UML : Structural Things Classes Interfaces Collaborations Use Cases Active Classes Components Nodes Classes Interactions State Machines Packages Notes

Behavioral Things

Grouping Things Annotational Things

Vizag Institute of Engineering and Technology

JNTUWORLD

49

Department of I.T.

CN & Case Tools Lab Manual

Diagrams in UML: Class Diagram Object Diagram Usecase Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram Component Diagram Deployement Diagram Class: A class is the descriptor for a set of objects with similar structure, behavior, and relationships. It is represented by a rectangle.

Interface: An interface is a specified for the externally-visible operations of a class, component, or other classifier (including subsystems) without specification of internal structure. It is represented by a circle.

Relations: Association Dependency Generalization Realization In addition to this there are Directed Association Aggregation and Composition

Vizag Institute of Engineering and Technology

JNTUWORLD

50

Department of I.T.

CN & Case Tools Lab Manual

Association: An association is a structural relationship that specifies the relation between two objects when they are at the same level (peer level systems). An Association can specify the relationship, role of the class and Multiplicity. An Association used in class diagram, Component diagram, deployment diagram, usecase diagrams. The multiplicity can be represented as 1-1..*,*,01. It is represented as follows:

Directed Association: Links a semantic association between two classes in the UML diagram. Directed association is used in class diagram, Component diagram, deployment diagram, usecase diagrams. Symbol: Aggregation: Links a semantic association between two classes in the UML diagram. Aggregation is used in class diagram. Symbol:

Composition: Links a semantic association between two classes in the UML diagram. Composition is used in class diagram.

Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

51

Department of I.T.

CN & Case Tools Lab Manual

Generalization: Generalization is a specification relationship in which objects of the specialized element (the child ) are substitutable for objects of the generalization element (the parent).It is used in class diagram. Symbol:

Dependency: A dependency is a semantic relationship in which if there is any change occurred in one object that may effect other object. Dependency is used in class diagram, Component diagram, deployment diagram, usecase diagrams. Symbol: -----------------------------------------Realization: Realization is a Specified tool that can be represented by providing a relationship with classifier. Dependency is used in class diagram, Component diagram, deployment diagram, usecase diagrams. Symbol: ---------------------------------------------Class diagrams: A class diagram is that which represents vertices and arcs. It consists of three compartments.
Name Attributes Operations Vizag Institute of Engineering and Technology JNTUWORLD

a set of classes, interfaces, and a collection of

collaborations and their relationships, graphically a class diagram is

52

Department of I.T.

CN & Case Tools Lab Manual

Uses: A class diagram is used to model the static design view of a system. Object diagrams: An object diagram shares the same common properties of all other diagrams. ;Name
Attributes

Operations

Uses: An object diagram is used to model the static design view of a system. UseCase Diagrams: A usecase diagram shares the common properties as all diagrams. It distinguishes in the contents of use cases, actors, dependency, and generalization relationships.

Actor Uses: A Usecase diagram is used to model the static design view of a system. Interaction Diagrams: An Interaction diagram shares the same common properties as all other diagrams. It differs in its contents Objects Links Messages It includes two diagrams Sequence and Collaboration

Vizag Institute of Engineering and Technology

JNTUWORLD

53

Department of I.T.

CN & Case Tools Lab Manual

Sequence Diagrams: A sequence diagram emphasizes the time ordering of messages. Sequence diagrams have two features that distinguish them from collaboration diagrams. (i)Object life time (ii)The focus of control Collaboration Diagrams: A collaboration diagram emphasizes the organization of the objects that participate in an interaction Collaboration diagrams have two features that distinguish them from sequence diagrams. (i)Path (ii) The Sequence number Object: It is an instance of a class. Symbol:
Object name

Stimulus:

A Stimulus is a communication between two Instances that conveys

information with the expectation that action will ensue. A Stimulus will cause an Operation to be invoked, raise a Signal, or cause an Instance to be created or destroyed. Symbol: It can be annotated by a name. It has a property as Action kind. Call:

Send: Return: Create: <<create>>


Vizag Institute of Engineering and Technology JNTUWORLD

------------------------------------------

54

Department of I.T.

CN & Case Tools Lab Manual

Destroy: <<destroy>>

Uses: Interaction diagrams are used to model the dynamic aspects of a system. It is obtained in two ways: (i) To model flows of control by time ordering. (ii) To model flows of control by organization. State Chart Diagrams: State: A state is a condition during the life of an object or an interaction during which it satisfies some condition, performs some action, or waits for some event. It is represented by Symbol:
State Name

rounded

rectangle.

Sub machine State: A submachine state is a syntactical convenience that facilitates reuse and modularity. It is a shorthand that implies a macro-like expansion by another state machine Symbol: and is semantically equivalent to a composite state.

Sub State Name

Initial State: An initial is a kind of pseudostate that represents the starting point in a region of a state machine. It has a single outgoing transition to the default state of the enclosing region, and has no incoming transitions. There can be one (and only one) initial state in any given region of a state machine. It is not itself a state but acts as a marker. Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

55

Department of I.T.

CN & Case Tools Lab Manual

FinalState: A final state represents the last or "final" state of the enclosing composite state. There may be more than one final state at any level signifying that the composite state can end in different ways or conditions. When a final state is reached and there are no other enclosing states it means that the entire state machine has completed its transitions and no more transitions can occur. Symbol:

JunctionPoint: Junction Point chains together transitions into a single run-to-completion path. May have multiple input and/or output transitions. Each complete path involving a junction is logically independent and only one such path fires at one time. May be used to construct branches and merges. Symbol:

Transition:

A transition is a directed relationship between a source state vertex and a

target state vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to a particular event instance. Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

56

Department of I.T.

CN & Case Tools Lab Manual

Activity Diagram: It represents the different activities in the system. Action State: An action state represents the execution of an atomic action, typically the invocation of an operation. An action state is a simple state with an entry action whose only exit transition is triggered by the implicit event of completing the execution of the entry action. The state therefore corresponds to the execution of the entry action itself and the outgoing transition is activated as soon as the action has completed its execution. Symbol:

Sub Activity State: A sub activity state represents the execution of a non-atomic sequence of steps that has some duration; that is, internally it consists of a set of actions and possibly waiting for events. That is, a sub activity state is a hierarchical action, where an associated sub activity graph is executed. Symbol:
Sub Activity Name

Initial State: An initial is a kind of pseudo state that represents the starting point in a region of a state machine. It has a single outgoing transition to the default state of the enclosing region, and has no incoming transitions. There can be one (and only one) initial state in any given region of a state machine. It is not itself a state but acts as a marker. Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

57

Department of I.T.

CN & Case Tools Lab Manual

Final State: A final state represents the last or "final" state of the enclosing composite state. There may be more than one final state at any level signifying that the composite state can end in different ways or conditions. When a final state is reached and there are no other enclosing states it means that the entire state machine has completed its transitions and no more transitions can occur. Symbol:

Decision: A state diagram (and by derivation an activity diagram) expresses a decision when guard conditions are used to indicate different possible transitions that depend on Boolean Symbol: conditions of the owning object.

Component Diagrams:

Package: A package is a grouping of model elements. Packages themselves may be nested within other packages. A package may contain subordinate packages as well as other kinds of model elements. All kinds of UML model elements can be organized into packages. Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

58

Department of I.T.

CN & Case Tools Lab Manual

Interface: structure. Symbol:

An interface is a specified for the externally-visible operations of a class,

component, or other classifier (including subsystems) without specification of internal

Component: A component represents a modular, deployable, and replaceable part of a system Symbol: that encapsulates implementation and exposes a set of interfaces.

Artifact: An Artifact represents a physical piece of information that is used or produced by a software development process. Examples of Artifacts include models, source files, scripts, and binary executable files. An Artifact may constitute the implementation of a deployable component. Symbol:
<<artifact>>

Deployment Diagrams: Package: A package is a grouping of model elements. Packages themselves may be nested within other packages. A package may contain subordinate packages as well as other kinds of model elements. All kinds of UML model elements can be organized into packages. Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

59

Department of I.T.

CN & Case Tools Lab Manual

Node: A node is a run-time physical object that represents a computational resource, generally having at least a memory and often processing capability as well, and upon which components may be deployed. Symbol:

Node Name

Node Instance: A node instance is an instance of a node. A collection of component instances Symbol:
Node Name

may

reside

on

the

node

instance.

Artifact: An Artifact represents a physical piece of information that is used or produced by a software development process. Examples of Artifacts include models, source files, scripts, and binary executable files. An Artifact may constitute the implementation of a deployable component.

<<artifact>>

Symbol:

Vizag Institute of Engineering and Technology

JNTUWORLD

60

Department of I.T.

CN & Case Tools Lab Manual

Case Study 1
PROBLEM SPECIFICATION: Case Study of :: LIBRARY MANAGEMENT SYSTEM. This Library Management System is used accomplish the tasks like issue , return, renewal the book to the library. To computerize the library system, it should validate the students, staff, etc...By entering the student_id, and staff_id they used to log into the system. The library has several volumes of books, journals, magazines, news papers so, this system should maintain the library database and also it should maintain the student, staff database for validating them. To full fill these requirements we can to design this system by making use of the UML diagrams for better understanding the specifications.

Vizag Institute of Engineering and Technology

JNTUWORLD

61

Department of I.T.

CN & Case Tools Lab Manual

USE CASE DIAGRAMS OF LIBRARY MANAGEMENT SYSTEM:


System Add new books

collecting fines reads magazines, journals, news papers

Update validity <<extend>> Access books

Ask for a book <<include>>

check for authorization Check for availability of book <<include>> Librarian issue the book <<include>> returns the book <<include>>

Student

renewals the book

ACTORS: 1. STUDENT: The student is the primary actor who requires the books from library. 2. LIBRARIAN: The Librarian is also a primary actor who acts as a mediator between the system and the student. The actions like issue, return and renewal are performed by library. He interacts with the system directly.

USE CASES SPECIFICATION OF THE SYSTEM:


Vizag Institute of Engineering and Technology JNTUWORLD

62

Department of I.T.

CN & Case Tools Lab Manual

The main tasks are performed by the system whenever student or staff is valid. I) MAIN FLOW OF EVENTS: The student must be valid a person and have a student_id. Similarly staff must be valid a person and have a staff_id. II) EXCEPTION FLOW OF EVENTS: The student accessing the book like magazines, journals, news papers etc... III) PRECONDITION: The client must already have an account in the college. IV) POSTCONDITION: The account database of client is modified after performing any action.

CLASS DIAGRAMS OF LIBRARY MANAGEMENT SYSTEM:


depends on student data

depends on college data Library +issue_date +ret_date -fine +std_no_of_books +stf_no_of_books +verifies() +issues() +renwals() +returns() +dispaly fine() College +coll_name -coll_code +coll_address +coll_phone +coll_strn +coll_data

Student +std_name +std_num +std_acc +std_dep +attends() +wrt_exam() +logsin() +uses_facilities() +participates() +request book()

Staff +Stf_name +stf_num +stf_dep +stf_acc +teaches() +uses_facilities() +conducts() +invigilates() +logsin()

+st_data() +staff_data() +coll_facalities() +con_exam() +con_online() +con_events() 1 +con_sport() +maintained by librarian +Operation8()

Librarian
+lib_name +lib_id +checks for availability-collects_fine() +verifies_login() 1..* +updates() +maintanence() -access_lib_data() +creates_acc() +deletes_acc()

BooksData +book_name +author_name +book_num +publishers -ISBN_num +updates() +no_of_books() +softcopy() +mastercd()

Vizag Institute of Engineering and Technology

JNTUWORLD

63

Department of I.T.

CN & Case Tools Lab Manual

Class Diagram shows the implementation view of the system, The first section tells the Name of the class, second section shows the attributes of the class and the third section shows the operations of the class. There may be any number of students but only one library will be present and providers not more than 3-book. Here Librarian has composite aggregation with student and staff as librarian is the one who can access the data n the library auto machine . Library and librarian has simple association relationship as both have the same priority and some dependence relationships between the classes as shown.

SEQUENCE DIAGRAM OF LIBRARY MANAGEMENT SYSTEM:


S : student1 L : librarian Li : library d : database

1 : logsin()

<<create>> 3 : creates object()

2 : checks for authorization()

4 : ask for book()

5 : verifies() 6 : checks for availability()

8 : display fine() 9 : asks for fine() 10 : pays

7 : justifies

11 : updates()

12 : issue the book() 13 : updates() 14 : logsout()

15 : releases() <<destroy>>

<<destroy>> 16 : switches off()

17 : logsoff out the library() <<destroy>>

In sequence diagram we considered the process of issue of a book.In this the objects are the library, student, librarian and the database. When a student login into the library the librarian checks for authorization and creates an object for him. When student asks for the

Vizag Institute of Engineering and Technology

JNTUWORLD

64

Department of I.T.

CN & Case Tools Lab Manual

issue of the book the librarian, he verifies in the library in turn it checks in the database whether the student has the account

ACTIVITY DIAGRAM OF LIBRARY MANAGEMENT SYSTEM:


STUDENT Librarian

Asking for book Check for book

Available

Not available

Issues

Verification

Student details

Book details

Fine verification

No Yes Collecting fine

valid

In valid

Issue the book

Collect book

The activity here considered is the verification of the student and issuing or the returning of the book with or without fine. The student asks for a book.
Vizag Institute of Engineering and Technology JNTUWORLD

65

Department of I.T.

CN & Case Tools Lab Manual

The library checks for the availability of the book. If the book Is available it issues by verification .If the details are valid and has no fine the book is issued. The student collects the book.

STATE CHART SYSTEM:

DIAGRAMS

OF

LIBRARY

MANAGEMENT

ideal state

entry state enters student id login

verification authenticates

ask for book

pay fine

collecting book

logout

exit

Vizag Institute of Engineering and Technology

JNTUWORLD

66

Department of I.T.

CN & Case Tools Lab Manual

COMPONENT DIAGRAM OF LIBRARY MANAGEMENT SYSTEM:


is s ue .e x e is sue of book <<artifact>> updat e .e x e

re t ur n.e x e re t ur n o f book

DEPLOYMENT SYSTEM:

DIAGRAM

OF

LIBRARY

MANAGEMENT

Clients

Database server

Libr ar ia n

Da t a ba s e Se r v e r

St ude nt

Vizag Institute of Engineering and Technology

JNTUWORLD

67

Department of I.T.

CN & Case Tools Lab Manual

Case Study 2
Problem statement: : Reservation counter. Identification of actors:
The actors in the system are the passenger, the counter clerk and the reservation system consisting of form processing, reservation, canceling issued ticket, ticket printing and updating etc.

Use cases:
User Passenger Role 1.Enquiry 2.Reservation ticketing 3.Cancellation Use case 1. Enquire ticket availability and other details. 2. Reserve seats and berths etc. 3.Cancel tickets 1.Enter the details into system 2.Trigger ticket for printing 3.Update data in the system 1. Process reservation data, process ticketing and process cancellation. 2.Update.

and

Counter clerk

1.Form data entry 2.Ticket processing 3.Updation

Reservation system

Server

Use case diagrams


System Enquirie s for av aila bilit y

Passe nger

Count e rCle rk

A v aila bilit y st a t us

Passenger enquiries for the availability of Seats

Vizag Institute of Engineering and Technology

JNTUWORLD

68

Department of I.T.

CN & Case Tools Lab Manual

Fill requisition form

Enter data into system

Passenger

Print ticket

Counter Clerk

Collect fare amount & Issues ticket

Reservation and ticketing


System Fill Ca nce lla t io n form

Ent e r dat a int o s y s t e m

Pa ss e nge r

Co llect is sue d t ick e t Co unt e r Cle rk Cance ls t ick e t

R e t urn m oney a ft e r de duct ion

Cancellation of issued ticket

Vizag Institute of Engineering and Technology

JNTUWORLD

69

Department of I.T.

CN & Case Tools Lab Manual

Class diagram
Pa s se nge r +Name +Gender +Age +Address +fillForm() +payFareAmount() +collectTicket() 1 1 Re se rv a t ion Sy st e m +processForm() +reservation() +fareComputation() +processTicket() +printTicket() Cle rk +Name +Gender +Age 1..* +getDetails() +getFareAmount() +getTicket() 1

0..*

1..* Pa y m e nt

Cre dit Pa y m e nt

Ca shPa y m ent

Class diagram for railway reservation system

Vizag Institute of Engineering and Technology

JNTUWORLD

70

Department of I.T.

CN & Case Tools Lab Manual

Interaction diagrams
Sequence diagram
: passenger : clerk : reservation system

1 : requestForm()

2 : givesForm()

3 : returnsFilledForm()

4 : entersDetails()

5 : checksAvailability()

6 : fareamount

7 : paysAmount()

8 : triggersTicket()

9 : printTicket()

10 : issueTicket() 11 : updates()

Vizag Institute of Engineering and Technology

JNTUWORLD

71

Department of I.T.

CN & Case Tools Lab Manual

Collaboration diagram
1 : requestForm() 2 : givesForm() 3 : returnsFilledForm() : passenger 6 : fareamount 7 : paysAmount() 10 : issueTicket() : clerk 4 : entersDetails() 5 : checksAvailability() 8 : triggersTicket() 9 : printTicket() 11 : updates() : reservation system

Collaboration diagram for reservation

Activity diagrams

[The Data train and tickets]

Data Entered into R&T System Not Available Puts New Data and Train

R&T Checks Availabillity

Available Fills Requisition From

R&T Process the Form

Prints Tickets

Tickets Issued and Fare Amount Collected

Activity diagram for Enquiry of seats available


Vizag Institute of Engineering and Technology JNTUWORLD

72

Department of I.T.

CN & Case Tools Lab Manual

Passenge r Pa ss e n g e r C ome s to th e C o u n te r [F ill f o r m d e t a ils ]

C le r k

R e s e r v a t io n s y s t e m

[C le r k E n t e r s D e t a ils in t o s y s t e m ]

[T r ig g e r T ic ke t s P r in t in g P r o c e s s ]

[S u b m it s f o rm t o c le r k]

[V e r if y A v a ila b ilit ie s ]

[p r in t s t h e T ic ke t s ]

Not ok [F o r m m o d if ie d ]

Ok

Not Ok

[Is s u e T ic ke t s ]

Ok

[C o lle c t A m o u n t ]

[I n f o r m s t h e f a r e a m o u n t ]

Not ok C o n f ir m s w it h t h e P a s s e n g e r

[T r ig g e r U p d a t e P r o c e s s ]

Activity diagram for reservation process

Component diagram

re se rv a t ion.e x e Re se rv a t ion form <<artifact>> upda t e .e x e

ca ncellat ion.e x e Ca nce lla t ion form

Component diagram for reservation and ticketing

Vizag Institute of Engineering and Technology

JNTUWORLD

73

Department of I.T.

CN & Case Tools Lab Manual

Deployment diagram

Clients

Reservation server

Cle rk

Re se rv a t ion Se rv e r

Kiosk

Deployment diagram for Railway reservation system

Case Study 3
Vizag Institute of Engineering and Technology JNTUWORLD

74

Department of I.T.

CN & Case Tools Lab Manual

PROBLEM SPECIFICATION: Case Study of ATM transaction.


An automated teller machine (ATM) or automatic banking machine (ABM) is a computerized telecommunications device that provides the clients of a financial institution with access to financial transactions in a public space without the need for a cashier, human clerk or bank teller. On most modern ATMs, the customer is identified by inserting a plastic ATM card with a magnetic stripe or a plastic smart card with a chip that contains a unique card number and some security information such as an expiration date or CVVC (CVV). Authentication is provided by the customer entering a personal identification number (PIN). Using an ATM, customers can access their bank accounts in order to make cash withdrawals (or credit card cash advances) and check their account balances as well as purchase cellphone prepaid credit. With growing usage of the Internet, people are utilizing the convenience of online shopping and the ability to place an order for what they want at all hours of the day and night, at the office, home, airport, a cafe, or just about anywhere you can imagine. They want conveniences of Internet communications to help them improve their productiveness in the day to day balance between work and personal life. While ATM's have added some convenience to our lives. By using ATMs we can make payment transaction at anytime from anywhere.

USE CASE DIAGRAMS:


Vizag Institute of Engineering and Technology JNTUWORLD

75

Department of I.T.

CN & Case Tools Lab Manual

System v e r ific a t io n Ba n k

in v a lid P IN <<extend>>

m anagedat abase

t r a n s c a t io n Ba n k clie n t <<include>> A TM m a c h in e

d e p o s it e

w it h d r a w a l

b a la n c e e n q u ir y

v a lid c lie n t

<<extend>>

in v a lid c lie n t

ACTORS: 1. BANKCLIENT: the bank client is a primary actor which having an ATM card. 2. ATM MACHINE: The ATM machine is a primary actor which is used to Perform the online transaction. It is an intermediate between the bank client and bank. 3. BANK: The Bank is a second actor which will verify the bank client account and also manages the database.

USE CASES SPECIFICATION OF TRANSACTION: The use case transaction performs the ATM transaction whenever cardholder is valid. It contains another use cases like deposited, withdrawal & balance enquiry.
Vizag Institute of Engineering and Technology JNTUWORLD

76

Department of I.T.

CN & Case Tools Lab Manual

I) MAIN FLOW OF EVENTS: The bank client must be valid person and have a valid PIN number. II) EXCEPTION FLOW OF EVENTS: The bank client is an invalid person. The client had entered the invalid PIN number. III) PRECONDITION: The client must already have an account in the Bank. IV) POSTCONDITION: The account database of client is modified after transaction.

CLASS DIAGRAMS OF ATM TRANSACTION:


Bank client -pin card number +deposit() +tranfer() +withdraw() +insert_card() +eject_card() +entering_pin no.() 1 request for 1..* ATM machine +atm_mach no. +providing_receipt() +display_message() +status() +read_card() +accept_card() +view_balance() +notify_successful receipt()

1 asks for manages

1 Bank +account_number -pin_balance +open _account() +create_account() +withdraw_funds() +verification() +delete_account() 1 1 Thirdparity -pin number +verify_card() +system_shut down() +sys_start up() +add_cash() +verify_customer id() +verify_customer status() +asking _operation() Bank database +card reader_ information +updating_dbbase()

I) PERSISTENCE CLASSES: Bank client, ATM machine are the persistence classes. II) NON-PERSISTENCE CLASSES: Bank, Third-party, Bank database are non-persistence classes.

SEQUENCE DIAGRAM OF ATM TRANSACTION: (Overall ATM transaction)


Vizag Institute of Engineering and Technology JNTUWORLD

77

Department of I.T.

CN & Case Tools Lab Manual

: Bankclient

: ATM machine

: Bank

1 : Insert ATMcard()

2 : Request PINnum() 3 : Enter PINnum() 4 : verify PINnum()

5 : valid PIN() 6 : Request amount()

7 : Enter amount() 8 : withdraw checking() 9 : withdraw successfully() 10 : Transcation successfully finished() 11 : dispense cash()

12 : print reciept()

13 : terminate()

<<destroy>>

COLLOBARATION DIAGRAM OF ATM TRANSACTION: (Start-up of ATM transaction)

Vizag Institute of Engineering and Technology

JNTUWORLD

78

Department of I.T.

CN & Case Tools Lab Manual

ACTIVITY
Bankclient

DIAGRAM

OF
ATM machine

ATM
Bank

TRANSACTION:

Insert atmcard

enter pin number

[submite]

read PIN

verify PIN

[invalid]

[verification report] [valid] Enter amount Request amount

dispense cash

update customer account

give recipt

close transcation

STATE CHART DIAGRAMS OF ATM TRANSACTION:


Vizag Institute of Engineering and Technology JNTUWORLD

79

Department of I.T.

CN & Case Tools Lab Manual

ideal

Insert card Active cancel

maintain maintainance

validate

withdraw/enquiery

[continue] selecting processing

[not continue] printreciept entry/readcard exit/ejectcard

COMPONENT DIAGRAM OF ATM TRANSACTION:


A TM da t a b a se .db A TM .e x e t ra ns a ct io n +pin number +withdraw() +enquiery()

.tbl it contains databse tables

it contains ATM.obj files

it contains ATM.java files

it contain ATM.dll files

DEPLOYMENT DIAGRAM OF ATM TRANSACTION:

Vizag Institute of Engineering and Technology

JNTUWORLD

80

Department of I.T.

CN & Case Tools Lab Manual

A TM m a chine

Ethernet

serv er

R A ID fa rm

RS-232

A TM .e x e

Ba nk

Case Study 4 ONLINE BOOKS SHOP


Vizag Institute of Engineering and Technology JNTUWORLD

81

Department of I.T.

CN & Case Tools Lab Manual

PROBLEM STATEMENT:
Customer can buy books through online. Customers login into the website and add or remove to the cart. Then he will place the order i.e., the cart of the books then the warehouse checks that the customer is validate user or not. Customer fills his details and made payment transactions. The customer got his books through shipment. Customer may get gifts for their transactions. Wrong transactions can be verified. The main objective of this case study ONLINE BOOK SHOP is to make the customers purchase their books of interest through online without wasting time by stepping into the bookshops. The customer can visit this site at any time, search the books and place the orders which will be delivered by the dealer in short period of time. This reduces the burden for both the customer and dealer as the customer need not travel to the cities if the book of his/her interest is not available in his area, whereas the dealer also need not strain himself by standing in the shop all the time. Here the dealer also need not respond to each and every customer queries. Through this system the customer submits a query and gets the response from the database. The dealer can update the stock details of the books in the database. This project is developed using ASP.Net and SQL Server.

EXISTING SYSTEM
In the current system if a customer wants to purchase a book he needs to go to the shop and search for the book then he can buy that book.

Physical Data Flow Diagrams:-

Vizag Institute of Engineering and Technology

JNTUWORLD

82

Department of I.T.

CN & Case Tools Lab Manual

Context Level Diagram:Search Order Customer Book Details Ordered Books Book Shop Orders sDetails Add Books

Dealer

Use case diagram:

Sy ste m a u t h e n t ic a t io n L o g in

cre ate ca rt custom er re q u e s t v a lid a t e c u s t o m e r < < in c lu d e > > o r d e r p la c in g c h e c kin g c e r t if ic a t e V a lid a t io n in d iv id u a l le c t u r e r pay sent a cce pt b o o k s h o p s t a ff v e r if y

paym ent

R e c e iv e

S h ip m e n t < < extend> >

g ift s bank

Scenario for Use case Diagram:-

Vizag Institute of Engineering and Technology

JNTUWORLD

83

Department of I.T.

CN & Case Tools Lab Manual

1.Usecase Name 2. Participating Actor Instances

ONLINE BOOK SHOP 1. Customer 2. Dealer 1. Every customer should have a unique id. 2. Dealer should have a login-id and password. 1. Customer should register in this system for future purpose. 2. A Customer can search for his/her books of interest. 3. Customer order books. 4. The Customer provides the shipment details to which address the ordered books should be delivered. 5. Dealer can update the book details. 6. Dealer delivers the ordered books. 1. The customer can get the quick response from the server.

3.Entry Conditions

4. Flow of Events

5. Special requirements

Actors: Customer, Book shop staff, bank. Main flow of events: Create cart, order placing, validations. Exception flow of events: Gifts to customer, canceling orders

Class Diagrams:

Vizag Institute of Engineering and Technology

JNTUWORLD

84

Department of I.T.

CN & Case Tools Lab Manual

custom er ca rt -t o t a l m o n e y + p la c e o r d e r() + c a n c le o rd e r() 1 1..* 0..* 1 -c u s t o m e r -b illin g a d d re s s -d e liv e ry a d d re s s -e m a il -ra t in g + c re a t e c u s t o me r() + g e t c u s t o m e r() + c h a n g e s t a t u s () c r e d it c a r d -c a rd n u m b e r -d a t e o f e x p ire

1 1..* it e m s t o b u y -u n it p ric e + a d d () -re m o v e ()

0..* + c h e c k a u t h o riz e d c h a rg e () fr e q u e n t s h o p p e r -d is c o u n t ra t e -a p p r o v a l d a t e 1 + a p p ro v a l() + d is a p p ro v e ()

database -u s e r n a m e -b o o k n a m e + s t o re () + u p d a t e () + d e le t e ()

W arehouse -n a m e + u p d a t e () + d e le t e ()

Database depends on the warehouse means adding new customers and books done by Warehouse. Customers add his books to the cart and make order at a time. A payment is done through credit cards and receives their books through shipment.

Sequence and Collaboration diagrams:


Vizag Institute of Engineering and Technology JNTUWORLD

85

Department of I.T.

CN & Case Tools Lab Manual

c : custo m e r

w e b s it e

ca rd

ca rt

sta ff

1 : lo g in ( )

2 : a u t h e n t ic a t io n ( ) 3 : se a rch fo r b o o k 4 : show ed 5 : a d d ()

6 : v ie w e d 7 : o rd e r() 9 : d e t a ils 1 0 : u p d a te

8 : s e tre q u e s t()

1 1 : p a y m e n t () 1 2 : a u t h o r o z a t io n 1 3 : a c k n o w le d g e m e n t 14

1 5 : s h ip m e n t

Colloboration Diagram:
Vizag Institute of Engineering and Technology JNTUWORLD

86

Department of I.T.

CN & Case Tools Lab Manual

1 : lo g in ( ) 2 : a u t h e n t ic a t io n ( ) 3 : s e a rch f o r b o o ks () 7 : d e t a ils ( ) w : d a ta b a se 8 : U p d a t io n ( ) 4 : a d d o r re m o v e b o o ks () 5 : p la c e o r d e r ( )

c : ca rt

c : custo me r

6 : v ie w e d ( ) 9 : p a y m e n t ()

1 0 : a c k n o w le d g e m e n t ( ) 1 1 : v a lid a t e o r d e r ( ) c a r d : c r e d it c a r d s ta ff : W a re h o u se

1 2 : s h ip m e n t ( )

ACTIVITY DIAGRAM:
Vizag Institute of Engineering and Technology JNTUWORLD

87

Department of I.T.

CN & Case Tools Lab Manual

cu sto me r

staff

lo g in

ca rt

d avtea rbifays e

ca rd re a d

a u t h e n t ic a t io n

a d d b o o ks

v ie w c a r t

[c:ca rt]

pa y me nt staff

u p a d a t io n

[w :d a ta b a se ] r e c e iv e b o o k

STATE CHART DIAGRAM:


Vizag Institute of Engineering and Technology JNTUWORLD

88

Department of I.T.

CN & Case Tools Lab Manual

id e a l

lo g in

a d d b o o ks to ca rt che ck to a dd

p la c e o r d e r

sh o w ca rt sh o w o rd e r

payment

s h ip m e n t

COMPONENT DIAGRAM:
Vizag Institute of Engineering and Technology JNTUWORLD

89

Department of I.T.

CN & Case Tools Lab Manual

users online shopping use r/ cust om e r

a ut he nt ica t ion

it e m s <<artifact>> login.ht m l pe rm issions

DEPLOYMENT DIAGRAM:

TESTING

Vizag Institute of Engineering and Technology

JNTUWORLD

90

Department of I.T.

CN & Case Tools Lab Manual

Test cases for customer registration:Test Case


1. If password is not matched with confirm password. 2. Password empty. is

Condition Being Checked


Password password. = confirm

Expected Output
Mismatched password.

Password length >6. Customer id should be alpha numeric. Is Numeric.

Password should have at least 6 characters. Blank spaces are not allowed. Phone number should be numeric.

3. Customer id contains spaces. 4. Phone number

Test Cases for Customer Verification:Test Case


1. Password 2. Login

Condition Being Checked


Password length>6. Should not be empty.

Expected Output
Invalid password. Invalid login name.

Test Cases for searching books:Test Case


1. At least one of the fields should be filled.

Condition Being Checked


bookname=null, author=null, publisher=null, edition=null.

Expected Output
At least one of the fields must be filled.

Test Cases for ordering books:-

Vizag Institute of Engineering and Technology

JNTUWORLD

91

Department of I.T.

CN & Case Tools Lab Manual

Test Case
1. Quantity 2. Credit card no. 3. Credit card no.

Condition Being Checked


quantity<=0

Expected Output
Quantity should be at least one to place the order. Should be numeric only. invalid credit card no.

should be numeric length!= 14

Test Cases for Shipment Details:Test Case


1. Address

Condition Being Checked


address=null

Expected Output
address is required to deliver the order.

Case Study 5: PROBLEM SPECIFICATION: Case study of college administration:


Vizag Institute of Engineering and Technology JNTUWORLD

92

Department of I.T.

CN & Case Tools Lab Manual

For a student to enter college he must first obtain an application form. Fill the details and write an entrance test, after qualifying the student issues a rank card. In the counseling system of EAMCET the student certificates are verified and then seat is allotted in required college. The college is equipped with computer laboratory, electrical and electronics laboratory, English laboratory, embedded systems laboratory etc. The library has several volumes of books, journals, magazines, news papers etc.

uSE

CASE DIAGRAMS OF COLLEGE ADMINISTRATION:


System

a sk s t he ce rt ifica t e s

Subm it s ce rt ifica t e s

v e rifie s t he cert ifica t e s <<include>> ra nk ca rd <<extend>> inv a lid ce rt ificat e s colle ge a dm inis t ra t ion St ude nt Enquire s a bout co urse s

offe rs t he cours e s

s e lect s t he course

cle rk giv e s t he fee s det a ils

m a na ge r

pa y s t he fe e

Iss ue s ID ca rd

ACTORS: 1 1

Student: The student is the primary actor who requests for seat

1 1 College administration: The college administrator is the primary actor who verifies the certificates and grants the seat

Vizag Institute of Engineering and Technology

JNTUWORLD

93

Department of I.T.

CN & Case Tools Lab Manual

a) Clerk: one who collects the certificates from the student and submits to the administrator for verification. b) Manager: one who manages the college administration? USE CASES SPECIFICATION OF EXAMINATION: The use-case specifies the college admission by verifying allotting the seat I) MAIN FLOW OF EVENTS: The student should have the certificates.

the certificates and

The college should have the facilities like library, laboratory, and transport. II) EXCEPTION FLOW OF EVENTS: The certificates may be invalid. III) PRECONDITION: The student should have the certificates IV) POSTCONDITION: The student completes his course and gets degree.

CLASS DIAGRAMS OF COLLEGE ADMINISTRATION:

Vizag Institute of Engineering and Technology

JNTUWORLD

94

Department of I.T.

CN & Case Tools Lab Manual

1 co lle ge +college name +address +phone 1 +maintain database()

+has de p a r t m e nt +department t +dept name * 1..* +time table() +add d() +staff() 1..* 1..*

* libra ry +text books +book name +author name +issues() +renewal() +fine() 0..1

1..*

1..* member * s t ude nt +sname +sno +class +status() +admission()

1..* assigned to 1..*

1..*

c ours e +course name +tcourse +add course()

+chairperson

* 0..1 fa cult y +tstaff +faculty name +teach() +salary()

attends * *

1..*

teaches

* *

attends

la b a ra t or y +tlabs +lab name 1..* +remarks() 1..*

I) PERSISTENCE CLASSES: College, department, laboratory are the persistence classes. II) NON-PERSISTENCE CLASSES: Library, student, course, faculty, are the non-persistence classes.

SEQUENCE DIAGRAM OF COLLEGE ADMINISTRATION: (Admitting a Student into the college):


Vizag Institute of Engineering and Technology JNTUWORLD

95

Department of I.T.

CN & Case Tools Lab Manual

s : student

a : admission cell

college database

1 : asks the certificates() 2 : submits the certificates()

3 : verifies the certificates()

4 : enquires about the rank card() 5 : submits the rank card()

6 : verifies the rank card()

7 : checks for the availability of seats()

8 : availble() 9 : enters the details() 10 : issues the id card() <<destroy>>

COLLOBARATION DIAGRAM OF COLLEGE ADMINISTRATION: (Recruitment of the faculty)


Vizag Institute of Engineering and Technology JNTUWORLD

96

Department of I.T.

CN & Case Tools Lab Manual

c : college database

p : participant

2 : submits the certificates() 1 : asks the certificates() 3 : expose some questions() 4 : answering the questions() 6 : sends an appointment letter() 5 : decides()

7 : enters the details()

i : interviewer

ACTIVITY DIAGRAM OF COLLEGE ADMINISTRATION:


(THE STUDENT ATTENDING AN ONLINE EXAM IN A COLLEGE)
Vizag Institute of Engineering and Technology JNTUWORLD

97

Department of I.T.

CN & Case Tools Lab Manual

student

system

server

enters the IP address

accepts

requests

opens the login page

enters the user name and password

verifies student details

invalid

valid displays question paper

answers the paper submits displays marks

STATE CHART DIAGRAMS OF COLLEGE ADMINISTRATION: (A STUDENT ISSUING A BOOK IN A LIBRARY)


Vizag Institute of Engineering and Technology JNTUWORLD

98

Department of I.T.

CN & Case Tools Lab Manual

Idle

fine exists

book not available Student requirement book available Check fine

stores information to database fine doesn't exist

issue book

COMPONENT DIAGRAM OF COLLEGE ADMINISTRATION:

Vizag Institute of Engineering and Technology

JNTUWORLD

99

Department of I.T.

CN & Case Tools Lab Manual

s t ud e nt .db

c o lle g e .d b

a dm is s io n

.tlb contains the tables of student

.tlb contains the tables of college

.exe contains execute files

.dll contains the library files

DEPLOYMENT DIAGRAM OF COLLEGE ADMINISTRATION:


st ude nt RS-232 ser v e r R A ID

ETHERNET

console

Vizag Institute of Engineering and Technology

JNTUWORLD

100

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy