0% found this document useful (0 votes)
65 views

Functional Decomposition Use Case

The document discusses the COCOMO model for software cost estimation. It explains the steps in the COCOMO model which includes getting an initial effort estimate based on thousands of delivered source lines of code (KDLOC), determining multiplying factors from project attributes, and calculating the effort estimate by multiplying the initial estimate and factors. It describes the three project types in COCOMO as organic, semidetached, and embedded. For each project type, different equations are provided to predict effort and development time based on size in KLOC.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

Functional Decomposition Use Case

The document discusses the COCOMO model for software cost estimation. It explains the steps in the COCOMO model which includes getting an initial effort estimate based on thousands of delivered source lines of code (KDLOC), determining multiplying factors from project attributes, and calculating the effort estimate by multiplying the initial estimate and factors. It describes the three project types in COCOMO as organic, semidetached, and embedded. For each project type, different equations are provided to predict effort and development time based on size in KLOC.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

FINAL LAB INDEX

DOE DOS DOE DOS


BATCH -1 (SAT) BATCH -2 (MON) WHAT TO SUBMIT
1 11-Feb-2023 25-Feb-2023 06-Feb-2023 13-Feb-2023 SRS
2 25-Feb-2023 04-Mar-2023 13-Feb-2023 27-Feb-2023 DFD
3 04-Mar-2023 10-Mar-2023 27-Feb-2023 06-Mar-2023 Functional Decomposition
4 10-Mar-2023 11-Mar-2023 06-Mar-2023 13-Mar-2023 use case
5 11-Mar-2023 18-Mar-2023 13-Mar-2023 17-Mar-2023 Class Diagram
6 18-Mar-2023 25-Mar-2023 17-Mar-2023 20-Mar-2023 Sequence, Collaboration
7 25-Mar-2023 1-Apr-2023 27-Mar-2023 3-Apr-2023 State , Activity Diagram
8 1-Apr-2023 8-Apr-2023 3-Apr-2023 10-Apr-2023 Forward/reverse
Engineering
9 8-Apr-2023 15-Apr-2023 8/-Apr-2023 10-Apr-2023 Component , Deployment
10 15-Apr-2023 29-Apr-2023 1-May-2023 8-May-2023 Cost & effort Estimation,
Test Case Generation
11 29-Apr-2023 5-May-2023 Revision
12 5-May-2023 6-May-2023 8-May-2023 Lab Internal-II

FORMAT FOR WRITING THE INDEX


Week : 1
Prelab Questions
Prelab Programs : Name of the program ( Ex : create SRS for Hospital management System)
Lab Program : SRS of Your project (write your project Title)

SOFTWARE ENGINEERING EXPERIMENTS


Week : 1 - SRS
Prelab Questions
1. What is the formula of Software Engineering
2. List of various software myths
3. Identify the characteristics of a good software
4. Differentiate between sw product and process and a software product
5. List the framework and umbrella activities
Prelab Programs
Create Software Requirements Specification for Hospital Management System
Lab Program : To collect software requirements and create software requirement specification for your project
(write your project Title)

Week : 2 - DFD
Prelab Questions
1. State the purpose of DFD
2. List and give the notations of DFD components
3. What is Context level diagram ?
4. Differentiate between a flowchart and a DFD
5. List the rules for DFD components
Prelab Programs
Design dataflow diagram for software requirements of Patient management system
Lab Program
Design dataflow diagram for software requirements of your project (write your project Title)
Week : 3-Functional Decomposition
Prelab Questions
1. Define functional decomposition
2. State the purpose of functional decomposition
3. How is coupling different from cohesion ?
4. Advantages and disadvantages of functional decomposition.
5. Differentiate between functional and non functional requirements.
Prelab Programs
Design functional decomposition diagram for Event management system
Lab Program
Show the functional decomposition of your project (write your project Title)

Week : 4-Use Case Diagram


Prelab Questions
1. What are the building blocks of UML
2. List out the UML diagrams
3. Identify the components of a use case
4. Summarize the types of relationships in UML
5. State the rules about the use case diagram
Prelab Programs
Design a use case diagram for an ATM
Lab Program :
Design a use case diagram for your project (write your project Title)

Week : 5-Class
Prelab Questions
1. Define a class
2. How do you represent a class diagram ?
3. Explain different relationships in a class diagram with an example
4. Represent the ways of depicting a class diagram .
Prelab Programs
Design the class diagram for a Banking System
Lab Program
Create a class diagram for your project (write your project Title)
Create a class diagram for online ordering system & ATM machine
Create a class diagram for student Management system

Week : 6-Sequence & Collaboration Diagrams


Prelab Questions
1. What are interaction diagrams ?
2. Identify the components of sequence diagram ?
3. Differentiate between sequence diagram and collaboration diagram ?
4. What is communication diagram ?
Prelab Programs
Design the sequence diagram for a transaction in ATM
Lab Program
Create sequence and collaboration diagrams for any transactions in your project (write your project Title)
Week : 7-State Chart
Prelab Questions

1. Identify the need for a state machine diagram


2. How is state machine diagram different from interaction diagrams
3. Define Events, States, and Transitions
4. What are pre and post conditions ?

Prelab Programs
Design the state chart diagram for manufacturing a car
Lab Program :
Design the state chart diagram for your project (write your project Title)
Design the state chart diagram for online ordering system & ATM machine

Week :8-Forward & Reverse Engineering


Prelab Questions
1. What is an activity diagram ?
2. Explain the components of activity diagram
3. Differentiate between activity diagram and a swimlane.
4. Differentiate between Forward & Reverse Engineering
5. Write the steps of forward & Reverse Engineering
Prelab Programs
Design the Activity diagram for student admission System
Lab Programs
Perform forward & reverse engineering for hospital management system
Create an Activity diagram for your project(write your project Title)

Week : 9-Component & Deployment Diagrams


Prelab Questions
1. What is the purpose of component diagram ?
2. When do you use deployment diagram
3. What are the notations used in deployment diagram
4. Differentiate between forward and reverse engineering
Prelab Programs
Generate component model for Ticket Reservation system
Lab Program :
Design component and Deployment diagrams your project(write your project Title)
Create component and Deployment diagrams for hospital management system

Week : 10
Prelab Questions
1. Define error, bug, fault and failure
2. What is a test case ?
3. List various types of testing.
4. Differentiate between white box and black box testing
5. List the testing tools.
Prelab Programs
Generate test cases for working of a credit card
Lab Program :
Generate the test cases for your project(write your project Title)
Week 10: - (i) SW Cost Estimation -COCOMO Model
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO
is one of the most generally used software estimation models in the world. COCOMO
predicts the efforts and schedule of a software product based on the size of the soft-
ware.

The necessary steps in this model are:

1. Get an initial estimate of the development effort from evaluation of thousands


of delivered lines of source code (KDLOC).
2. Determine a set of 15 multiplying factors from various attributes of the pro-
ject.
3. Calculate the effort estimate by multiplying the initial estimate with all the
multiplying factors i.e., multiply the values in step1 and step2.

The initial estimate (also called nominal estimate) is determined by an equation of


the form used in the static single variable models, using KDLOC as the measure of
the size. To determine the initial effort E i in person-months the equation used is of
the type is shown below

                Ei=a*(KDLOC)b

The value of the constant a and b are depends on the project type.

In COCOMO, projects are categorized into three types:

1. Organic
2. Semidetached
3. Embedded

1.Organic: A development project can be treated of the organic type, if the project
deals with developing a well-understood application program, the size of the devel-
opment team is reasonably small, and the team members are experienced in devel-
oping similar methods of projects. Examples of this type of projects are simple
business systems, simple inventory management systems, and data processing
systems.

2. Semidetached: A development project can be treated with semidetached type if


the development consists of a mixture of experienced and inexperienced staff. Team
members may have finite experience in related systems but may be unfamiliar with
some aspects of the order being developed. Example of Semidetached system in-
cludes developing a new operating system (OS), a Database Management Sys-
tem (DBMS), and complex inventory management system.

3. Embedded: A development project is treated to be of an embedded type, if the


software being developed is strongly coupled to complex hardware, or if the strin-
gent regulations on the operational method exist. For Example: ATM, Air Traffic con-
trol.
For three product categories, Bohem provides a different set of expression to predict
effort (in a unit of person month)and development time from the size of estimation
in KLOC(Kilo Line of code) efforts estimation takes into account the productivity loss
due to holidays, weekly off, coffee breaks, etc.

According to Boehm, software cost estimation should be done through three stages:
1. Basic Model
2. Intermediate Model
3. Detailed Model
Basic COCOMO Model: The basic COCOMO model provide an accurate size of the
project parameters. The following expressions give the basic COCOMO estimation
model:
                Effort=a1*(KLOC) a2 PM
                Tdev=b1*(efforts)b2 Months
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,
Tdev is the estimated time to develop the software, expressed in months,
Effort is the total effort required to develop the software product, expressed in per-
son months (PMs).
Estimation of development effort
For the three classes of software products, the formulas for estimating the effort
based on the code size are shown below:
Organic: Effort = 2.4(KLOC) 1.05 PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM
Estimation of development time
For the three classes of software products, the formulas for estimating the develop-
ment time based on the effort are given below:
Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Months
Some insight into the basic COCOMO model can be obtained by plotting the estim-
ated characteristics for different software sizes. Fig shows a plot of estimated effort
versus product size. From fig, we can observe that the effort is somewhat superliner
in the size of the software product. Thus, the effort required to develop a product in-
creases very rapidly with project size.

Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort


and development time for each of the three model i.e., organic, semi-detached &
embedded.
Solution: The basic COCOMO equation takes the form:
                Effort=a1*(KLOC) a2 PM
                Tdev=b1*(efforts)b2 Months
                Estimated Size of project= 400 KLOC
(i)Organic Mode
                E = 2.4 * (400)1.05 = 1295.31 PM
                D = 2.5 * (1295.31)0.38=38.07 PM
(ii)Semidetached Mode
                E = 3.0 * (400)1.12=2462.79 PM
                D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
                E = 3.6 * (400)1.20 = 4772.81 PM
                D = 2.5 * (4772.8)0.32 = 38 PM
Example2: A project size of 200 KLOC is to be developed. Software development
team has average experience on similar type of projects. The project schedule is not
very tight. Calculate the Effort, development time, average staff size, and productivity
of the project.
Solution: The semidetached mode is the most appropriate mode, keeping in view
the size, schedule and experience of development time.
Hence       E=3.0(200)1.12=1133.12PM
                D=2.5(1133.12)0.35=29.3PM

            P = 176 LOC/PM
WEEK : 10-(ii) SCM(Software Configuration Management) Tools

Configuration management (CM) is a system engineering method for establishing and maintaining
consistency of a product’s performance, functional, and physical attributes with its design,
requirements, and operational information throughout its life. They bring cost efficiency, better time
management for your organization.
Today’s market is flooded with an array of Configuration Management tools.

1) Desktop Central : Desktop Central offers configurations that help administrators manage


applications, system settings, desktop settings, and security policies. It can be used to deploy a group
of configurations all at once using the collection feature.
Features:
 It offers over 100 ready-made custom script templates and 30 pre-defined configurations,
ready to be deployed anytime
 It also provides computer-based and user-based configurations.
 Offers configurations for Mac and Linux as well.
 Status of the applied configurations can be tracked anytime.
Desktop Central is a UEM solution that offers traditional IT management and Modern management
features in a single console and also supports endpoint security add-on.
2) Auvik
Auvik is easy-to-use software configuration management software that helps you to identify the root
cause with up-to-date device logs. It Simplifies network performance monitoring & troubleshooting.

Features:
 Automated security & performance updates
 Network data is encrypted using AES-256
 Intelligently analyze network traffic
 Automate configuration backup & recovery
 You can navigate the network with ease
 Create powerful workflows with Auvik APIs

3) CFEngine Configuration Tool


CFEngine is a configuration management framework. It allows you to manage your mission-critical
tasks securely. This system configuration management tool is available as both open source and
commercial software.
Features:
 This is the best configuration management tool that Helps you to define the desired state and
configuration of your IT infrastructure
 Allows you to automate roll out updates and changes to every node in your infrastructure
 It uses autonomous agents which run on every node of your infrastructure.

4) Server Configuration Monitor


Server Configuration Monitor is a tool to detect and compare configuration changes to the server,
applications, and databases. It allows you to configure applications and servers in real time.
Features:

 The tool provides alerts and reports on deviations.


 You can compare the current configuration with previous versions.
 It allows you to track server software and hardware inventory.
 This app can be used to monitor output changes.
 It can be integrated with Orion platform (bandwidth performance and fault management tool)
5) Puppet Configuration Tool
Puppet is an open source and Best configuration management tool for centralizing and automating
the configuration management process. It is used to configure, manage, deploy various applications
and services.
Features:
 Automate provisioning across your IT infrastructure
 This scm tool Allows you to take full control and visibility over your software delivery process.
 Allows you to make quick changes or remediate urgent problems alongside your model-driven
automation management.
 This best configuration management tool Helps you to manage infrastructure as code using
your favorite version control systems
6) CHEF Configuration Tool
The chef is an automation platform that offers a method to configure and manage infrastructure. In
this tool, Infrastructure as code implies by executing coding instead of performing manual execution.
The chef tool works on Ruby and DSL for writing the configurations.
Features:
 Chef follows the Push model and offers an easy cloud adoption.
 This is the best configuration Management Software helps you to increase service resiliency,
to develop more defect-free software.
 Chef offers automation abilities which helps you to reduce the risk and improve compliance at
all stages of development.
 Configure various cloud-based SaaS services, and integrate cloud provisioning APIs and third-
party software.
7) Ansible Configuration Tool
Ansible tool offers simple IT automation solution. It helps you avoid t performing repetitive tasks and
frees up developer teams for more strategic work.
Features:
 This software configuration management tool allow you to easily model complex processes
 You will be informed of your automation status via integrated notifications.
 Ansible Tower allows you to manage your entire infrastructure.
 Run simple tasks on any host or group of hosts in your inventor
8) SALTSTACK Configuration Tool
SaltStack is another effective configuration tool. It works on a master-client setup model or a non-
centralized model. This tool is based on the Python programming language. SaltStack offers push and
SSH methods to communicate with clients.
Features:

 Salt Cloud integrates with various cloud providers like Google Cloud, Amazon web services,
etc.
 It is simple, and easy to use as you can run through the setup process.
 Saltstack has DSL feature, so it doesn’t need any logic and states.
 Introspection feature offers by salt could make simple for you to look at what is happening
inside Salt.
9) JUJU Configuration Tool
Juju is an open source tool which mainly emphasizes on decreasing the operational overhead of new
generation software. Juju offers features like configuring, scaling, quick deployment, integration, etc.
Features:

 This software configuration management tool Offers software provisioning capabilities.


 Allows instant integration and scaling.
 Helps you to resolve most of the complexities regarding service scaling by using charm.
 You can use this tool to multiple PaaS on a platform.
 Feature for Kubernetes cluster deployment.

Week 10: - (iii) Test Case Design

The format of Standard Test Cases


Test
Test Case Expected Actual
Case Test Steps Test Data Pass/Fail
Description Results Results
ID
1. Go to site http://de- User
Check mo.guru99.com Userid =
should
Customer 2. Enter UserId guru99 As
TU01 Login into Pass
Login with 3. Enter Password Password Expected
an
valid Data 4. Click Submit = pass99
application
TU02 Check 1. Go to site http://de- Userid = User As Pass
Customer mo.guru99.com guru99 should not Expected
2. Enter UserId
Login into
Login with 3. Enter Password Password
an
invalid Data 4. Click Submit = glass99
application
Week : 11- Rational Functional Tester (Testing Tool) Features

Feature Benefit

Simplify test cre- Enable non-technical quality professionals to collaborate in the quality process by leveraging Ra-
ation and visual- tional Functional Tester's Storyboard Testing capability, where test actions are represented in a
ization with visual storyboard format. Using this storyboard, novice and professional testers alike are easily
Storyboard test- able to communicate and understand their test flow as well as edit their test actions without
ing ever having to read or write a single line of test script code.

IBM Rational Functional Tester provides Jazz integration to support collaborative application life-
cycle management. Jazz Eclipse Client Version 2.0 integration provides Rational Functional
Provides Lifecycle
Tester access to work items within Rational Team Concert and Rational Quality Manager. Addi-
traceability
tionally enhanced SCM integration with Rational Team Concert supports the management and
sharing of test assets.

Ensure playback Frequent changes to an application's user interface can hamper test script execution. IBM Ra-
resilient to applic- tional Functional Tester introduces an advanced ScriptAssure technology to accommodate these
ation changes changes and avoid increases in maintenance overhead. ScriptAssure uses fuzzy matching al-
with ScriptAssure gorithms to locate objects during test execution, even if the objects have changed since test
technology creation.

data with dynamic data validation wizard Validating dynamic data, such as time stamps or order
Validate dynamic
confirmation numbers can be tedious time consuming task, involving complex manual coding.
data with dy-
IBM Rational Functional Tester includes wizard driven support for regular expression dynamic
namic data valid-
data validation. Users can effortlessly validate dynamic data against template patterns without
ation wizard
having to write complex code.

re-use with wizard for data driven test creation Data driven tests are functional tests that per-
Increase script
form the same series of test actions, but with varying data. IBM Rational Functional Tester can
re-use with wiz-
automatically detect data entered during test recording and prepare the test for data-driven
ard for data
testing. Using a spreadsheet-like data editor, you can then create customized data sets to be
driven test cre-
used by the test during playback. In this way, you can achieve test script re-use without time
ation
consuming manual coding.

Streamline auto- Rational Functional Tester provides ability to define and automate keywords which can be re-
mation with used in both functional and manual tests. This promotes script reuse and enables manual test-
keyword testing ers to easily and selectively leverage the power of automation within manual test cycles.

Test script customization is mandatory in order to perform anything but the most basic tests.
Choice of test IBM Rational Functional Tester gives you a choice of powerful, mainstream scripting languages
editing language to make this possible. Choose between either Java or Visual Basic .NET - both options can be
- Java or Visual used with all the supported user interface technologies. By working with Functional Tester, test-
Basic .NET ers quickly learn to work with basic language constructs and acquire programming skills that fa-
cilitate more productive communication with developers.

Proxy SDK Allows testers to extend automated functional testing support for custom controls.
MICRO PROJECT

FINAL SOFTWARE ENGINEERING LAB RECORD (To be Submitted as Book (Spiral Binding)

Table of Contents
1. Introduction (Purpose of your project)

2. Problem Statement (Brief description of your project

3. SRS

4. Star UML (Description about the features of Star UML)

5. System Design

i. Data Flow Diagram


ii. Functional Decomposition
iii. Use case Diagram
iv. Class Diagram
v. Sequence Diagram
vi. Collaboration Diagram
vii. Activity Diagram
viii. State Chart Diagram
ix. Component Diagram,
x. Deployment Diagram

6. Test Cases

7. Cost & Resource Estimation and Verification

8. Conclusion and future scope

9. References.
FINAL LAB INDEX

DOE DOS DOE DOS


BATCH -1 (SAT) BATCH -2 (MON) WHAT TO SUBMIT
1 11-Feb-2023 25-Feb-2023 06-Feb-2023 13-Feb-2023 SRS
2 25-Feb-2023 04-Mar-2023 13-Feb-2023 27-Feb-2023 DFD
3 04-Mar-2023 10-Mar-2023 27-Feb-2023 06-Mar-2023 Functional Decomposition
4 10-Mar-2023 11-Mar-2023 06-Mar-2023 13-Mar-2023 use case
5 11-Mar-2023 18-Mar-2023 13-Mar-2023 17-Mar-2023 Class Diagram
6 18-Mar-2023 25-Mar-2023 17-Mar-2023 20-Mar-2023 Sequence, Collaboration
7 25-Mar-2023 1-Apr-2023 27-Mar-2023 3-Apr-2023 State ,
8 1-Apr-2023 8-Apr-2023 3-Apr-2023 10-Apr-2023 Forward/reverse
Engineering
9 8-Apr-2023 15-Apr-2023 8/-Apr-2023 10-Apr-2023 Component , Deployment
10 15-Apr-2023 29-Apr-2023 1-May-2023 8-May-2023 Cost & effort Estimation,
Test Case Generation
11 29-Apr-2023 5-May-2023 Revision
12 5-May-2023 6-May-2023 8-May-2023 Lab Internal-II
S.No Date
B2 B1 TOPIC
Systems software Requirements and related analysis documents as
1 30.01.2023   per the guidance in ANSI/IEEE Std 830-1984,
Systems software Requirements and related analysis documents as
3 3.02.2023 4.02.2023 per the guidance in ANSI/IEEE Std 830-1984
Design documents representing the complete design of the soft-
5 6.02.2023 11.02.2023 ware system using Data flow diagram,
7 13.02.2023 4.03.2023 Functional Decomposition and structure
9 20.02.2023 10.03.2023 Behavioural Modelling- use case ,

11 27.02.2023 11.03.2023 Interaction ,State diagram demonstration using UML

Structural Modelling- Class diagram demonstration using UML


13 6.03.2023 1.04.2023
LAB INTERNAL-1
15 13.03.2023 18.03.2023
Familiarization of Forward and reverse engineering the class dia-
17 17.03.2023 8.04.2023 gram using tools
Architectural Modelling-component ,deployment diagram demon-
19 27.03.2023 15.04.2023 stration using UML

Simple exercises on effort, cost and resource estimation,Familiariza-


tion of SCM tools with some public domain software like SCCS, CV
21 3.04.2023 29.04.2023
Test Data Generation, Verification,Demonstration of Functional
Testing using RFT, Evaluation of Project Quality using RQM,Build a
design model for a given application,Build a design model for a
23 10.04.2023 5.05.2023 given application
24 17.04.2023   Revision
25 24.04.2023   Revision
26 1.05.2023 6.05.2023 LAB INTERNAL-2
29 8.05.2023 13.05.2023 INTERNAL-2

You might also like