Professional Documents
Culture Documents
Software Engineering Lab (IT - 652) : (University School of Information Technology and Communication)
Software Engineering Lab (IT - 652) : (University School of Information Technology and Communication)
Submitted by :-
Name – SAHIL KUMAR SINGH
Course – MCA(SE)
Roll. No- 04016404518 Signature :..................
“INDEX”
1 Write a problem
statement on a suitable
current topic.
4 Construct an entity
relationship diagram with
all mapping
cardinalities,strong
entities,weak entities and
attributes of entities.
5 Construct a context,level-1
and level-2 data flow
diagrams for the above
problem statements.
Explain the symbols used.
6 Write a program to
estimate the metrics of a
project
(1)Function points
(2)Basic cocomo model
(3)Intermediate cocomo
model
1. Flow graph
2. DD path graph
3. Independent path
4. Cyclomatic
complexity
11 Write a program to
perform mutation testing
by creating mutants.
Question (1):-
1.Write a problem statement on a suitable current topic.
Solution :- Existing System
The present system is a manual system or a semi-automated system. Manual system involves paper work in the
form of maintaining various files and manuals. Maintaining critical information in the files and manuals is full of
risk and a tedious process.
A manual system has following disadvantages
✔ It’s a limited system and fewer users friendly.
✔ In the existing system students need to learn course in the class room only.
✔ In the manual system student need bare the lot of time and cost.
✔ The existing system need to travel a location in which one have to participate in the course.
✔ The existing system needs to save the information in the form of files.
✔ Limited sharing is possible if the data is in the form of paper or disk drives.
✔ The manual system gives us less security for saving data, some data may be lost due to mismanagement.
Proposed System:-
As the virtual classroom is one that aims to give the student an experience equal to or better than sort they
would find in a traditional classroom. There are obviously many advantages of As the virtual classroom is one
that aims to give the student an experience equal to or better the virtual classroom to the student, as well as the
teacher and the associated educational institution.
The system after careful analysis has been identified to be presented with the following modules:
✔ Student Registration: Admin can register a student for a specific program.
✔ Video Lectures: Student can watch and listen the class room session repeatedly which will be uploaded by the
teacher.
✔ Result: Students can get the result via this web application
✔ Attendance: It includes attendance of students for a specific class.
✔ Record Storage: The user information files should be stored in centralized database which can be maintained
by the system.
✔ Authentication: Authentication of this application will be provided for only registered members.
✔ Activities for Students: The teacher can upload assignments to the students, multimedia which a student can
download and listen when required.
✔ Administration Access: Administration would be able to keep an eye on the records of students.
✔ Library: Student helping material would be available
Question (2):-
Identify the requirements from problem statement and categorize them into functional and non functional
requirements.
Solution:-
FUNCTIONAL REQUIREMENTS :
"Functional requirement describe what a system should do." Functional requirements of our system are
explained below.
✔ Users must have valid User ID and password to login thus creating their individual profiles.
✔ Administration can register new teachers.
✔ Students can choose courses.
✔ Attend lectures either at the scheduled time or view lecture later.
✔ Video lectures facility can also be available for the students.
✔ Students can check attendance, result and assignments,.
✔ Faculties can take lectures, upload assignments, announcements, compile results and also can upload lectures
and other discussions in various formats as in videos, power point presentation etc.
✔ Notice board facility can also be available for the students from administration and teachers.
✔ Notice board can also be available for the teachers from administration.
✔ Forms and guidance can also be available for the students regarding any query.
✔ There can be platform to discuss various queries and to put up suggestions posted both by students and
teachers.
✔ Documents and media library that can help in active learning of a student.
✔ Student can send any application to the administration for any query.
✔ Administration can post upcoming events banner.
for
Date-<5/4/2019>
Table of Contents
1.0 Introduction
1.1 Purpose
1.2 Documents conventions
-> (Not Assigned)
1.3 Intended Audience and Reading Suggestions
-> (Not Assigned)
1.4 Scope
1.5 References
1.6 Definitions,Acronyms and Abbreviations
1.7 Technologies to be used
1.8 Overview
1.0 Introduction:
1.1 Purpose:
The purpose of developing this “Virtual class room system” is to keep the students and teachers connected through a
virtual platform even when they cannot reach to the physical platform. The purpose of the virtual classroom system is
to integrate the benefits of a physical classroom with the convenience of a “nophysicalbar” virtual learning
environment.It will usher in the immense flexibility and sophistication in the existing learning platform
structures,with the perfect blend of synchronous and asynchronous interaction.It provides a means of collaborative
learning for the students.
Existing System
The present system is a manual system or a semi-automated system. Manual system involves paper work in the
form of maintaining various files and manuals. Maintaining critical information in the files and manuals is full of
risk and a tedious process.
A manual system has following disadvantages
It’s a limited system and fewer users friendly.
In the existing system students need to learn course in the class room only.
In the manual system student need bare the lot of time and cost.
The existing system need to travel a location in which one have to participate in the course.
The existing system needs to save the information in the form of files.
Limited sharing is possible if the data is in the form of paper or disk drives.
The manual system gives us less security for saving data, some data may be lost due to mismanagement.
Proposed System :
As the virtual classroom is one that aims to give the student an experience equal to or better than sort they
would find in a traditional classroom. There are obviously many advantages of the virtual classroom to the
student, as well as the teacher and the associated educational institution.
The system after careful analysis has been identified to be presented with the following modules:
Student Registration: Admin can register a student for a specific program.
Video Lectures: Student can watch and listen the class room session repeatedly which will be uploaded by the
teacher.
Result: Students can get the result via this web application
Attendance: It includes attendance of students for a specific class.
Record Storage: The user information files should be stored in centralized database which can be maintained
by the system.
Authentication: Authentication of this application will be provided for only registered members.
Activities for Students: The teacher can upload assignments to the students, multimedia which a student can
download and listen when required.
Administration Access: Administration would be able to keep an eye on the records of students.
Library: Student helping material would be available.
Flexibility for Teacher: For teachers of virtual classrooms, working part-time is a possibility because of the
flexible nature of the classroom.
Effective Communication: Another advantage to the teacher is that they have time to respond to student
communications in the virtual classroom, which gives the teacher a chance to construct the best possible
response to the student.
Independent of Location: The teacher is not required to work from an office or classroom to instruct lessons or
organize material and lessons this can be done from anywhere where they have access to a computer with an
Internet connection.
1.2 Scope:
This project has a lot of scope for future development. Developing a virtual classroom system to promote a greater
count of students to splurge into the field of Education. This Virtual Classroom System is available anytime
without any restriction that means we can access 24 hours a day. It engages students in a rich learning
experience. Data transfer rate optimization matches user connection speeds.it is real time collaboration
between a faculty and the student. It away faculties in awesome conveniences. We can share
documents, application, streaming videos and many more. It will integrate the benefits of a physical classroom with
the convenience of a ‘no-physical-bar’ virtual learning environment, minus the change hazards and expenses. This will
provide more flexibility in the existing learning platform structures. It provides a means of collaborative learning for
the students and also promotes the distance learning.
1.5 References:
http://findarticles.com/
http://en.wikipedia.org/wiki/History_of_virtual_learning_environments/ http://ezinearticles.com/
• HTML (Hyper Text Markup Language): It is used to create static web pages.
platform, which is used for developing and running distributed java applications.
Overall Description :
Specific Requirements :
E. Students :
• Students can choose courses, attend lectures, take exams, view their attendance
records, progress reports etc as per their convenience.
• Attend lectures either at the scheduled time or on request view lecture at a later
time.
• There can be forums, blogs etc to discuss various queries and to put up suggestions
posted both by students and teachers.
• Students can take up various quizzes which can help them to realize their inbuilt
talents in various fields.
Faculties :
• There can be forums, blogs etc to discuss various queries and to put up suggestions
posted both by students and teachers.
Administrator :
• Administrator can generate reports, log files, backup/recovery of data at any time
and create user,department and courses.
Dean :
• Can view all actors details
2.0 Overall Description :
Each User has a valid user name ,passwd ,User id ,which department he/she belongs
,duration
(in years) ,Age ,Grade ,User Role,etc....
Architecture Design :
Implementation Constraints:
Hardware Constraints:
The system requires a database in order to store persistent data. The database
should have
backup capabilities.
Software Constraints:
The development of the system will be constrained by the availability of required
software such
as web servers, database and development tools.The availability of these tools will
be governed by the
Adithya Institute of Technology and Management.
Although basic password authentication and role based security mechanisms will be used
to
protect OPMS from unauthorised access; functionality such as email notifications are
assumed to be
sufficiently protected under the existing security policies applied by the University
network team.
Redundant Database is setup as the role of backup Database Server when primary
database is failure.
3.0 EXTERNAL INTERFACE REQUIREMENTS:
Deployment:
->Operating System Server: Window 8, Linux, UNIX
Requirement that specifies criteria that can be used to judge the operation of a system
are called non functional requirements. Non functional requirements of our system are
mentioned below
Secure access of confidential data (user’s details).
Maximum time availability
Better component design to get efficiency at peak time.
Flexible service based architecture will be highly desirable for future extension.
Teacher registration facility is accessible by administration only.
4.2 SYSTEM FEATURES 2:
1. Not User Friendly: The existing system is not user friendly because the retrieval of is
very slow and data is not maintained efficiently. User in term administrator, faculty and
student.
2. Not Useful For E Learning Student: those student who want to continue their study
after graduation along with job can’t get any benefit because they have to attend the
class regularly.
3. Difficulty in report generating: We require more calculations to generate the report so
it is generated at the end of the session. And the student not get a single chance to
improve their attendance
4. Manual control: All calculations to generate report are done manually so there is
greater chance of errors.
5. Lots of paperwork: Existing system requires lot of paper work. Loss of even a single
register/record led to difficult situation because all the papers are needed to generate the
reports.
6. Time consuming: Every work is done manually so time is consumed.
The proposed system that we are going to develop will be used as the Chief performance
system for help to the department in managing the whole database of the student
studying in the department. Therefore, it is expected that the database would perform
functionally all the requirements that are specified.
1. We are going to develop a secured database. There are different categories of users
namely
Administrator, Students, Restricted users who will be viewing either all or some specific
information from
the database.
2. Depending upon the category of user the access rights are decided. It means if the user
is an administrator then he can be able to modify the data,append etc. All other users
only have the rights to retrieve the information about database.
5.3 Safety Requirements:
The database may get crashed at any certain time due to virus or operating system
failure. Therefore, it is
required to take the database backup
6.2 CONCLUSION:
Administrator: Responsible for managing all the three types of users, viewing logs and
managing standard groups of the system.
· Manage System users:The Administrator will provide the system students,faculties and
dean the authentication to use the site.
· View Logs:Responsible for checking the logs of different system user for auditing and
maintaining the integrity of the system.
· System Reports:The Administrator is responsible to generate the system reports for the
future reference.
· View All Details:View the user’s details,Chatting Details,forum details and mark records.
· Back Up Date:The Administrator is responsible to back up all the data at a particular time
everyday.
6.5 APPLICATIONS:
Solution:-ER DIAGRAM
Question(5):- Construct a context,level-1 and level-2 data flow diagrams for the above
problem statements. Explain the symbols used.
Solution:- Context Level Diagram
void main()
{
FILE *fp;
int row,col,i,j,edges,nodes;
char ch;
int mat[MAX][MAX];
clrscr();
fp=fopen("matrix.txt","r");
row=col=0;
while(fscanf(fp,"%c",&ch)!=EOF)
{
if(ch==' ')
col++;
else if(ch=='\n')
{
row++;
col=0;
}
else
mat[row][col]=ch-48;
}
fclose(fp);
printf("\nThe given adjacency matrix is : \n");
for(i=0;i<=row;i++)
{
for(j=0;j<=col;j++)
printf("%d\t",mat[i][j]);
printf("\n");
}
nodes=row+1;
printf("\nNumber of nodes = %d",nodes);
edges=0;
for(i=0;i<=row;i++)
{
for(j=0;j<=col;j++)
{
if(mat[i][j]==1)
edges++;
}
}
printf("\nNumber of edges = %d",edges);
printf("\n\nCyclometic Complexity of graph = edges-nodes+2p\n");
printf("\t\t\t\t= %d - %d + 2",edges,nodes);
printf("\n\t\t\t\t= %d",edges-nodes+2);
getch();
}
Ques no-9 write a program to find the root of quadratic equation for a given input
value and generate
I) Boundary value test cases
II) Robust test cases
III) Equivalence class test cases
Write a program in C/C++ to find the root of a quardatic equaltion and perform the
following on it: Boundary Value Analysis (BVA).
Consider the program for the determination of nature of roots of a quadratic equation.
Its input is a triple of postive intergers a,b,c and values may be from interval [0,100].
The program output may have one of the following words: Not a QE, Real Roots,
Imaginary Roots or Equal Roots.
#include<iostream.h>
#include<conio.h>
void main()
{
int a,b,c,d;
clrscr();
cout<<"The Quadratic equation is of the type a(x^2)+bx+c=0"<<endl;
cout<<"Enter the value of a: "<<endl;
cin>>a;
cout<<"Enter the value of b: "<<endl;
cin>>b;
cout<<"Enter the value of c: "<<endl;
cin>>c;
d=(b*b)-4*a*c;
if((a<0)||(b<0)||(c<0)||(a>100)||(b>100)||(c>100))
cout<<"Invalid input"<<endl;
else if(a==0)
cout<<"Not a quadratic equation"<<endl;
else if (d==0)
cout<<"Roots are equal"<<endl;
else if(d<0)
cout<<"Imaginary roots"<<endl;
else
cout<<"Real Roots"<<endl;
getch();
}
Boundary Value analysis: The basic idea of boundary value analysis is to use input
variable at their manimum, just above manimum, normal value, just below maximum
and maximum.
write a program in C\C++ to find the area of a Triangle, Square, Rectangle and a Circle.
Perform Equivalence class testing on it.
#include<iostream.h>
#include<conio.h>
#include<process.h>
void main()
{
clrscr();
int ch;
char c;
float b,h,a;
1: cout<<"Enter your choice";
cout<<"\n 1. Triangle";
cout<<"\n 2. Square";
cout<<"\n 3. Rectangle";
cout<<"\n 4. Circle";
cout<<"\n 5. Exit\n";
cin>>ch;
switch(ch)
{
case 1: b: cout<<"\Enter the base of the triangle (1-200)";
cin>>b;
if((b<=0)||(b>200))
{
cout<<"\n Invalid entry for base \n";
goto b;
}
h: cout<<"\n Enter the height of the triangle (1-200)";
cin>>h;
if((h<=0)||(h>200))
{
cout<<"\n Invalid height\n Enter the valid height (1-200)";
goto h;
}
a= 0.5*b*h;
cout<<"\n The area is : "<<a;
cout<<"\n Want to enter more?(y/n)";
cin>>c;
if((c=='y')||(c=='y'))
goto 1;
break;
case 2 : s: cout<<"\n Enter the side of the squre (1-200)";
cin>>b;
if((b<=0)||(b>200))
{
cout<<"\n Invalid entry for base \n";
goto s;
}
a=b*b;
cout<<"\n The area is :"<<a;
cout<<"\n Want to enter more?(y/n)";
cin>>c;
if((c=='y')||(c=='y'))
goto 1;
break;
case 3: d: cout<<"\n Enter the Base of the rectangle (1-200)";
cin>>b;
if((b<=0)||(b>200))
{
cout<<"\n Invalid entry for base \n";
goto d;
}
p: cout<<"\n Enter the height of the rectangle (1-200)";
cin>>h;
if((h<=0)||(h>200))
{
cout<<"\n Invalid Height \n Enter the height (1-200)";
goto p;
}
a=b*h;
cout<<"\n The area is :"<<a;
cout<<"\n Want to enter more?(y/n)";
cin>>c;
if((c=='y')||(c=='y'))
goto 1;
break;
case 4 : t: cout<<"\n Enter the radius of the circle (1-200)";
cin>>b;
if((b<=0)||(b>200))
{
cout<<"\n Invalid entry for radius \n";
goto t;
}
a=3.14*b*b;
cout<<"\n The area is :"<<a;
cout<<"\n Want to enter more?(y/n)";
cin>>c;
if((c=='y')||(c=='y'))
goto 1;
break;
case 5 : exit(0);
break;
default : cout<<"\n Wrong Choice:";
goto 1;
}
getch();
}
Test cases: In Equivalence class testing, we find two types of equivalence classes; input
domain and output domain;
Input domain is formed from one valid sequence and two invalid sequences. The output
domain is obtained from different types of output of a problem.
For Triagle:
Input domain:::
I1 = {h : h<=0}
I2 = {h : H>200}
I3 = {h : 1<=h<=200}
I4 = {b : b<=0}
I5 = {b : b>200}
I6 = {b : 1<=b<=200}
Test cases:
Test case ID h b Expected output
1. 0 100 Invalid input
2. 100 100 5000
3. 201 100 Invalid input
4. 100 0 Invalid input
5. 100 100 5000
6. 100 201 Invalid input
Output domain:::
For square:
Input domain:::
I1={s : s<=0}
I2={s : s>200}
I3={s : 1<=s<=200}
Test cases:
Test case ID S Expected output
1. 0 Invalid input
2. 100 10000
3. 201 Invalid input
Output domain:::
For Rectangle:
Input domain:::
I1 = { l : l <=0}
I2 = { l : l>200}
I3 = { I : 1<=l <=200}
I4 = { b : b<=0}
I5 = { b : b>200}
I6 = { b : 1<=b<=200}
Test cases:
Output domain:::
For Circle:
Input domain:::
I1 = {r: r<=0}
I2 = {r : r>200}
I3 = { r: 1<=r<=200}
Test cases:
Test Cases r Expected output
1. 0 Invalid input
2. 100 31400
3. 201 Invalid input
Output domain:
5. Flow graph
6. DD path graph
7. Independent path
8. Cyclomatic complexity
#include<stdio.h>
#include<conio.h>
int main()
{
int a,b,c,validinput=0;
printf("Enter the side ‘a’ value");
scanf("%d",&a);
printf("Enter the side ‘b’ value");
scanf("%d",&b);
printf("Enter the side ‘c’ value");
scanf("%d",&c);
if((a>0)&&(a<100)&&(b>0)&&(b<100)&&(c>0)&&(c<100))
{
if(((a+b)>c)&&((c+a)>b)&&((b+c)>a))
{
validinput=1;
}
}
else
{
validinput=-1;
}
if(validinput==1)
{
if((a==b)&&(b==c))
{
printf("The triangle is equilateral");
}
else if((a==b)||(b==c)||(c==a))
{
printf("The triangle is isosceles");
}
else
{
printf("The triangle is scalene");
}
}
else if(validinput==0)
{
printf("The value do not constitute the triangle");
}
else
{
printf("The input belongs to invalid range");
}
getch();
return 1;
}
1. Flow Graph: It shows that how the control and data is flow from one node to
another node. The flow graph for the following program is given below:
2. DD path graph:
3. Independent path : It is a path in the flow graph that has at least one edge that
has not been traversed before in other path.
1. ABFGNPQR
2. ABFGNOQR
3. ABCEGNPQR
4. ABCDGINOQR
5. ABFGHIMQR
6. ABFGHJKMQR
7. ABFGHJLMQR