Cse R18 Iii-I Se Lab Instruction Manual

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 88

St.

PETER’S ENGINEERING COLLEGE


UGC-Autonomous

Department of Computer Science and Engineering


CS505PC: SOFTWARE ENGINEERING LAB

Class : III Year I Semester Regulation:R-18

Prepared By

P.Nethrasri
Dept of CSE

Academic Year: 2021-22

Department of Computer Science & Engineering


Opp. Forest Academy,Kompally Road, Dullapally,
Maisammaguda, Medchal (M)
R.R.Dist., Hyderabad
SOFTWARE ENGINEERING LAB Department of CSE


INSTITUTE VISION

To promote quality education accessible to all sections of the society without


any discrimination of caste, creed, color, gender and religion and helps the
students to discover their true potential.

INSTITUTE MISSION

IM1 To provide and equip the stakeholders with knowledge, skills, social
values, ethics, scientific attitude and orientation for lifelong learning.

IM2To create an environment conducive to inhabitating the total involvement


and participation.

IM3 Provide infrastructure to arm the students with the competence to be at the
forefront of cutting edge technology and entrepreneurship in the highly
competitive global market.

SPEC,HYD Page 2
SOFTWARE ENGINEERING LAB Department of CSE




DEPARTMENT VISION

To emerge as a centre for computer technology meeting the needs ofsociety.

DEPARTMENT MISSION

DM1: To provide quality education towards academic and industry


requirements.

DM2: To offer state-of-art infrastructure for research and professional skill


development through value added programs.

DM3: To promote student centric activities that encourage interpersonal skills.

SPEC,HYD Page 3
SOFTWARE ENGINEERING LAB Department of CSE


PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

Program Educational Objective 1

LEARN AND INTEGRATE

Graduates shall apply knowledge to solve computer science and allied


engineering problems with continuous learning.

Program Educational Objective 2

THINK AND CREATE

Graduates are inculcated with a passion towards higher education and research
with social responsibility.

Program Educational Objective 3

COMMUNICATE AND ORGANIZE

Graduates shall pursue career in industry, empowered with professional and


interpersonal skills.

SPEC,HYD Page 4
SOFTWARE ENGINEERING LAB Department of CSE


PROGRAM OUTCOMES (POs):

PO-01 ENGINEERING KNOWLEDGE: Apply the knowledge of mathematics,


science, engineering fundamentals, and an engineering specialization to the
solution of complex engineering problems.

PO-02 PROBLEM ANALYSIS: Identify, formulate, research literature, and analyze


complex engineering problems reaching substantiated conclusions using first
principles of mathematics, natural sciences, and engineering sciences.

PO-03 DESIGN/DEVELOPMENT OF SOLUTIONS: Design solutions for


complex engineering problems and design system components or processes
that meet the specified needs with appropriate consideration for the public
health and safety, and the cultural, societal, and environmental considerations.

PO-04 CONDUCT INVESTIGATIONS OF COMPLEX PROBLEMS: Use


research-based knowledge and research methods including design of
experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.

PO-05 MODERN TOOL USAGE: Create, select, and apply appropriate techniques,
resources, and modern engineering and IT tools including predictionand
modeling to complex engineering activities with an understanding of the
limitations.

PO-06 THE ENGINEER AND SOCIETY: Apply reasoning informed by the


contextual knowledge to assess societal, health, safety, legal and cultural
issues and the consequent responsibilities relevant to the professional
engineering practice.

PO-07 ENVIRONMENT AND SUSTAINABILITY: Understand the impact of the


professional engineering solutions in societal and environmental contexts, and
demonstrate the knowledge of, and need for sustainable development.

PO-08 ETHICS: Apply ethical principles and commit to professional ethics and
responsibilities and norms of the engineering practice.

PO-09 INDIVIDUAL AND TEAM WORK: Function effectively as an individual,


and as a member or leader in diverse teams, and in multidisciplinary settings.
PO-10 COMMUNICATION: Communicate effectively on complex engineering
activities with the engineering community and with society at large, such as,
being able to comprehend and write effective reports and design
documentation, make effective presentations, give and receive clear
instructions.

SPEC,HYD Page 5
PO-11 PROJECT MANAGEMENT AND FINANCE: Demonstrate knowledge
and understanding of the engineering and management principles and apply
these to one‟s own work, as a member and leader in a team, to manage
projects and in multidisciplinary environments.

PO-12 LIFE-LONG LEARNING: Recognize the need for, and have the preparation
and ability to engage in independent and life-long learning in the broadest
context of technological change.

PROGRAM SPECIFIC OUTCOMES (PSO’s):

PSO-1 APPLICATIONS OF COMPUTING DOMAIN AND RESEARCH:


Able to use the professional , managerial, interdisciplinary skill set , and
domain specific tools, in development processes , identify the research gaps ,
and provide innovative solutions to them.

PSO-2 COMPETITIVEAPPLICATIVE: An ability to succeed in competitive


examinations like GATE, TOEFL, GREetc.

SPEC,HYD Page 6
SOFTWARE ENGINEERING LAB Department of CSE

Syllabus
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
III Year B.Tech. CSE I-Sem L T P C
0 0 3 1.5
Prerequisites
1. A course on “Programming for Problem Solving”
Co-requisite
1. A Course on “Software Engineering”
Course Objectives:
• To have hands on experience in developing a software project by using various softwareengineering
principles and methods in each of the phases of software development.
Course Outcomes:
• Ability to translate end-user requirements into system and software requirements
• Ability to generate a high-level design of the system from the software requirements
• Will have experience and/or awareness of testing problems and will be able to develop a simpletesting report
List of Experiments
Do the following 8 exercises for any two projects given in the list of sample projects or any otherprojects:
1. Development of problem statement.
2. Preparation of Software Requirement Specification Document, Design Documents and TestingPhase related
documents.
3. Preparation of Software Configuration Management and Risk Management related documents.
4. Study and usage of any Design phase CASE tool
5. Performing the Design by using any Design phase CASE tools.
6. Develop test cases for unit testing and integration testing
7. Develop test cases for various white box and black box testing techniques.
Sample Projects:
1. Passport automation System
2. Book Bank
3. Online Exam Registration
4. Stock Maintenance System
5. Online course reservation system
6. E-ticketing
7. Software Personnel Management System
8. Credit Card Processing
9. E-book management System.
10. Recruitment system
TEXT BOOKS:
1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition, Mc Graw HillInternational
Edition.
2. Software Engineering- Sommerville, 7th edition, Pearson Education.
3. The unified modeling language user guide Grady Booch, James Rambaugh, Ivar Jacobson,Pearson
Education.




SPEC,HYD Page 7
SOFTWARE ENGINEERING LAB Department of CSE


Course objectives
1 To have hands on experience in developing a software project by using various
software engineering principles and methods in each of the phases of software
development.

Course Outcomes
Course Bloom’s
Course Outcome
Outcome Taxonomy level
Statement

Ability to translate end user requirements into system and


C317.1 Apply
software requirements.

Ability to create and generate a high level design of the


C317.2 Create
system from the software requirements.

Examine awareness of testing problems and will be ableto


C317.3 develop a simple testing report Evaluate

SPEC,HYD Page 8
SOFTWARE ENGINEERING LAB Department of CSE


COURSE: SOFTWARE ENGINEERING LAB(CS501PC)

CLASS / SEM:III B.TECH. CSE /I SEM SECTION: A , B & C

NAME OF THE FACULTY: P.Nethrasri A.Y:2021-22

CO-PO MAPPING

PO PO PO PO PO PO PO PO PO PO PO PO
PSO1 PSO2
1 2 3 4 5 6 7 8 9 10 11 12

C317.1 1 2 2 3 2
C317.2 1 1 2 3 2
C317.3 1 2 2 3 2
C317 1 1.8 2 3 2

C317.1 Ability to translate end-user requirements into system and software requirements(Apply)

Justification
Po1 Requires basic knowledge of User Requirement
Po2 Identify &Analyses the user requirement and system requirement
Po3 Designs and develops the project according to the end user requirements
Po5 By applying the use case tools the projects will be created
Pso1 Identify specific tools and solutions

C317.2: Examine awareness of testing problems and will be able to develop a simple
testing report security (Evaluate)

Justification
Po1 Requires the knowledge of Testing techniques
Po2 Analyses the use of alpha testing and Beta testing
Po3 Designs and develops testing strategy.
Po5 Function effectively as an individual in finding solutions to problems.
Pso1 Identify specific tools and solutions

SPEC,HYD Page 9
SOFTWARE ENGINEERING LAB Department of CSE


C317.3: Examine awareness of testing problems and will be able to develop a simple
testing reportsecurity (Evaluate)

Justification
Po1 Requires the knowledge of Testing techniques
Po2 Analyses the use of alpha testing and Beta testing
Po3 Designs and develops testing strategy.
Po5 Function effectively as an individual in finding solutions to problems.
Pso1 Identify specific tools and solutions
Po1 Requires the knowledge of Testing techniques

SPEC,HYD Page 10
SOFTWARE ENGINEERING LAB Department of CSE


SOFTWARE ENGINEERING LAB INDEX
S.No TOPIC Pg.No
Passport automation System 17
1 1) Development of problem statement.
2) Preparation of Software Requirement SpecificationDocument, Design
Documents and Testing Phase related documents.
3) Preparation of Software Configuration Management andRisk Management related
documents.
4) Study and usage of any Design phase CASE tool
5) Performing the Design by using any Design phase CASEtools.
Develop test cases for unit testing and integration testingDevelop test cases for various white box
and black box testing techniques
Online Exam Registration 28
2 1) Development of problem statement.
2) Preparation of Software Requirement SpecificationDocument, Design
Documents and Testing Phase related documents.
3) Preparation of Software Configuration Management andRisk Management related
documents.
4) Study and usage of any Design phase CASE tool
5) Performing the Design by using any Design phase CASEtools.
6) Develop test cases for unit testing and integration testing
Develop test cases for various white box and black box testingtechniques

ADDITIONAL EXPERIMENTS

1 ATM Management system 47


Credit Card Processing
2
VIVA QUESTIONS
58
OPEN ENDED PROGRAMS
64

SPEC,HYD Page 11
SOFTWARE ENGINEERING LAB Department of CSE

COURSE MAPPING
S.No EXPERIMENT PO PSO CO JUSTIFIC
ATION
1. Passport automation System PO1, PSO1 C317.1/ Able
1) Development of problem PO2, PI3.5.6 to
statement. PO3,PO5 create
2) Preparation of Software a
Requirement Specification proble
Document, Design m
Documents and Testing state
ment
Phase related documents.
using
3) Preparation of Software
Configuration Management and CASE
Risk Management related TOO
documents. LS
4) Study and usage of any Design and
phase CASE tool Apply
5) Performing the Design by using testin
any Design phase CASE tools. g
6) Develop test cases for unit Techn
testing and integration testing iques
Develop test cases for various white box
and black box testing techniques.
2. Online Exam Registration PO1, PO2, PSO1 C317.2&3/ Ab
1) Development of problem PO 3PO5 PI3.5.6&PI le
statement. 3.5.6.1 to
2) Preparation of Software cre
Requirement Specification ate
Document, Design a
Documents and Testing we
bp
Phase related documents.
age
3) Preparation of Software
Configuration Management and for
Risk Management related onl
documents. ine
4) Study and usage of any Design Ex
phase CASE tool am
5) Performing the Design by using
any Design phase CASE tools.
6) Develop test cases for unit
testing and integration testing
Develop test cases for various white box and
black box testing.

SPEC,HYD Page 12
SOFTWARE ENGINEERING LAB Department of CSE


Additional Programs
1 ATM Management system PO1, PSO1 C317.3 Able to evaluate the
PO3,P testing project for
05 ATM
Open Ended Programs
1 Study of Agile Methods

SPEC,HYD Page 13
SOFTWARE ENGINEERING LAB Department of CSE


Required Work

There will be homework assignments of about 2 software projects, most of which will
involve programming. Assignments are due at the beginning of its theoretic class on the date
specified. Late assignments will receive 75% of full credit if they are handed in within one
week of the specified due date. After one week, no credit will be given or else losing of
credits is made in practice. There is no specific attendance policy for the course, although it
is expected that absences will leave the student unprepared for tests and assignments. Tests
will not be rescheduled except in extreme circumstances. However, the lowest quiz grade
will be dropped. Grades will be determined as follows:
Day – to- Day evaluation Marks 10 marks
Record 05 marks
Internal practical Examination 10 marks
Final Exam (University / External End Exam) 50 marks

At the minimum, traditional grading cutoffs will apply. That is, 90% is guaranteed an A, 87% is
guaranteed a B+, etc. Depending on class performance, some shifting of grades (in an upward
direction only) may occur as final letter grades are assigned.

SPEC,HYD Page 14
SOFTWARE ENGINEERING LAB Department of CSE

LIST OF PROGRAMS

SPEC,HYD Page 15
SOFTWARE ENGINEERING LAB Department of CSE



LIST OF PROGRAMS:

S.No. TOPIC
Passport automation System
1 1) Development of problemstatement.
2) Preparation of Software Requirement SpecificationDocument, Design
Documents and Testing Phase related documents.
3) Preparation of Software Configuration Management andRisk Management related
documents.
4) Study and usage of any Designphase CASE tool
5) Performing the Design by using any Design phase CASE tools.
6) Develop test cases for unit testing and integration testing
Develop test cases for various white boxand black box testing techniques.
Online Exam Registration
2 1) Development of problemstatement.
2) Preparation of Software Requirement SpecificationDocument, Design
Documents and Testing Phase related documents.
3) Preparation of Software Configuration Management andRisk Management related
documents.
4) Study and usage of any Designphase CASE tool
5) Performing the Design by usingany Design phase CASE tools.
6) Develop test cases for unit testing and integration testing
Develop test cases for various white box and black box testing.
ADDITIONAL PROGRAMS
ATM Management system
1.

OPEN ENDED PROGRAMS


1 Study of Agile Method

SPEC,HYD Page 16
SOFTWARE ENGINEERING LAB Department of CSE


Experiment 1:
Passport automation System
1) Development of problem statement.
2) Preparation of Software Requirement SpecificationDocument, Design Documents and Testing
Phase related documents.
3) Preparation of Software Configuration Management and Ri sk Management related documents.
4) Study and usage of any Design phase CASE tool
5) Performing the Design by using any Design phase CASE tools.
6) Develop test cases for unit testing and integration testing
7) Develop test cases for various white boxand black box testing techniques.

AIM: To Analyze the Problems, Gather the SRS(Software Requirements Specification) and Model the UML or
OOAD diagrams for "Passport Automation System"

1) Problem Statement :

Passport Automation System is used in the effective dispatch of passport to all of the applicants. This
system adopts a comprehensive approach to minimize the manual work and schedule resources, time in
a cogent manner. The core of the system is to get the online registration form (with details such as
name, address etc.,) filled by the applicant whose testament is verified for its genuineness by the
Passport Automation System with respect to the already existing information in the database. This
forms the first and foremost step in the processing of passport application. After the first round of
verification done by
the system, the information is in turn forwarded to the regional administrator's (Ministry of External
Affairs) office. The application is then processed manually based on the report given by the system,
and any forfeiting identified can make the applicant liable to penalty as per the law. The system also
provides the applicant the list of available dates for appointment to 'document verification' in the
administrator's office, from which they can select one. The system forwards the necessary details to the
police for its separate verification whose report is then presented to the administrator. The
administrator will be provided with an option to display the current status of application to the
applicant, which they can view in their online interface. After all the necessary criteria has been met,
the original information is added to the database and the passport is sent to the applicant.

2) SOFTWARE REQUIREMENTS SPECIFICATION:

1.0 Introduction
Passport Automation System is an interface between the Applicant and the Authority responsible for
the Issue of Passport. It aims at improving the efficiency in the Issue of Passport and reduce the
complexities involved in it to the maximum possible extent.

1.1 Purpose
If the entire process of 'Issue of Passport' is done in a manual manner then it would take several months
for the passport to reach the applicant. Considering the fact that the number of applicants for passport is
increasing every year, an Automated System becomes essential to meet the demand. So this system
uses several programming and database techniques to elucidate the work involved in this process. As
this is a matter of National Security, the system has been carefully verified and validated in order to
satisfy it.

SPEC,HYD Page 17
SOFTWARE ENGINEERING LAB Department of CSE

1.2 Scope
• The System provides an online interface to the user where they can fill in their personal details and
submit the necessary documents (may be by scanning).

The authority concerned with the issue of passport can use this system to reduce his workload and process the application
In a speedy manner.
• Provide a communication platform between the applicant and the administrator.
• Transfer of data between the Passport Issuing Authority and the Local Police for verification of applicant's information.
Users/Applicants will come to know their status of application and the date in which they must subject themselves for
manual document verification.

1.3 Definitions, Acronyms and the Abbreviations


• Administrator - Refers to the super user who is the Central Authority who has been vested with the privilege to manage
the entire system. It can be any higher official in the Regional Passport Office of Ministry of External Affairs.
• Applicant - One who wishes to obtain the Passport.
• PAS - Refers to this Passport Automation System.
• HTML - Markup Language used for creating web pages.
• J2EE – Java 2 Enterprise Edition is a programming platform and it is the part of the java platform for developing and
running distributed java applications.
• HTTP - Hyper Text Transfer Protocol.
• TCP/IP – Transmission Control Protocol/Internet Protocol is the communication protocol used to connect hosts on the
Internet.

1.4 References
IEEE Software Requirement Specification format.

1.5 Technologies to be used


• HTML
• JSP
• Javascript
• Java
• XML
• AJAX

1.6 Tools to be Used


• Eclipse IDE ( Integrated Development Enivronment)
• Rational Rose tool ( for developing UML Patterns)

1.7 Overview
SRS includes two sections overall description and specific requirements - Overall description will describe major role of the
system components and inter-connections. Specific requirements will describe roles & functions of the actors.

3) Preparation of Software Configuration Management and Risk Management related documents.

4) Study and usage of any Design phase CASE tool:

Star UML is a UML (Unified Modeling Language) tool, introduce by MKLab. It is an open-source modeling
tool that supports the UML framework for system and software modeling. StarUML is based on UML version
1.4, it provides 11 different types of diagram and it accepts UML 2.0 notation. Version 2.0 was released for beta
testing under a property license.

StarUML is actively supporting the MDA (Model Driven Architecture). It approaches by supporting the UML
profile concept and allowing it to generate code for multiple languages. It also provides a number of bug fixes
and improved compatibility with the modern versions of the Windows Operating System. StarUML is mostly
used by the Agile and small development teams, professional persons and used by the educational institutes.

SPEC,HYD Page 18
SOFTWARE ENGINEERING LAB Department of CSE

Features of StarUML :
1. It supports multi-platform such as macOS, Windows, and Linux.
2. It involves UML 2.x.standard compliant.
3. Includes Entity-Relationship diagram (ERD), Data-flow diagram (DFD), and Flowchart diagram. 4. It
creates multiple windows. 5. It has modern UX and dark and light themes. 6. Featured with retina (High-DPI)
display support. 7. Includes model-driven development. 8. It has open APIs. 9. Supports various third-party
extensions. 10. Asynchronous model validation.

5) Performing the Design by using any Design phase CASE tools.


USE CASE DIAGRAM:
The UML provides the use case diagram notation to illustrates the name of the use case actors and relationship between
them.

SEQUENCE DIAGRAM:

• A sequence diagram illustrates in a kind of format in which each object interact via messages. It is generalization between
two or more specification diagram.
• Sequence diagram is an interaction over view diagram. It provides a big picture over view of now a set of interaction is
related in terms of logic and process flow.

SPEC,HYD Page 19
SOFTWARE ENGINEERING LAB Department of CSE

Check Status:

Admin Panel :

COLLABORATION DIAGRAM:

• It illustrates that object interaction in a graph or network format in which object can be placed any where on the diagram.
• In collaboration diagram the relationship between applicant, system admin and authority. The people must fill the
application form according to detailed furnished. The system admin verifies the all details and forward details to authority.
He is enquiry the person and then issue the passport to applicant.

New Registration:

SPEC,HYD Page 20
SOFTWARE ENGINEERING LAB Department of CSE

Check Status:

Admin Panel:

SPEC,HYD Page 21
SOFTWARE ENGINEERING LAB Department of CSE

CLASS DIAGRAM:

• The UML include the class diagram, to illustrate and their association. They are used for static object
modeling.

STATE CHART DIAGRAM:

• It illustrates the intrusting events and state of an object and behaviors of an object is reaction to an event.
Transaction shows as allows labeled with theirs event. It is included with initial pseudo state and final end
state.
• The state chart diagram of passport automation system that the service of authority, who is issues the
passport received by the applicant and getting the passport.

SPEC,HYD Page 22
SOFTWARE ENGINEERING LAB Department of CSE


ACTIVITY DIAGRAM:

• Activity diagram shows sequential and parallel activities in a process. They are useful for modeling business, workflows,
the data flows and complex algorithm.
• A UML activity diagram offers rich notation to flows a sequential of activities. It may be including parallel activities. It
may be applied to any purpose, but it is popular for visualization of business workflows and use case.

New Registration:

Check Status:

SPEC,HYD Page 23
SOFTWARE ENGINEERING LAB Department of CSE



Admin Panel :

COMPONENT DIAGRAM:

• A component represent a modular part of a system, that encapsulates it contents and whose
manifestation is replaced with in its environment. A component define its behaviors in terms of provide
and required interfaces.
• Here the three components are applicant, system admin and authority.
• The interface between people and system admin, from people to authority.

SPEC,HYD Page 24
SOFTWARE ENGINEERING LAB Department of CSE


DEPLOYMENT DIAGRAM:

• A deployment shows the assignment of concrete artifacts to computational nodes. It shows the
deployment of software elements to the physical architecture, and the communication. Deployment
diagrams are useful to communicate the physical and deployment architecture.
• In the deployment diagram the object reference in component diagram is also included the deployment
diagram. In this authority and system admin, interface through the people.
• It is the process of installing the program.

SPEC,HYD Page 25
SOFTWARE ENGINEERING LAB Department of CSE

6) Develop test cases for unit testing and integration testing



UNIT TESTING:

Unit testing refers to tests that verify the functionality of a specific section of code,
usually at the function level. In an object-oriented environment, this is usually at the
class level, and the minimal unit tests include the constructors and destructors.
These type of tests are usually written by developers as they work on code (white-box
style), to ensure that the specific function is working as expected. One function might
have multiple tests, to catch corner cases or other branches in the code. Unit testing
alone cannot verify the functionality of a piece of software, but rather is used to assure
that the building blocks the software uses work independently of each other.

Unit testing is also called component testing.
Test cases:
1. Check for Username.
2. Check for password if it is according to the client requirements
3. Check if the login is a button or not

INTEGRATION TESTING
Integration testing is any type of software testing that seeks to verify the interfaces
between components against a software design. Software components may be integrated
in an iterative way or all together ("big bang"). Normally the former is considered a
better practice since it allows interface issues to be localised more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction between
integrated components (modules). Progressively larger groups of tested software
components corresponding to elements of the architectural design are integrated and
tested until the software works as a sytem.

Test Cases:
1. Check if when Login button is pressed, whether we are going to the next page or not.
2. Check if any link is working directly to move from one page to the other.

7) Develop test cases for various white box and black box testing techniques.

White Box Testing is software testing technique in which internal structure, design and coding of
software are tested to verify flow of input-output and to improve design, usability and security. In
white box testing, code is visible to testers so it is also called Clear box testing, Open box testing,
Transparent box testing, Code-based testing and Glass box testing.

SPEC,HYD Page 26
Black Box Testing
Black Box Testing is a software testing method in which the functionalities of software applications are tested without
having knowledge of internal code structure, implementation details and internal paths. Black Box Testing mainly
focuses on input and output of software applications and it is entirely based on software requirements and specifications.
It is also known as Behavioral Testing.

SPEC,HYD Page 27
SOFTWARE ENGINEERING LAB Department of CSE


Experiment 2:

Book Bank

1. Development of problem statement.




A Book Bank lends books and magazines to member, who is registered in the system.
Also it handles the purchase of new titles for the Book Bank. Popular titles are brought into
multiple copies. Old books and magazines are removed when they are out or date or poor in
condition. A member can reserve a book or magazine that is not currently available in the book
bank, so that when it is returned or purchased by the book bank, that person is notified. The book
bank can easily create, replace and delete information about the tiles, members, loans and
reservations from the system.

2. Preparation of Software Requirement Specification Document, Design Documents and Testing


Phase related documents.

Users Characteristics:
Student: They are the people who desire to obtain the books and submit the information to the database.
Librarian: He has the certain privileges to add the books and to approval of the reservation of books.
System Modules:
Log in: Secure registration of student and librarian by filling online registration form.
Book bank: Book bank contains all the books. New book added to the book bank with bookno, title
name, author, edition, publisher name details to the database. Any book is deleted if damaged. Update of
the book information also done.
Operations: student and administrator perform their operations like add book, delete book, update
information, view book details are implemented in log in WebPages.

Non-functional requirements:
Privacy: privacy maintained for each and every user by providing user credentials username and password.
Portability: installation on multiple platforms and execution of software.

Software Requirements:
Operating sytem: windows 7/10 Front end : J2EE
Back end : My SQL Server
IDE used : Netbeans

Hardware Requirements:
Processor:i3 or higher RAM : 4 GB



SPEC,HYD Page 28

3. Preparation of Software Configuration Management and Risk Management related documents.

3.1 Users Characteristics:


Student: They are the people who desire to obtain the books and submit the information to the database.
Librarian: He has the certain privileges to add the books and to approval of the reservation of books.
System Modules:
Log in: Secure registration of student and librarian by filling online registration form.
Book bank: Book bank contains all the books. New book added to the book bank with bookno, title
name, author, edition, publisher name details to the database. Any book is deleted if damaged. Update of
the book information also done.
Operations: student and administrator perform their operations like add book, delete book, update
information, view book details are implemented in log in WebPages.
3.2 Non-functional requirements:
Privacy: privacy maintained for each and every user by providing user credentials username and
password.
Portability: installation on multiple platforms and execution of software.
3.3 .Preparation of Software Configuration Management
Software Requirements: Operating sytem: windows 7/10 Front end : J2EE
Back end : My SQL Server
IDE used : Netbeans

4. Study and usage of any Design phase CASE tool



STARUML

How to Install StarUML on Windows 10


StarUML is a UML (Unified Modeling Language) tool, introduce by MKLab. It is an open-source
modeling tool that supports the UML framework for system and software modeling. StarUML is based
on UML version 1.4, it provides 11 different types of diagram and it accepts UML 2.0 notation. Version
2.0 was released for beta testing under a property license.
StarUML is actively supporting the MDA (Model Driven Architecture). It approaches by supporting the
UML profile concept and allowing it to generate code for multiple languages. It also provides a number
of bug fixes and improved compatibility with the modern versions of the Windows Operating System.

StarUML is mostly used by the Agile and small development teams, professional persons and used by the
educational institutes

Diagram Types in StarUML


1. Use Case Diagram

2. Class Diagram

3. Sequence Diagram

4. Collaboration Diagram

SPEC,HYD Page 29
5. Statechart Diagram

Component Diagram

7. Deployment Diagram

8. Composite Structure Diagram



Features of StarUML

1. It supports multi-platform such as macOS, Windows, and Linux.

2. It involves UML 2.x.standard compliant.

3. Includes Entity-Relationship diagram (ERD), Data-flow diagram (DFD), and Flowchart diagram.

4. It creates multiple windows.

5. It has modern UX and dark and light themes.

6. Featured with retina (High-DPI) display support



7. Includes model-driven development.

8. It has open APIs.

9. Supports various third-party extensions.

10. Asynchronous model validation.

11. It can export to HTML docs.

Steps to Download and Install StarUML


Step 1: Go on the browser, type in the URL “StarUML” Step 2: Click on the very first search
“Download-StarUML”.

Step 3: There will be 3 Operating Systems (OS) options, click on the option as per the devise OS.

Step 4: Now, right-click on the downloaded file, select “Show in Folder” option. Step 5: Click on the open
file, a popup window opens, click on the “Yes” button.

Step 6: Installation gets start. After installation popup opens to ask to buy a license. If you want to click
on the “Buy Now” button or else close that window. StarUML is ready to use.

SPEC,HYD Page 30
SOFTWARE ENGINEERING LAB Department of CSE

7. Performing the Design by using any Design phase CASE tools CASE Tool: StarUML
Use_Case Diagram:

The book bank use cases are:

1. book_issue

2. book_return

3. book_order

4. book_entry

5. search book_details

Actors Involved:

1. Student

2. Librarian
3. Vendor

Usecase Name : Search Book_Details


The librarian initiates this use case when any member returns or request the book and checking if the book is
available.
Precondition: The librarian should enter all Book details.
Normal Flow: Build message for librarian who search the book.
Post Condition: Send message to respective member who reserved the book.
Usecase Name : Book_Issue
Initiated by librarian when any member wants to borrow the desired book. If the book is available, the book is
issued.
Precondition: Member should be valid member of library.
Normal Flow: Selected book will be issued to the member.
Alternative Flow: If book is not available then reserved book use case should be initiate. Post Condition:
Update the catalogue.

Use case Name : Book_Order

Initiated by librarian when the requested book is not available in the library at that moment.
The book is reserved for the future and issued to the person when it is available.
Precondition: Initiated only when book is not available.
Normal Flow: It reserved the book if requested.
Post Condition : Mention the entry in catalogue for reservation.
Usecase Name : Book_Return
Invoked by the librarian when a member returns the book.
SPEC,HYD Page 31
Precondition: Member should be valid member of library.
Normal Flow: Librarian enters book id and system checks for return date of the book. Alternative Flow:
System checks for return date and if it returned late fine message will be displayed.
Post Condition: Check the status of reservation.

Usecase Name : Book_Entry


The purchase book use-case when new books invoke it or magazines are added to the library.
Precondition: Not available or more copies are required.
Normal Flow: Enter bookid,author information, publication information, purchased date, prize and number of
copies.
Post Condition: Update the information in catalogue.
Figure 1. Usecase diagram for Book Bank System
Activity Diagram:

Figure 1. Use case diagram for Book Bank System

SPEC,HYD Page 32
Activity Diagram:
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support
for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to
describe the business and operational step-by-step workflows of components in a system. An activity diagram
shows the overall flow of control. An activity is shown as an rounded box containing the name of the operation.
This activity diagram describes the behaviour of the system.

Figure 2. Activity Diagram for Book Bank System [borrow book]

SPEC,HYD Page 33
Figure 3. Activity Diagram for Book Bank System [order book]

Figure 4. Activity Diagram for Book Bank System [Return book]



SPEC,HYD Page 34
SOFTWARE ENGINEERING LAB Department of CSE

Sequence Diagram:
A sequence diagram represents the sequence and interactions of a given USE-CASE or scenario.
Sequence diagrams can capture most of the information about the system. Most object to object interactions
and operations are considered events and events include signals, inputs, decisions, interrupts, transitions and
actions to or from users or external devices.
An event also is considered to be any action by an object that sends information. The event line
represents a message sent from one object to another, in which the “form” object is requesting an operation be
performed by the “to” object. The “to” object performs the operation using a method that the class contains.
It is also represented by the order in which things occur and how the objects in the system send message to one
another.

SPEC,HYD Page 35
SOFTWARE ENGINEERING LAB Department of CSE

Figure 5. Sequence Diagram For Book Issue & Return

SPEC,HYD Page 36
SOFTWARE ENGINEERING LAB Department of CSE

Class Diagram:
The class diagram, also referred to as object modeling is the main static analysis diagram. The main task of object
modeling is to graphically show what each object will do in the problem domain. The problem domain describes
the structure and the relationships among objects.

The Book Bank system class diagram consists of four classes:

1. Student

2. Book

3. Issue

4. Return

5. Vendor

6. Details

1) Student:
It consists of twelve attributes and three operations. The attributes are enrollno, name, DOB, fathername,
address, dept name, batch and book limits. The operations of this class are addStInfo(), deleteStInfo(),
modifyStInfo().
2) Book:
It consists of ten attributes and four operations. This class is used to keep book information such as author,
title, vendor, price, etc
3) Issue:
It consists of eight attributes and two operations to maintain issue details such as, issue date, accno of issued
book, name of the student who borrowed book.
4) Return:
It consists of eight attributes and two operations to maintain issue details such as, issue date, accno of issued
SPEC,HYD Page 37
book, name of the student who borrowed book.
5) Students:
The attributes of this class are name, dept ,year ,bcode no The operation is display students().
6) Detail:
The attributes of this class are book name, author, bcode no The operations are delete details().

Figure 7. Class Diagram For Book Bank System

SPEC,HYD Page 38
SOFTWARE ENGINEERING LAB Department of CSE

State Chart Diagram


It consists of state, events and activities. State diagrams are a familiar technique to describe the behavior of a
system. They describe all of the possible states that a particular object can get into and how the object's state
changes as a result of events that reach the object.

Figure 8. State Chart Diagram for BookBank System


Deployment Diagram and Component Diagram
Deployment diagrams are used to visualize the topology of the physical components of a system where the software
components are deployed.

Figure 9: Deployment Diagram for Book Bank System

8. Develop test cases for unit testing and integration testing


9. Develop test cases for various white box and black box testing techniques.

SPEC,HYD Page 39
SOFTWARE ENGINEERING LAB Department of CSE



SPEC,HYD Page 40
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 41
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 42
SPEC,HYD Page 43
SPEC,HYD Page 44
SPEC,HYD Page 45
ADDITIONAL PROGRAMS

SPEC,HYD Page 46
SOFTWARE ENGINEERING LAB Department of CSE

Experiment 1:

ATM management System:

1. Development of problem statement.

ATM system has a drastic change to that of the olderversion of banking system, customer feel inconvenient
with the transaction method as it wasin the hands of the bank employees.In our ATM system, the above problem
is overcome here, the transactions aredone in person by the customer thus makes the customers feel safe and
secure.Thus the application of our system helps the customer in checking the balanceand transaction of the
amount by validating the pin number therefore ATM system is moreuser friendly.

2. Preparation of Software Requirement Specification Document, Design Documents and Testing


Phase related documents.
This SRS defines External Interface, Performance and Software System Attributes requirements of ATM
version1.0. This document is intended for the following group of people:-
Developers for the purpose of maintenance and new releases of the software.
Management of the bank.
Documentation writers. Testers.

2.1
Scope:
This document applies to Automated Teller Machine software ATM version1.0. This software facilitates the user to
perform various transactions in his account without going to bank. This software offers benefits such cash
withdrawals, balance transfers, deposits, inquiries, credit card advances and other banking related operations for
customers. It also allows the administrator to fix the tariffs and rules as and when required. The software takes as
input the login Id and the bank account number of the user for login purposes. The outputs then comprise of an
interactive display that lets the user select the desirable function that he wants to perform. The software is expected
to complete in duration of six months and the estimated cost is Rs. 10 lakhs. 1.3 Definitions, Acronyms, and
Abbreviations.

2.2 Overview
Section 1.0 discusses the purpose and scope of the software.
Section 2.0 describes the overall functionalities and constraints of the software and user characteristics.
Section 3.0 details all the requirements needed to design the software.

The Overall Description

2.1 a Product Perspective


• The ATM is a single functional unit consisting of various sub components.
• This software allows the user to access their bank accounts remotely
• through an ATM without any aid of human bank teller.

SPEC,HYD Page 47
SOFTWARE ENGINEERING LAB Department of CSE

• This software also allows to perform various other functions apart from
• just accessing his bank account such as mobile bill clearings etc.
• Some of its hardware components are cassettes, memory, drives,
• dispensers i.e. for receipts and cash, a card reader, printer, switches, a

User Characteristics

There are different kinds of users that will be interacting with the system. The intended users of the
software are as follows:-

User A: A novice ATM customer. This user has little or no experience with electronic means of account
management and is not a frequent user of the product. User A will find the product easy to use due to
simple explanatory screens for each ATM function. He is also assisted by an interactive teaching
mechanism at every step of the transaction, both with the help of visual and audio help sessions.

User B: An experienced customer. This user has used an ATM on several occasions before and does most
of his account management through the ATM. There is only a little help session that too at the beginning
of the session thus making the transaction procedure more faster.

Maintenance Personnel: A bank employee. This user is familiar with the functioning of the ATM. This
user is in charge of storing cash into the ATM vault and repairing the ATM in case of malfunction. This
user is presented with a different display when he logs in with the administrator’s password and is
provided with options different from that of normal user. He has the authority to change or restrict various
features provided by the software in situations of repairing.

Constraints

The major constraints that the project has are as follows:-


The ATM must service at most one person at a time.
The number of invalid pin entries attempted must not exceed three. After three unsuccessful login
attempts, the card is seized/blocked and need tobe unlocked by the bank.
The simultaneous access to an account through both, the ATM and the bank is not supported.

The minimum amount of money a user can withdraw is Rs 100/- and the maximum amount of money a
user can withdraw in a session is Rs.10,000/- and the maximum amount he can withdraw in a day is Rs
20,000/-
Before the transaction is carried out, a check is performed by the machine to ensure that a minimum
amount of Rs 1000/- is left in the user’s account after the withdrawal failing which the withdrawal is
denied.
The minimum amount a user can deposit is Rs 100/- and the maximum amount he can deposit is Rs
10,000/-.
A user can select only that cellular operator for mobile bill clearings thatis supported by the bank.
The software requires a minimum memory of 20GB
The database used should be Oracle7.0.
There shall be a printer installed with the machine to provide the user with the printed statement of the
transaction.
SPEC,HYD
For voice interactions, speakers should also be there to accompany the machine. Page 48
SOFTWARE ENGINEERING LAB Department of CSE

Assumptions and Dependencies

The requirements stated in the SRS could be affected by the following factors:

One major dependency that the project might face is the changes that need to be incorporated with the
changes in the bank policies regarding different services. As the policies changes the system needs to be
updated with the same immediately. A delay in doing the same will result to tremendous loss to the
bank. So this shouldbe changed as and when required by the developer.
Another constraint relating to the operating environment is that we are specific to Oracle Database.
The project could be largely affected if some amount is withdrawn from the user’s account from the bank
at the same time when someone is accessing that account through the ATM machine. Such a condition
shall be taken care of.
At this stage no quantitative measures are imposed on the software in terms of speed and memory
although it is implied that all functions will be optimized with respect to speed and memory.

It is furthermore assumed that the scope of the package will increase considerably inthe future.

3. Preparation of Software Configuration Management and Risk Management related documents.

• External Interface Requirements

User Interface Requirements

The interface provided to the user should be a very user-friendly one and it should provide an optional
interactive help for each of the service listed. The interface provided is a menu driven one and the
following screens will be provided:-

1. A login screen is provided in the beginning for entering the required username/pin no. and account number.
2. An unsuccessful login leads to a reattempt (maximum three) screen for again entering the same information.
The successful login leads to a screen displaying a list of supported languages from which a user can select
any one.
3. In case of administrator, a screen will be shown having options to reboot system, shut down system, block
system, disable any service.
4. In case of reboot/ shut down, a screen is displayed to confirm the user’s will to reboot and also allow the user
to take any backup if needed.
5. In case of blocking system, a screen is provided asking for the card no. By entering the card no of a
particular user, system access can be blocked for him.
6. Administrator is also provided with a screen that enables him to block any service provided to the user by
entering the name of the service or by selecting it from the list displayed.
7. After the login, a screen with a number of options is then shown to the user. It contains all the options along
with their brief description to enable the user to understand their functioning and select the proper option.
8. A screen will be provided for user to check his account balance.
9. A screen will be provided that displays the location of all other ATMs of same bank elsewhere in the city.
10. A screen will be provided for the user to perform various transactions in his account.

The following reports will be generated after each session dealt with in themachine:-
1. The login time and logout time along with the user’s pin no and accountnumber is registered in the bank’s
database.

SPEC,HYD Page 49
SOFTWARE ENGINEERING LAB Department of CSE

2. The ATM’s branch ID through which the session is established is alsonoted down in the bank’s database.
3. Various changes in the user’s account after the transactions, if any, arereported in the database.
4. A printed statement is generated for the user displaying all thetransactions he performed.

Other various user interface requirements that need to be fulfilled are asfollows:-

The display screen shall be of 10" VGA color type.


The display screen shall have 256 color resolution.
The display screen shall also support touch screen facility.The speakers shall support Yamaha codecs.
The keypad shall consist of 16 tactile keys.There shall be 8 tactile function keys.
The keyboard will be weather resistant. The transaction receipt shall be 3.1" × 6".The statement receipt shall be
4.2" × 12".
The deposit envelopes shall be 9" long and 4" wide.

Hardware Interface Requirements

There are various hardware components with which the machine is required to interact. Various
hardware interface requirements that need to be fulfilled for successful functioning of the software are as
follows:-
The ATM power supply shall have a 10/220 V AC manual switch.
The ATM card should have the following physical dimensions:-
o Width -
o Height -
o Thickness -
The card reader shall be a magnetic stripe reader
The card reader shall have Smart card option.
Software Interface Requirements
In order to perform various different functions, this software needs to interact with various other
softwares. So there are certain software interface requirements that need to be fulfilled which are listed as
follows:-
The transaction management software used to manage the transaction and keep track of resources shall be
BMS version 2.0.
The card management software used to verify pin no and login shall be CMS version 3.0.
Yamaha codecs 367/98 for active speakers.
The database used to keep record of user accounts shall be Oracle version7.0.
Communication Interface Requirements
The machine needs to communicate with the main branch for each session for various functions such as
login verification, account access etc. so the following are the various communication interface
requirements that are needed to be fulfilled in order to run the software successfully:-
The system will employ dial-up POS with the central server for low cost communication.
The communication protocol used shall be TCP/IP.
Protocol used for data transfer shall be File Transfer Protocol.(FTP)


SPEC,HYD Page 50
SOFTWARE ENGINEERING LAB Department of CSE

4.Study and usage of any Design phase CASE tool

Uses STAR UML.

5. Performing the Design by using any Design phase CASE tools.


A) Class diagram for ATM System
Class diagrams commonly contain the following things

• Classes
• Interfaces
• Collaborations
• Dependency, generalization and association relationships

Procedure:-
Step1: First Classes are created.
Step2: Named as PinValid, Account Type, Transaction, Update, Server, Customer classes arecreated.
Step3: Appropriate relationships are provided between them as association.
DIAGRAM:

SPEC,HYD Page 51
SOFTWARE ENGINEERING LAB Department of CSE

Inferences:

1. understand the concept of classes


2. identify classes and attributes and operations for a class
3. model the class diagram for the system

Applications:
Online transaction
Online banking

SPEC,HYD Page 52
SOFTWARE ENGINEERING LAB Department of CSE

Use case diagram for ATMSystem.

INTERACTION DIAGRAMS

Contents of a Sequence Diagram

Objects
Focus of
control
Messages
Life line

Contents of a Collaboration Diagram

Objects
Links
Messages

SPEC,HYD Page 53
SOFTWARE ENGINEERING LAB Department of CSE


Sequence Diagram:

ATM ADMIN

check pin no

pin valid/invalid

check account

display status

check amount

display status

Update account

SPEC,HYD Page 54
SOFTWARE ENGINEERING LAB Department of CSE



Collaboration Diagram:
ATM ADMIN

STATECHARTDiagram

SPEC,HYD Page 55
SOFTWARE ENGINEERING LAB Department of CSE

B) Activity diagram for ATM System.

SPEC,HYD Page 56
SOFTWARE ENGINEERING LAB Department of CSE

OPEN ENDED EXPERIMENTS

SPEC,HYD Page 57
SOFTWARE ENGINEERING LAB Department of CSE


The Agile software development methodology is one of the simplest and effective processes to turn a
vision for a business need into software solutions. Agile is a term used to describe software
development approaches that employ continual planning, learning, improvement, team collaboration,
evolutionary development, and early delivery. It encourages flexible responses to change.
The agile software development emphasizes on four core values.

1. Individual and team interactions over processes and tools


2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan

Agile Process

Check the below Agile methodology process to deliver successful systems quickly.

SPEC,HYD Page 58
SOFTWARE ENGINEERING LAB Department of CSE

There are various Agile methods present in agile testing, and those are listed below:

Scrum
SCRUM is an agile development method which concentrates specifically on how to manage tasks
within a team-based development environment. Basically, Scrum is derived from activity that occurs
during a rugby match. Scrum believes in empowering the development team and advocates working
in small teams (say- 7 to 9 members). Agile and Scrum consist of three roles, and their
responsibilities are explained as follows:

• Scrum Master
o Master is responsible for setting up the team, sprint meeting and removes obstacles to progress
• Product owner
o The Product Owner creates product backlog, prioritizes the backlog and is responsible for the
delivery of the functionality at each iteration
• Scrum Team
o Team manages its own work and organizes the work to complete the sprint or cycle

SPEC,HYD Page 59
Process flow of Scrum Methodologies:

Process flow of scrum testing is as follows:

• Each iteration of a scrum is known as Sprint


• Product backlog is a list where all details are entered to get the end-product
• During each Sprint, top user stories of Product backlog are selected and turned into Sprint backlog
• Team works on the defined sprint backlog
• Team checks for the daily work
• At the end of the sprint, team delivers product functionality

Extreme Programming (XP)

Extreme Programming technique is very helpful when there is constantly changing demands or
requirements from the customers or when they are not sure about the functionality of the system. It
advocates frequent "releases" of the product in short development cycles, which inherently improves the
productivity of the system and also introduces a checkpoint where any customer requirements can be
easily implemented. The XP develops software keeping customer in the target.

Phases of eXtreme programming:


There are 6 phases available in Agile XP method, and those are explained as follows:
Planning
• Identification of stakeholders and sponsors
• Infrastructure Requirements
• Security related information and gathering
• Service Level Agreements and its conditions
Analysis
• Capturing of Stories in Parking lot
• Prioritize stories in Parking lot
• Scrubbing of stories for estimation
• Define Iteration SPAN(Time)
• Resource planning for both Development and QA teams

SPEC,HYD Page 60
SOFTWARE ENGINEERING LAB Department of CSE


Design
• Break down of tasks

• Test Scenario preparation for each task


• Regression Automation Framework
Execution
• Coding
• Unit Testing
• Execution of Manual test scenarios
• Defect Report generation
• Conversion of Manual to Automation regression test cases
• Mid Iteration review
• End of Iteration review
Wrapping
• Small Releases
• Regression Testing
• Demos and reviews
• Develop new stories based on the need
• Process Improvements based on end of iteration review comments
Closure
• Pilot Launch
• Training
• Production Launch
• SLA Guarantee assurance
• Review SOA strategy
• Production Support

Crystal Methodologies
Crystal Methodology is based on three concepts
1. Chartering: Various activities involved in this phase are creating a development team, performing a
preliminary feasibility analysis, developing an initial plan and fine-tuning the development
methodology
2. Cyclic delivery: The main development phase consists of two or more delivery cycles, during which
the
1. Team updates and refines the release plan
2. Implements a subset of the requirements through one or more program test integrate iterations
3. Integrated product is delivered to real users
4. Review of the project plan and adopted development methodology
3. Wrap Up: The activities performed in this phase are deployment into the user environment, post-
deployment reviews and reflections are performed.

SPEC,HYD Page 61
SOFTWARE ENGINEERING LAB Department of CSE

Dynamic Software Development Method (DSDM)


DSDM is a Rapid Application Development (RAD) approach to software development and provides an agile
project delivery framework. The important aspect of DSDM is that the users are required to be involved
actively, and the teams are given the power to make decisions. Frequent delivery of product becomes the
active focus with DSDM. The techniques used in DSDM are
1. Time Boxing
2. MoSCoW Rules
3. Prototyping
The DSDM project consists of 7 phases
1. Pre-project
2. Feasibility Study
3. Business Study
4. Functional Model Iteration
5. Design and build Iteration
6. Implementation
7. Post-project

Metrics that can be collected for effective usage of Agile is:


• Drag Factor
o Effort in hours which do not contribute to sprint goal
o Drag factor can be improved by reducing number of shared resources, reducing the amount of
non-contributing work
o New estimates can be increased by percentage of drag factor -New estimate = (Old
estimate+drag factor)
• Velocity
o Amount of backlog(user stories) converted to shippable functionality of sprint
• No of Unit Tests added
• Time interval taken to complete daily build
• Bugs detected in an iteration or in previous iterations
• Production defect leakage

SPEC,HYD Page 62
SOFTWARE ENGINEERING LAB Department of CSE


VIVA QUESTIONS
































SPEC,HYD Page 63
SOFTWARE ENGINEERING LAB Department of CSE

Define Framework.

A framework is the Code Skeleton that can be fleshed out with particular classes or functionality and designed to address the
specific problem at hand.

What are the characteristics of the software?

Characteristics of the software are:

o Software is engineered, not manufactured.


o Software does not wear out.
o Most software is custom-built rather than being assembled from components.

What are the various categories of software?

The various categories of software are:

o System software Application.


o Software Engineering / Scientific.
o Software Embedded software.
o Web Applications.
o Artificial Intelligence software.

What are the challenges in software?

The challenges in the software are:

o Copying with legacy systems.


o Heterogeneity challenge.

Define Software process.

A software process is defined as the structured set of activities that are required to develop the software system.

What are the internal milestones?

They are the significant and quantifiable attributes of progress. They are the standard methods in the project which provide
that we are on the right track. They are under the authority of the project manager.

SPEC,HYD Page 64
What is the limitation of RAD Model?

Limitation of RAD Model are:

o It requires a sufficient number of Human Resources to create enough number of teams.


o Developers and Users are not committed,the system fails.
o It is not Properly Modularized building component may be Problematic.
o It is not applicable when there is more possibility for Technical Risk.

What are the disadvantages of classic life cycle model?

Disadvantages of the classic life cycle model are:

o Real projects rarely follow the sequential flow. Iteration always occurs and creates a problem.
o Challenging for the customer to state all requirements.
o The working version of the program is not available. So the customer must have patience.

What are the merits of the incremental model?

The merits of the incremental model are:

o The incremental model can be accepted when there is less number of people include in the project.
o Technical risks can be handle with each increment.
o For a minimal period, at least the core product can be delivered to the user.

) What is the disadvantage of the spiral model?

The disadvantage of the spiral model are:

1. It is based on user communication. If the interface is not proper, then the software product which gets created will not
be the up to the mark.
2. It demands a vast risk assessment. If the risk assessment is completed correctly, then only the successful product can
be obtained.

14) Name the Evolutionary process Models.

Evolutionary powers models are:

o Incremental model
o Spiral model
o WIN-WIN spiral model
o Concurrent Development
o
SPEC,HYD Page 65
o

) Define Software Prototyping.

Software prototyping is represented as rapid software development for validating the requirements.

16) What are the benefits of prototyping?

The benefits of prototyping are:

o Prototype services as a basis for developing system specification.


o Design quality can be revised.

SPEC,HYD Page 66
SPEC,HYD Page 67
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 68
SPEC,HYD Page 69
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 70
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 71
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 72
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 73
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 74
SOFTWARE ENGINEERING LAB Department of CSE

SPEC,HYD Page 75
SOFTWARE ENGINEERING LAB Department of CSE


1. Format StringVulnerabilities

Aim: write a program to implement format string vulnerabilities

Format String Program :

# include <stdio.h>

# include <conio.h>

void main()

int input =2;

clrscr(); printf(“ABCdef\n\n%n”,&input);

printf(“value of var:%d”,input);

getch();

Expected output:

ABCdef

Value of var : 2

Real output:

ABCdef

Value of var : 8

SPEC,HYD Page 76
SOFTWARE ENGINEERING LAB Department of CSE


2. Virus Program

Aim: write a program to implement virusprogram

//***************************************************************//
//virus program-created
//**************************************************************//

#include<iostream.h>
#include<conio.h>
#include<dos.h>
#include<stdio.h>
#include<process.h>
#include<graphics.h>
#include<fstream.h>

void fool();
void main()
{
clrscr();
for(int i=0;i<=100;i++)
{

textcolor(YELLOW+BLINK); gotoxy(35,12); cprintf("VIRUS LOADING");


gotoxy(39,15); textcolor(GREEN); cout<<i<<"%"; delay(75);
clrscr();
}
delay(100); clrscr(); flushall(); gotoxy(20,12);
cout<<" 'AISHWARYA' VIRUS CREATED NOW BY SANDEEP";
gotoxy(20,14);
cout<<"SAY GOOD BYE TO YOUR PC IN ";

SPEC,HYD Page 77
SOFTWARE ENGINEERING LAB Department of CSE


for(int j=10;j>=0;j--)
{
gotoxy(48,14); cout<<j<<" SECONDS";
delay(1000);
}
clrscr();
cout<<"\n1.HARD-DISK CORRUPTION: ";
delay(4000); cout<<"completed";
cout<<"\n\n2.MOTHER BOARD CORRUPTION: ";
delay(4000); cout<<"completed";
cout<<"\n\n3.INSTALLING CYBERBOB.DLL -->WINDOWS/COMMAND :";
delay(4000); cout<<"completed";
cout<<"\n\nPROCRAETORIAN.SYS SUCCESSFULLY PLANTED";
delay(3000);
out<<"\n\n\tVIRUS.EXE"; delay(2000); cout<<"\n\n*************************";
cout<<"\n\nBuddy it's a simply joke "; cout<<"\n\n*************************";
delay(4000);
cout<<"\n\n**********************************"; cout<<"\n\nFor Real Virus ";
cout<<"\n\nContact Me: Sandeep Udaipur "; cout<<"\n\nMo: 010101010101 ";
cout<<"\n\nEmail: sandeep@yahoo.co.in ";
cout<<"\n\n**********************************";delay(10000);
}

void fool()
{
clrscr();
int g=DETECT, h;
initgraph(&g,&h,"c:\tc\bgi");
cleardevice();
delay(1000);
setcolor(2);

SPEC,HYD Page 78
SOFTWARE ENGINEERING LAB Department of CSE


settextsyle(1,0,1);
delay(1000);
setbkcolor(BLUE);
getch();
delay(4000);
closegraph();
exit(0);
}

OUTPUT:

1. HARD-DISKCORRUPTION:completed

2. MOTHER BOARDCORRUPTION:completed

3. INSTALLING CYBERBOB.DLL -->WINDOWS/COMMAND

:completedPROCRAETORIAN.SYSSUCCESSFULLYPLANTED

VIRUS.EXE

*************************

Buddy it's a simply joke

*************************

SPEC,HYD Page 79
SOFTWARE ENGINEERING LAB Department of CSE

VIVA QUESTIONS

SPEC,HYD Page 80
SOFTWARE ENGINEERING LAB Department of CSE


“Symmetric Cipher Models and Elementary Number Theory”.

1. In brute force attack, on average half of all possible keys must be tried to achievesuccess.
a) True
b) False

Answer: a
Explanation: In brute force attack the attacker tries every possible key on a piece of cipher-text until
an intelligible translation into plaintext is obtained.
2. If the sender and receiver use different keys, the system is referred to as conventional cipher
system.
a) True
b) False

Answer: b
Explanation: Such a system is called asymmetric, two-key, or public-key cipher system.
3. Divide (HAPPY)26 by (SAD)26. We get quotient–
a) KD
b) LD
c) JC
d) MC

Answer: a
Explanation: Dividing (HAPPY)26 by (SAD)26 gives us KD with a remainder MLP.
4. Dividing (11001001) by (100111) gives remainder–
a) 11
b) 111
c) 101
d) 110

Answer: d
Explanation: Dividing (11001001) by (100111) gives us (110).
5. pi in terms of base 26is
a) C.DRS
b) D.SQR
c) D.DRS

SPEC,HYD Page 81
SOFTWARE ENGINEERING LAB Department of CSE


d) D.DSS

Answer: c
Explanation: On converting using base conversions we get 3.1415926 as D.DRS.
6. The time required to convert a k-bit integer to its representation in the base 10 in terms of big-O
notationis
a) O(log2 n)
b) O(logn)
c) O(log2 2n)
d) O(2logn)

Answer: a
Explanation: Let n be a k-bit integer in binary. The conversion algorithm is as follows. Divide 10 =
(1010) into n. The remainder – which will be one of the integers 0, 1, 10, 11, 100, 101, 110, 11 1,
1000, or 1001 – will be the ones digit d0. Now replace n by the quotient and repeat the process,
dividing that quotient by (1010), using the remainder as d1 and the quotient as the next number into
which to divide (1010). This process must be repeated a number of times equal to the number of
decimal digits in n, which is [log n/log 10] +1 = O(k).
We have O(k) divisions, each requiring O(4k) operations (dividing a number with at most k bits by
the 4 bit number (1010)). But O(4k) is the same as O(k) (constant factors don’t matter in the big-0
notation, so we conclude that the total number of bit operations is O(k). O(k) = 0(k2). If we want to
express this in terms of n rather than k, then since k = O(1og n), we can write
Time(convert n to decimal) = 0(log2n).
7. In base 26, multiplication of YES by NO gives–
a) THWOE
b) MPAHT
c) MPJNS
d) THWAE

Answer: c
Explanation: Convert the alphabets into their respective values in base 26 and proceed with base 26
multiplications.
8. Division of (131B6C3) base 16 by (lA2F) base 16 yeilds–
a) 1AD
b) DAD
c) BAD
d) 9AD

Answer: d
Explanation: Base 16 division to be followed where A-F stand for 10-15.

SPEC,HYD Page 82
SOFTWARE ENGINEERING LAB Department of CSE


9. An encryption scheme is unconditionally secure if the ciphertext generated does not contain
enough information to determine uniquely the corresponding plaintext, no matter how much cipher
text is available.
a) True
b) False


Answer: a
Explanation: The above statement is the definition for unconditionally secure cipher systems.
10. The estimated computations required to crack a password of 6 characters from the 26 letter
alphabet is-
a) 308915776
b) 11881376
c) 456976
d) 8031810176


Answer: a
Explanation: The required answer is 26^6 = 308915776.

“The Data Encryption Standard (DES) and It’s Strength”.

1. DESfollows

a) HashAlgorithm

b) CaesarsCipher

c) Feistel CipherStructure

d) SP Networks

Answer:c

Explanation: DES follows Feistel Cipher Structure.

2. The DES Algorithm Cipher Systemconsistsof rounds (iterations) each with a


roundkey

a) 12

b) 18

c) 9

d) 16

Answer:d

SPEC,HYD Page 83
SOFTWARE ENGINEERING LAB Department of CSE


Explanation: The DES Algorithm Cipher System consists of 16 rounds (iterations) each with a round
key.

3. The DES algorithm has a key lengthof

a) 128Bits

b) 32 Bits

c) 64 Bits

d) 16 Bits

Answer:c

Explanation: DES encrypts blocks of 64 bits using a 64 bit key.

4. In the DES algorithm, although the key size is 64 bits only 48bits are used for theencryption
procedure, the rest are paritybits.

a) True

b) False

Answer:b

Explanation: 56 bits are used, the rest 8 bits are parity bits.

5. In the DES algorithm the roundkeyis bit and the RoundInputis bits.

a) 48,32

b) 64,32

c) 56,24

d) 32,32

Answer: a

Explanation: The round key is 48 bits. The input is 32 bits.

6. In the DES algorithm the Round Input is 32 bits, which is expanded to 48 bitsvia

a) Scaling of the existingbits

b) Duplication of the existingbits

c) Addition ofzeros

d) Addition of ones

Answer:a

SPEC,HYD Page 84
SOFTWARE ENGINEERING LAB Department of CSE


Explanation: The round key is 48 bits. The input is 32 bits. This input is first expanded to 48 bits
(permutation plus an expansion), that involves duplication of 16 of the bits.

7. The Initial Permutation table/matrix is ofsize

a)16×8

b) 12×8

c)8×8

d) 4×8

Answer: c

Explanation: There are 64 bits to permute and this requires a 8×8 matrix.

1. During decryption, we use the Inverse Initial Permutation (IP-1) before theIP.

a) True

b) False

Answer:a

Explanation: IP-1 is the first step and the last step is IP during decryption.

2. A preferable cryptographic algorithm should have a good avalancheeffect.

a) True

b) False

Answer:a

Explanation: Thus statement is true as a change in one bit of the plaintext or one bit of the key
should produce a change in many bits of the ciphertext. This is referred to as the avalanche effect.

3. The number of tests required to break the DES algorithm are

a)2.8×1014

b) 4.2×109

c) 1.84×1019

d) 7.2×1016

Answer: d

Explanation: There are 256 keys =7.2×1016.

4. The number of tests required to break the Double DES algorithmare

SPEC,HYD Page 85
SOFTWARE ENGINEERING LAB Department of CSE


a)2112

b)2111

c)2128

d)2119

Answer: b

Explanation: For Double DES key is 2112 bits, should require 2111 tests to break.

5. How many keys does the Triple DES algorithmuse?

a) 2

b) 3

c) 2 or3

d) 3 or 4

Answer:c

Explanation: For Triple DES we can either have 2 or 3 keys.

Using two keys: c = Ek1(Dk2(Ek1(m)))

Using three keys: c = Ek3(Ek2(Ek1(m))).

6. In triple DES, the keysizeis and meet in the middleattacktakes tests to break the key.

a) 2192,2112

b)2184,2111

c)2168,2111

d)2168,2112

Answer: d

Explanation: The key size is 2168 and meet in the middle attack takes 2112 tests to break.

7. Using Differential Crypt-analysis, the minimum computations required to decipher theDES


algorithmis

a) 256

b) 243

c) 255

d) 247

SPEC,HYD Page 86
SOFTWARE ENGINEERING LAB Department of CSE


Answer:d

Explanation: Differential Crypt-analysis requires only 247 computations to decipher the DES
algorithm.

SPEC,HYD Page 87
SOFTWARE ENGINEERING LAB Department of CSE

OPEN ENDED PROGRAMS


1. Implement the Signature Scheme - Digital SignatureStandard
2. Setup a honey pot and monitor the honeypot on network (KFSensor)

SPEC,HYD Page 88

You might also like