Sie sind auf Seite 1von 36

SIGMA INSTITUTE OF ENGINEERING

(050)

COMPUTER ENGINEERING (07)

SOFTWARE ENGINEERING
(2160701)
LAB MANUAL
2160701 Software Engineering

List of Experiment
Branch: Computer Semester : 6th
Subject Name :Software Engineering Subject Code : 2160701

Labs Name : SE Lab

List of experiments

1 PHASES IN SOFTWARE DEVELOPMENT PROJECT.

2 TO ASSIGN THE REQUIREMENT ENGINEERING TASKS.

TO PERFORM THE SYSTEM ANALYSIS: REQUIREMENT ANALYSIS,


3 SRS.

TO PERFORM THE FUNCTION ORIENTED DIAGRAM: DFD AND


4
STRUCTURE CHART.

5 TO PERFORM THE USER’S VIEW ANALYSIS: USE CASE DIAGRAM

TO DRAW THE STRUCTURAL VIEW DIAGRAM: CLASS DIAGRAM,


6
OBJECT DIAGRAM.

TO DRAW THE BEHAVIOURAL VIEW DIAGRAM: SEQUENCE


7
DIAGRAM, COLLABORATION DIAGRAM.

TO DRAW THE BEHAVIOURAL VIEW DIAGRAM: STATE CHART


8
DIAGRAM, ACTIVITY DIAGRAM.

TO DRAW THE IMPLEMENTATION VIEW DIAGRAM: COMPONENT


9
DIAGRAM.

TO DRAW THE ENVIRONMENTAL VIEW DIAGRAM: DEPLOYMENT


10
DIAGRAM.

2
2160701 Software Engineering

PRACTICAL-1
Aim: Phases in software development project, overview, needs for coverage of
topic.

Theory: A software development process, also known as a software development life-cycle


(SDLC), is a structure imposed on the development of a software product. Similar terms include
software life cycle and software process. It is often considered a subset of systems development
life cycle. There are several models for such processes, each describing approaches to a variety
of tasks or activities that take place during the process. Some people consider a life-cycle model
a more general term and a software development process a more specific term.

3
2160701 Software Engineering

A typical Software Development life cycle consists of the following stages:

Stage 1: Planning and Requirement Analysis : Requirement analysis is the most important and
fundamental stage in SDLC. It is performed by the senior members of the team with inputs from
the customer, the sales department, market surveys and domain experts in the industry. This
information is then used to plan the basic project approach and to conduct product feasibility
study in the economical, operational, and technical areas.

Planning for the quality assurance requirements and identification of the risks associated with the
project is also done in the planning stage. The outcome of the technical feasibility study is to
define the various technical approaches that can be followed to implement the project
successfully with minimum risks.

Stage 2: Defining Requirements : Once the requirement analysis is done the next step is to
clearly define and document the product requirements and get them approved from the customer
or the market analysts. This is done through ‘SRS’ – Software Requirement Specification
document which consists of all the product requirements to be designed and developed during
the project life cycle.

Stage 3: Designing the product architecture : SRS is the reference for product architects to
come out with the best architecture for the product to be developed. Based on the requirements
specified in SRS, usually more than one design approach for the product architecture is proposed
and documented in a DDS - Design Document Specification. This DDS is reviewed by all the
important stakeholders and based on various parameters as risk assessment, product robustness,
design modularity , budget and time constraints , the best design approach is selected for the
product.

A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if any).
The internal design of all the modules of the proposed architecture should be clearly defined with
the minutest of the details in DDS.

Stage 4: Building or Developing the Product : In this stage of SDLC the actual development
starts and the product is built. The programming code is generated as per DDS during this stage.
If the design is performed in a detailed and organized manner, code generation can be
accomplished without much hassle.

Developers have to follow the coding guidelines defined by their organization and programming
tools like compilers, interpreters, debuggers etc are used to generate the code. Different high
level programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The
programming language is chosen with respect to the type of software being developed.

4
2160701 Software Engineering

Stage 5: Testing the Product : This stage is usually a subset of all the stages as in the modern
SDLC models, the testing activities are mostly involved in all the stages of SDLC. However this
stage refers to the testing only stage of the product where products defects are reported, tracked,
fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance : Once the product is tested and ready
to be deployed it is released formally in the appropriate market. Sometime product deployment
happens in stages as per the organizations’ business strategy. The product may first be released
in a limited segment and tested in the real business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested enhancements
in the targeting market segment. After the product is released in the market, its maintenance is
done for the existing customer base.

5
2160701 Software Engineering

PRACTICAL-2
Aim: To assign the requirement of engineering task.
Requirements Engineering Tasks

• Seven distinct tasks


– Inception
– Elicitation
– Elaboration
– Negotiation
– Specification
– Validation
– Requirements Management
• Some of these tasks may occur in parallel and all are adapted to the needs of the project
• All strive to define what the customer wants
• All serve to establish a solid foundation for the design and construction of the software

6
2160701 Software Engineering

Inception Task

• During inception, the requirements engineer asks a set of questions to establish…


– A basic understanding of the problem
– The people who want a solution
– The nature of the solution that is desired
– The effectiveness of preliminary communication and collaboration between the
customer and the developer
• Through these questions, the requirements engineer needs to…
– Identify the stakeholders
– Recognize multiple viewpoints
– Work toward collaboration
– Break the ice and initiate the communication

Elicitation Task

• Eliciting requirements is difficult because of


– Problems of scope in identifying the boundaries of the system or specifying too
much technical detail rather than overall system objectives
– Problems of understanding what is wanted, what the problem domain is, and what
the computing environment can handle (Information that is believed to be
"obvious" is often omitted)
– Problems of volatility because the requirements change over time
• Elicitation may be accomplished through two activities
– Collaborative requirements gathering
– Quality function deployment

Elaboration Task

• During elaboration, the software engineer takes the information obtained during inception
and elicitation and begins to expand and refine it
• Elaboration focuses on developing a refined technical model of software functions,
features, and constraints
• It is an analysis modeling task
– Use cases are developed
– Domain classes are identified along with their attributes and relationships
– State machine diagrams are used to capture the life on an object
• The end result is an analysis model that defines the functional, informational, and
behavioral domains of the problem

7
2160701 Software Engineering

Negotiation Task

• During negotiation, the software engineer reconciles the conflicts between what the
customer wants and what can be achieved given limited business resources
• Requirements are ranked (i.e., prioritized) by the customers, users, and other stakeholders
• Risks associated with each requirement are identified and analyzed
• Rough guesses of development effort are made and used to assess the impact of each
requirement on project cost and delivery time
• Using an iterative approach, requirements are eliminated, combined and/or modified so
that each party achieves some measure of satisfaction

Specification Task

• A specification is the final work product produced by the requirements engineer


• It is normally in the form of a software requirements specification
• It serves as the foundation for subsequent software engineering activities
• It describes the function and performance of a computer-based system and the constraints
that will govern its development
• It formalizes the informational, functional, and behavioral requirements of the proposed
software in both a graphical and textual format

Validation Task

• During validation, the work products produced as a result of requirements engineering


are assessed for quality
• The specification is examined to ensure that
– all software requirements have been stated unambiguously
– inconsistencies, omissions, and errors have been detected and corrected
– the work products conform to the standards established for the process, the
project, and the product
• The formal technical review serves as the primary requirements validation mechanism
– Members include software engineers, customers, users, and other stakeholders

Requirements Management Task

• During requirements management, the project team performs a set of activities to


identify, control, and track requirements and changes to the requirements at any time as
the project proceeds
• Each requirement is assigned a unique identifier
• The requirements are then placed into one or more traceability tables

8
2160701 Software Engineering

• These tables may be stored in a database that relate features, sources, dependencies,
subsystems, and interfaces to the requirements
• A requirements traceability table is also placed at the end of the software requirements
specification

9
2160701 Software Engineering

PRACTICAL-3
Aim: To perform the system analysis, requirement analysis & SRS.

 SRS of College Management System

Functional Requirement

R1Faculty Management
- Performance Reports
- Profile
- Faculty login

R2Student Management
- Profile
- Login
- Performance
- Result

R3Attendance Management
-Faculty Attendance
-Student Attendance
-SMS

R4Placement Management
-Officer's Details
-List of Companies
-Records of Students

R5Library Management
-List of Books
-Issue & Return Records
-Admin Login

R6Exam Management
-Timetable

10
2160701 Software Engineering

-Block Allocation
-Papers Distribution
-Result

R7Transport Management
-Bus Details
-Driver Details
-Collection of Fees
-Student & Faculty Records

R8Account Management
-Faculty salary Details
-Students Fees
-Refund

R8.1Online Fee Payment


-Using Credit Card
-Using Debit/Visa Card
-Using Net Banking

R9Administration
-Certification
-Scholarship Details
-ID Cards
-Enquiry

 Non-Functional Requirement

1). Security- The system must provide password to log on the system.

2) Reliability-The system must be reliable to prevent any unauthorized access.

3) Availability- The system should be available during the college hours only.

11
2160701 Software Engineering

 SRS of Online Railway Reservation System

Functional Requirement

R1user-Login

R1.1sign in(existing)
-username
-password

R1.2Create New Account


-User-- Fullname
-username
-password
-Security question
-Gender
-Date Of Birth(DOB)
-Email-id
-Mobile no.
-Address
-City
-State
-Postal code

R2Plan my travel
-From(List of Source cities)
-To(List of Destination cities)
-Date(Calendar)
-Ticket Type
-Quota
-Find Train

R3Ticket Booking

R3.1Quick Book

12
2160701 Software Engineering

-Source City
-Destination City
-Date
-Train no.

R3.2General Book
-List of Trains
-Select train
-Check seat Availability
-Enter Candidate Name
-Age
-Identicard

R4Payment

R4.1By Credit Card


-List of Banks
-Select Bank
-Credit Card no
-password

R4.2By Debit/Visa Card


-List of Banks
-Select Bank
-Enter Debit Card no
-Password

R4.3By Net Banking


-List of Banks
-Select Bank(go to bank's website)
-Enter CIF
-Enter username
-password

13
2160701 Software Engineering

R5Service
-Receive ticket conformation by sms
-Receive ticket conformation by e-mail

R6User Profile
-update Profile
-Change Password

R7Contact
-Toll free no
-email id

R8Ticket Cancelation
-Booking History
-Select Ticket
-Cancel
-Cancelation amount.

R9My Transactions
-Booked History
-Print E-Ticket
-Cancel E-Ticket/Refund
-Cancelled History
-Refund status of Cancelled Ticket
-Refund Status of Failed transaction

R10General
-Terms & Conditions
-Cancellation Procedure
-Feedback
-Track your Ticket

14
2160701 Software Engineering

R11Administrator
-update train list
-update train Route
-update seat availability
-update Ticket Charges
-update Reservation charges
-update Tatkal quota charges
-works on feedback received by users

 Non-Functional Requirement

1) Usability- All people can use it means it is open source.

2) Portability- Whole the system you can access from anywhere.

3) Security- The system must provide password to log on the system. The
users should be allowed to the access the whole system for railway reservation.
The user is allowed to change their password for security purpose.

4) Reliability-The system must be reliable to prevent any unauthorized access.

5) Availability- The system should be available during the 8:00 am to 11:55


pm.

6) Maintainability-There should be the facility for administrator to update


new train list, train route, seat availability, etc..

15
2160701 Software Engineering

PRACTICAL-4
Aim: To perform the functional oriented diagram DFD.

Whilst state transition diagrams can show how the system moves from one state to another,
sometimes the emphasis is to understand how data is changed as it flows through the system.
And this strength of analysis tool is called as a 'Data Flow Diagram' or DFD. Data flow
diagrams are often used to show how an organization handles incoming data such as a customer
order.

 DFD for College Management System

[LEVEL 0]

16
2160701 Software Engineering

[LEVEL 1]

17
2160701 Software Engineering

[LEVEL 2]

18
2160701 Software Engineering

 DFD for Online Railway Reservation System

[LEVEL 0]

19
2160701 Software Engineering

[LEVEL 1]

20
2160701 Software Engineering

PRACTICAL-5
Aim: To perform the users view analysis.(use case diagram)

Use Case Diagram: A use case illustrates a unit of functionality provided by the system. The
main purpose of the use-case diagram is to help development teams visualize the functional
requirements of a system, including the relationship of "actors" (human beings who will interact
with the system) to essential processes, as well as the relationships among different use cases.
Use-case diagrams generally show groups of use cases -- either all use cases for the complete
system, or a breakout of a particular group of use cases with related functionality. To show a use
case on a use-case diagram, draw an oval in the middle of the diagram and put the name of the
use case in the center of, or below, the oval. To draw an actor (indicating a system user) on a
use-case diagram, you draw a stick person to the left or right of your diagram (and just in case
you're wondering, some people draw prettier stick people than others). Use simple lines to depict
relationships between actors and use cases.

 Use Case for College Management System

21
2160701 Software Engineering

 Use Case for Online Railway Reservation System

22
2160701 Software Engineering

PRACTICAL-6
Aim: To draw the structural view diagram: Class diagram, object diagram.

Class Diagram : The class diagram shows how the different entities (people, things, and data)
relate to each other; in other words, it shows the static structures of the system. A class diagram
can be used to display logical classes. Class diagrams can also be used to show implementation
classes, which are the things that programmers typically deal with. An implementation class
diagram will probably show some of the same classes as the logical class diagram. The
implementation class diagram won't be drawn with the same attributes, however, because it will
most likely have references to things like Vectors and Hash Maps. A class is depicted on the
class diagram as a rectangle with three horizontal sections, as shown in Figure. The upper section
shows the class's name; the middle section contains the class's attributes; and the lower section
contains the class's operations (or "methods").

Class diagram for College Management System.

23
2160701 Software Engineering

Class diagram for Online Railway Reservation System.

Object diagram for College Management System.

24
2160701 Software Engineering

Object diagram for Online Railway Reservation System.

25
2160701 Software Engineering

PRACTICAL-7
Aim: To draw the behavioral view diagram:Sequence diagram, Collaboration
diagram.

Sequence Diagram: Sequence diagrams show a detailed flow for a specific use case or even
just part of a specific use case. They are almost self explanatory; they show the calls between the
different objects in their sequence and can show, at a detailed level, different calls to different
objects. A sequence diagram has two dimensions: The vertical dimension shows the sequence of
messages/calls in the time order that they occur; the horizontal dimension shows the object
instances to which the messages are sent. A sequence diagram is very simple to draw. Across
the top of your diagram, identify the class instances (objects) by putting each class instance
inside a box . In the box, put the class instance name and class name separated by a
space/colon/space " : " . If a class instance sends a message to another class instance, draw a line
with an open arrowhead pointing to the receiving class instance; place the name of the
message/method above the line. Optionally, for important messages, you can draw a dotted line
with an arrowhead pointing back to the originating class instance; label the return value above
the dotted line.

 Sequence diagram for College Management System.

26
2160701 Software Engineering

 Sequence diagram for Online Railway Reservation System.

RAILWAY
PASSENGER TRAIN ETICKET DATABASE BANK
ADMINISTRATOR

Login to reservation

Successful login
Check avialability

If available

Request reservation form

Provide reservation form

Fill and submit form Updates user deatails

Request to debit amount

Debit ticket fare

Update reservation details

Request to eticket

Provide eticket

Request ticket cancelation Perform cancellation

Get reservation details


Ticket cancelled
Update cancelled details

Update any new train


details

27
2160701 Software Engineering

Collaboration Diagram: A collaboration diagram shows an interaction organized around


the objects in the interaction and their links to each other. Unlike a sequence diagram, a
collaboration diagram shows the relationships among the objects. On the other hand, a
collaboration diagram does not show time as a separate dimension, so sequence numbers
determine the sequence of messages and the concurrent threads.

 Collaboration diagram for College Management System.

 Collaboration diagram for Online Railway Reservation System.

28
2160701 Software Engineering

PRACTICAL-8
Aim: To draw the behavioral view diagram:State-chart diagram, Activity
diagram.

State-chart Diagram : The statechart diagram models the different states that a class can be
in and how that class transitions from state to state. It can be argued that every class has a state,
but that every class shouldn't have a statechart diagram. Only classes with "interesting" states --
that is, classes with three or more potential states during system activity -- should be modeled.
The notation set of the state chart diagram has five basic elements: the initial starting point,
which is drawn using a solid circle; a transition between states, which is drawn using a line with
an open arrowhead; a state, which is drawn using a rectangle with rounded corners; a decision
point, which is drawn as an open circle; and one or more termination points, which are drawn
using a circle with a solid circle inside it. To draw a statechart diagram, begin with a starting
point and a transition line pointing to the initial state of the class. Draw the states themselves
anywhere on the diagram, and then simply connect them using the state transition lines.

 State-chart diagram for College Management System.

29
2160701 Software Engineering

 State-chart diagram for Online Railway Reservation System.

Activity Diagram: Activity diagrams show the procedural flow of control between two or
more class objects while processing an activity. Activity diagrams can be used to model higher-
level business process at the business unit level, or to model low-level internal class actions. In
my experience, activity diagrams are best used to model higher-level processes, such as how the
company is currently doing business, or how it would like to do business. This is because activity
diagrams are "less technical" in appearance, compared to sequence diagrams, and business-
minded people tend to understand them more quickly. An activity diagram's notation set is
similar to that used in a state chart diagram. Like a state chart diagram, the activity diagram starts
with a solid circle connected to the initial activity. The activity is modeled by drawing a
rectangle with rounded edges, enclosing the activity's name. Activities can be connected to other

30
2160701 Software Engineering

activities through transition lines, or to decision points that connect to different activities guarded
by conditions of the decision point. Activities that terminate the modeled process are connected
to a termination point (just as in a statechart diagram). Optionally, the activities can be grouped
into swimlanes, which are used to indicate the object that actually performs the activity, as
shown in Figure.

Activity diagram for College Management System.

31
2160701 Software Engineering

Activity diagram for Online Railway Reservation System.

32
2160701 Software Engineering

PRACTICAL-9
Aim: To draw the implementation view diagram:Component diagram.

Component Diagram: A component diagram provides a physical view of the system. Its
purpose is to show the dependencies that the software has on the other software components
(e.g., software libraries) in the system. The diagram can be shown at a very high level, with just
the large-grain components, or it can be shown at the component package level.

 Component diagram for College Management System.

33
2160701 Software Engineering

 Component diagram for Online Railway Reservation System.

34
2160701 Software Engineering

PRACTICAL-10
Aim: To draw the environmental view diagram:Deployment diagram.

Deployment Diagram: The deployment diagram shows how a system will be physically
deployed in the hardware environment. Its purpose is to show where the different components of
the system will physically run and how they will communicate with each other. Since the
diagram models the physical runtime, a system's production staff will make considerable use of
this diagram. The notation in a deployment diagram includes the notation elements used in a
component diagram, with a couple of additions, including the concept of a node. A node
represents either a physical machine or a virtual machine node (e.g., a mainframe node). To
model a node, simply draw a three-dimensional cube with the name of the node at the top of the
cube. Use the naming convention used in sequence diagrams: [instance name] :[instance type].

 Deployment diagram for College Management System.

35
2160701 Software Engineering

 Deployment diagram for Online Railway Reservation System.

36

Das könnte Ihnen auch gefallen