Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Software Engineering Lab

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

CA

SOFTWARE ENGINEERING LAB MANUAL

B.TECH

(II YEAR – I SEM)


(2023-24)

DEPARTMENT OF COMPUTATIONAL INTELLIGENCE

(AIML)

MALLA REDDY COLLEGE OF ENGINEERING & TECHNOLOGY


(Autonomous Institution – UGC, Govt. of India)

Recognized under 2(f) and 12 (B) of UGC ACT 1956


(Affiliated to JNTUH, Hyderabad, Approved by AICTE - Accredited by NBA & NAAC – ‘A’ Grade - ISO 9001:2015 Certified)
Maisammaguda, Dhulapally (Post Via. Hakimpet), Secunderabad – 500100, Telangana State, India
Department of Computer Science & Engineering
(Artificial Intelligence & Machine Learning)

Vision
To be a premier centre for academic excellence and research through innovative
interdisciplinary collaborations and making significant contributions to the
community, organizations, and society as a whole.

Mission
 To impart cutting-edge Artificial Intelligence technology in accordance with
industry norms.
 To instill in students a desire to conduct research in order to tackle challenging
technical problems for industry. 
 To develop effective graduates who are responsible for their professional
growth, leadership qualities and are committed to lifelong learning.

Quality Policy

 To provide sophisticated technical infrastructure and to inspire students to


reach their full potential.
 To provide students with a solid academic and research environment for a
comprehensive learning experience.
 To provide research development, consulting, testing, and customized training
to satisfy specific industrial demands, thereby encouraging self-employment
and entrepreneurship among students.
Software Engineering Lab AY-2023-2024

Programme Educational Objectives (PEO):

PEO 1: To discuss and analyze how to develop software requirements


specification for a given problem.
PEO 2: To understand Software development as a process.
PEO 3: To implement various software designs, data flow diagram models.
PEO 4: To implement various testing techniques including white box testing
black box testing, regression testing.
PEO 5: 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.

Programme Specific Outcomes (PSO):

After successful completion of the program a student is expected to have

Specific abilities to:


PSO 1: Translate end-user requirements into system and software
requirements.

PSO 2: Generate a high-level design of the system from the software


requirements.

PSO 3: Experience and/or awareness of testing problems and will be able to


develop a simple testing report.
PSO 4: Understand and develop various structure and behavior UML diagrams.
PSO 5: Explain the knowledge of project management tool Demonstrate
how to manage file using Project Libre project management tool.

Department of CI Page 5
Software Engineering Lab AY-2023-2024

PROGRAM OUTCOMES (POs)

Engineering Graduates should possess the following:


1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
3. 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.
4. 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.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex
engineering activities with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge toassess
societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.
7. 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.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader
in diverse teams, and in multidisciplinary settings.
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, and give
and receive clear instructions.
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 multi-disciplinary environments.
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.

Department of CI Page 6
Software Engineering Lab AY-2023-2024

MALLA REDDY COLLEGE OF ENGINEERING & TECHNOLOGY


Maisammaguda, Dhulapally Post, Via Hakimpet, Secunderabad – 500100

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

GENERAL LABORATORY INSTRUCTIONS

1. Students are advised to come to the laboratory at least 5 minutes before (to starting time), those
who come after 5 minutes will not be allowed into the lab.
2. Plan your task properly much before to the commencement, come prepared to the lab with
the synopsis / program / experiment details.
3. Student should enter into the laboratory with:
a. Laboratory observation notes with all the details (Problem statement, Aim, Algorithm, Procedure,
Program, Expected Output, etc.,) filled in for the lab session.
b. Laboratory Record updated up to the last session experiments and other utensils (if any) needed
in the lab.
c. Proper Dress code and Identity card.
4. Sign in the laboratory login register, write the TIME-IN, and occupy the computer system allotted
to you by the faculty.
5. Execute your task in the laboratory, and record the results / output in the lab observation
notebook, and get certified by the concerned faculty.
6. All the students should be polite and cooperative with the laboratory staff, must maintain the
discipline and decency in the laboratory.
7. Computer labs are established with sophisticated and high-end branded systems, which should
be utilized properly.
8. Students / Faculty must keep their mobile phones in SWITCHED OFF mode during the lab sessions.
Misuse of the equipment, misbehaviors with the staff and systems etc., will attract severe
punishment.
9. Students must take the permission of the faculty in case of any urgency to go out; if anybody found
loitering outside the lab / class without permission during working hours will be treated seriously and
punished appropriately.
10. Students should LOG OFF/ SHUT DOWN the computer system before he/she leaves the lab after
completing the task (experiment) in all aspects. He/she must ensure the system / seat is kept
properly.

Head of the Department Principal

Department of CI Page 7
Software Engineering Lab AY-2023-2024

II Year B.Tech. CSE- I Sem L/T/P/C


0/0/2/1

SOFTWARE ENGINEERING LAB (R22A0585)

Objectives:
 Discuss and Analyses how to develop software requirements specifications for a given
problem.
 To understand Software development as a process
 To implement various software designs, data flow diagram models.
 various testing techniques including white box testing black box testing regression
testing
 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.

WEEK 1:
Development of problem statements.

WEEK 2:
Preparation of Software Requirement Specification Document, Design Documents and Testing
Phase related documents.

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

WEEK 4:
Study and usage of any Design phase CASE tool.

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

WEEK 6:
Develop test cases for unit testing and integration testing.

WEEK 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

Department of CI Page 8
Software Engineering Lab AY-2023-2024

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, McGraw
Hill International Edition.
2. Software Engineering-Sommerville, 7th edition, Pearson Education.
3. The unified modeling language user guide Grady Booch, James Rambaugh, Ivar
Jacobson, Pearson Education.

REFERENCE BOOKS:
1. Software Engineering, an Engineering approach- James F. Peters, Witold Pedrycz, John Wiley.
2. Software Engineering principles and practice-Waman S Jawadekar

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 simple testing report
 Understand and develop various structure and behavior UML diagrams.
 Explain the knowledge of project management tool Demonstrate how to manage file
using Project Libre project management tool.

Department of CI Page 9
Software Engineering Lab AY-2023-2024

MALLA REDDY COLLEGE OF ENGINEERING & TECHNOLOGY


(UGC-Autonomous Institution, Govt. of India)
(Permanently Affiliated to JNTUH, Approved by AICTE-Accredited by NBA & NAAC- A-Grade; ISO 9001:2008 Certified)
Maisammaguda, Dhulapally Post, Via Hakimpet, Secunderabad – 500100

DEPARTMENT OF EMERGING TECHNOLOGIES


SOFTWARE ENGINEERING Lab Manual (R22A0585)
TABLE OF CONTENTS

EXP NAME OF THE PAGE


NO: EXPERIMENT: NO:

1 Development of problem statements 1-3

2 Preparation of Software Requirement Specification Document, Design

Documents and Testing Phase related documents 4-8

3 Preparation of Software Configuration Management and Risk Management


related documents 9-12

Study and usage of any Design phase CASE tool 13-16


4

5 Performing the Design by using any Design phase CASE tools 17-31

6 Develop test cases for unit testing and integration testing 32-37

7 Develop test cases for various white box and black box testing techniques 38-43

Department of CI Page 9
Software Engineering Lab AY-2023-2024

WEEK 1

AIM: To develop problem statements for a library management system.

Problem Statement:
Statement of a current issue/problem that requires timely action to improve the situation.
Process Flow of Library Management System:

 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.
Components:
 Problem
 Proposed Solution
 Solution(s) and its implementation steps

Roles & Responsibilities:


a) Librarian:
 Admin
 Adding & modifying books etc.
 Inventory maintenance

b) Member:
 Registered users
 Search available books
 Order & book return

c) System:
 Notifications for overdue, availability of book etc.

Department of CI Page 1
Software Engineering Lab AY-2023-2024

I Inputs:
 Author Name
 Published Year
 Price
 Book ID
 User details like id, password for logging in
 Communication Details

Problems/Constraints:

 Updating difficulties on account of adding of new books regularly.


 Faster due date notification(s).
 Internet Bandwidth
 Unavailability of e-books

Department of CI Page 2
Software Engineering Lab AY-2023-2024

Department of CI Page 3
Software Engineering Lab AY-2023-2024

WEEK 2

AIM:
Preparation of Software Requirement Specification Document, Design Documents and Testing Phase
Related documents.
Preparation of Software Requirement Specification Document:

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 book no,
titlename, 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 Web Pages.

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.

Design Document:
 Algorithm, Data Structure, Architecture and other support Information is maintained in a design
document.
Diagrams:

a. Use Case:
 System details summary & all users in the system.
b. Activity:
 System behavior (inclusive of dynamic aspects).

Department of CI Page 4
Software Engineering Lab AY-2023-2024

c. Sequence:
 Message flow with the time stamp.
d. Class:
 System Structure (Name, Attributes, Operations).
e. State Chart:
 States specific to components/objects of a system.
f. Deployment:
 System architecture with respect to execution.
Test Plan Document:
 Test plan document contains all the catalog information of test strategies, objectives, schedule,
estimations and resources required to complete the project.
 A “Test Case” refers to the actions required to verify a specific feature or functionality in software
testing.
Test Case Design Template:

Test Description: Test Expected Actual Pre- Pass/Fail: Remarks:


Case Steps: Results: Results: Requisites:
ID:

Department of CI Page 5
Software Engineering Lab AY-2023-2024

Department of CI Page 6
Software Engineering Lab AY-2023-2024

Department of CI Page 7
Software Engineering Lab AY-2023-2024

Department of CI Page 8
Software Engineering Lab AY--2023-2024

WEEK 3

AIM:
Preparation of Software Configuration Management and Risk Management related documents for library
management system.

Preparation of Software Configuration Management

 Forms basis for End User License Agreement (EULA).

 All the compatibilities of implementing the system can be known.


Software Requirements:

Operating System: Windows 7/10

Front end : J2EE

Back end : MySQL Server

IDE used : NetBeans

Hardware Requirements:

Processor: i3 or higher

RAM : 4 GB

Hard Disk drive: 500 GB

Risk Management:

 Relates to the factors that have negative impact on the software project.

 Categorized into

i. Known risks

ii. Unknown risks

 Known risks are the “predictable” risks that can be easily categorized.

Example: Staffing, Code errors etc.

 Unknown risks are the “unpredictable” risks that cannot be identified and categorized easily.

Example: Natural disasters, epidemic, recession etc.

Department of CI Page 9
Software Engineering Lab AY--2023-2024

Department of CI Page 10
Software Engineering Lab AY--2023-2024

Department of CI Page 11
Software Engineering Lab AY--2023-2024

Department of CI Page 12
Software Engineering Lab AY--2023-2024

WEEK 4

AIM:
Study and usage of any Design phase CASE tool

Design phase CASE tool:

CASE Tool: STARUML

How to Install StarUML on Windows 10

 Star UML is a UML (Unified Modeling Language) tool introduced 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, which provides 11 different types of diagrams 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 supports 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.

Features of StarUML:

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

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

3. Includes Entity-Relationship Diagram (ERD), Data-Flow Diagram (DFD) and Flowchart


diagrams.

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 Application Programming Interface (API).

Department of CI Page 13
Software Engineering Lab AY--2023-2024

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.

Department of CI Page 14
Software Engineering Lab AY--2023-2024

Department of CI Page 15
Software Engineering Lab AY--2023-2024

Department of CI Page 16
Software Engineering Lab AY--2023-2024

Week 5

Aim:To design performance using Design phase CASE Tool .

CASE Tool: StarUML

Use Case Diagrams:

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
I) Usecase Name: Search Book_Details
The librarian initiates this use case when any member returns or request the book and checking ifthe
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.

II) 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.

III) Usecase 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.

Department of CI Page 17
Software Engineering Lab AY--2023-2024

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.

IV) Usecase Name: Book_Return


Invoked by the librarian when a member returns the book.
Precondition: Member should be valid member of library.
Normal Flow: Librarian enters bookid and system checks for return date of the book.
AlternativeFlow: System checks for return date and if it returned late fine message will be displayed.

Post Condition: Check the status of reservation.

V) 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. Use case diagram for Book Bank System

Department of CI Page 18
Software Engineering Lab AY--2023-2024

Activity Diagrams:

 They are 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.

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

 An activity is shown as a roundedbox containing the name of the operation. This activity
diagram describes the behavior of the system.

Department of CI Page 19
Software Engineering Lab AY--2023-2024

Figure 3. Activity Diagram for Book Bank System [order book]

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

Department of CI Page 20
Software Engineering Lab AY--2023-2024

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.

Figure 5. Sequence Diagram for Book Issue & Return

Department of CI Page 21
Software Engineering Lab AY--2023-2024

Collaboration Diagram:

Figure 6. Collaboration Diagram for Book Issue & Return

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 ATM system class diagram consists of five classes:

1. Student

2. Book

3. Issue

4. Return

5. Vendor

6. Details

Department of CI Page 22
Software Engineering Lab AY--2023-2024

1) Student:

 It consists of twelve attributes and three operations.


 The attributes are enroll no, name, DOB, father name, 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, acc no 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, acc no of issued 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) Details:

 The attributes of this class are book name, author, bcode no. The operations are delete
details().

Department of CI P a g e 23
Software Engineering Lab AY--2023-2024

Figure 7. Class Diagram for Book Bank System

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 Book Bank System

Department of CI P a g e 24
Software Engineering Lab AY--2023-2024

Department of CI P a g e 25
Software Engineering Lab AY--2023-2024

Department of CI P a g e 26
Software Engineering Lab AY--2023-2024

Department of CI P a g e 27
Software Engineering Lab AY--2023-2024

Department of CI P a g e 28
Software Engineering Lab AY--2023-2024

Department of CI P a g e 29
Software Engineering Lab AY--2023-2024

Department of CI P a g e 30
Software Engineering Lab AY--2023-2024

Department of CI P a g e 31
Software Engineering Lab AY--2023-2024

Week 6

Aim: To develop test cases for unit testing and integration testing.

Unit Testing:
  It is a software development process in which the smallest testable parts of an application,
called “units”, are individually scrutinized for proper operation.

  Software developers and sometimes QA staff complete unit tests during the development process.

Integration Testing:

  It is a type of software testing where components of the software are gradually integrated and then
tested as a unified group.
 Usually, these components are already working well individually, but they may
break whenintegrated with other components.

Department of CI P a g e 32
Software Engineering Lab AY--2023-2024

Department of CI P a g e 33
Software Engineering Lab AY--2023-2024

Department of CI P a g e 34
Software Engineering Lab AY--2023-2024

Department of CI P a g e 35
Software Engineering Lab AY--2023-2024

Department of CI P a g e 36
Software Engineering Lab AY--2023-2024

Department of CI P a g e 37
Software Engineering Lab AY--2023-2024

Week 7

Aim: To develop test cases for various white box and black box testing techniques.

White Box Testing:


It is a form of application testing that provides the tester with complete knowledge of the application
Being tested, including access to source code and design documents.
Black Box Testing:
It is a form of testing that is performed with no knowledge of a system's internals, can be carried out
to evaluate the functionality, security, performance, and other aspects of an application.

Department of CI P a g e 38
Software Engineering Lab AY--2023-2024

Department of CI P a g e 39
Software Engineering Lab AY--2023-2024

Department of CI P a g e 40
Software Engineering Lab AY--2023-2024

Department of CI P a g e 41
Software Engineering Lab AY--2023-2024

Department of CI P a g e 42
Software Engineering Lab AY--2023-2024

Department of CI P a g e 43

You might also like