0% found this document useful (0 votes)
31 views56 pages

SE Experiments

Uploaded by

Vinesh Gaikwad
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)
31 views56 pages

SE Experiments

Uploaded by

Vinesh Gaikwad
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/ 56

INDEX

S EXPERIMENT NAMES DOP DOS MARK SIGN


R
S
N
O
1. Prepare detailed statement of problem for
the selected / allotted mini project and
identify suitable process model forthe same
with justification.

2. Develop Software Requirement


Specification (SRS) document in
IEEE format for the project.

3. Use Project management tool to


prepare schedule for the project.

4. Identify Scenarios & Develop UML Use


Case & Class Diagram for theproject.

5. To develop DFD and model (level 0,level 1


DFD) of Selected / allotted
project.
6. To study and draw Activity
diagram for selected / allotted
project.
7. To study and draw Sequence
diagram for selected / allotted
project.
8. Prepare RMMM plan for the
project.
9. Change Specification and
different versions using SCM
tool.
10. To Develop test cases usingWhite
box testing.
Experiment No. 1
1. Aim: Prepare detailed statement of problem for the selected / allotted mini project and
identify suitable process model for the same with justification.

2. Objectives: From this experiment, the student will be able to


• To understand the requirements and prepare detailed statement of the problem.
• To learn how documentation is prepared according to requirements and
identifysuitable process model for the problem.

3. Outcomes: Students will demonstrate the basic knowledge of software process


models and software processes.

4. Hardware/ Software Required: Any text editor, Open source tool

5. Theory:

Prototyping
The Prototyping Model is one of the most popularly used Software Development Life Cycle
Models (SDLC models).This model is used when the customers do not know the
exact project requirements beforehand. In this model, a prototype of the end product
is first developed, tested and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for developing the final
product.
Problem Statement:-

School Management System (SMS) is a web based system for serving students and teachers.
The main idea of our system is to allow the students to be up to date with the school activities
that is with their attendance and grades, and for teachers it will beconsidered as an easy way to
manage their job, to be in touch with students and to enter their grades and attendance and
prepare test paper, evaluate it and enter the marks of students. This system will help to make a
wonderful virtual educational social community much needed in this covid scenario that
definitely will improve the student’s performance and education, and make the school for them
their second home.
Admin will be able to add teachers, add students, add class, add subjects,
modify/delete teachers, modify/delete students, modify/delete classes and
modify/delete subjects.
Teacher has to mark attendance, prepare test paper, check papers and enter marks.

Student will be able to view attendance and vie his/her marks.

Actors:- Admin, Teacher, Students

The corresponding functions for these actors are:

• Admin:
Login, Logout, Add Teachers, Add Students, Add Class, Add Divisions,
AddSubjects, Modify/Delete Teachers, Modify/Delete Students, Modify/Delete
Class,Modify/Delete Divisions, Modify/Delete Subjects

• Teacher:
Mark Attendance, Prepare Test Paper, Check Papers, Enter marks

• Student:
View attendance, View Marks

Prototyping model can be used to build this application.

Reason of using Prototype Model –

• Users are actively involved in the development

• Since in this methodology a working model of the system is provided, the users
get a better understanding of the system being developed.

• Errors can be detected much earlier.

• Quicker user feedback is available leading to better solutions.

• Missing functionality can be identified easily.

• Confusing or difficult functions can be identified requirements validation,


quick implementation of incomplete, but functional application.

Advantages of Prototyping

• Reduces development time. - Reduces development costs.

• Requires user involvement.


- Developers receive quantifiable user feedback.
- Facilitate system implementation since users know what to expect.
- Results in higher user satisfaction.
- Exposes developers to potential future system enhancements

6. Conclusion:

Software Process Models plays an important role in development of any software process or
project, as software developers has to manage large-scale software projects. Different types of
process models are available. As per the requirements establish, choose one of the process
models.
Experiment No. 2

1. Aim: Develop Software Requirement Specification (SRS) document in IEEE formatfor


the project.

2. Objectives: From this experiment, the student will be able to,


• To gain a deeper understanding of the Software Requirement Specification phaseand
the Software Requirement Specification (SRS).
• To learn how to write requirements and specifications.
• To learn how documentation is prepared according to functional & nonfunctionalrequirements

3. Outcomes: From this experiment, the student will be able to,


• Review of the requirements engineering process.
• Write requirements and specifications.

SOFTWARE REQUIREMENT SPECIFICATION (SRS)FOR STUDENT


MANAGEMENT SYSTEM

PURPOSE

This SRS Document contains the complete software requirements for the Student Management
System and describes the product functions, user characteristics, constraints and specific
requirements needed to implementthe system. The objective of the System is to maintain
information pertaining to the students with the purpose of: -

• Planned approach towards working

• Accuracy

• Reliability

• No Redundancy

• Easy to operate

• Immediate storage of information

• Immediate Retrieval of information


SCOPE

“STUDENT MANAGEMENT SYSTEM” is a project with a mission of viewing and manipulating


student information. The software aims to create a “paperless office”
rather than using a traditional record keeping system. The software will notonly help the
following levels of user in viewing the information but also each user can alongside update
changes within their respective access limits.

• Administrative Level

• Faculty

• Students

• Department Staff INTRODUCTION

EXISTING SYSTEM

The Existing Student Management System is done manually posing a lotof


difficulties to the students as well as teachers. It also involves a lot of paperwork and
is very time consuming.

Additionally, security of information is very less as all the details of studentsare recorded
on paper. Also, maintaining large number of student details, courses, attendances,
manually is a very complex task. Searching for a particular student is critical as it takes a
lot of time.

PROPOSED SYSTEM

An automated Student Management System will ease the burden of teachersas well as
students and other staff members. Student Management System is used to manage
and maintain the information of students and faculties.
This software helps the user to ease the access of information of students.This software
is also helpful for the administrator because he can easily bring changes to the records
of the student.

• Reduces the manual workload.

• Complete details of the student can be stored and retrieved.

• Complete details of the Faculty can be stored and retrieved.

• Attendance of students can be maintained.

• Faculty can access all student details and update the same.

• The student can view all his course details, attendance details, feedetails and results.
ADVANTAGES OF STUDENT MANAGEMENT SYSTEM

• Easy Access to All

One of the major benefits of the student management system these days is that they can be
accessed by one and all and that too with a great degree ofconvenience! Apart from
students and members of the management these systems can also be accessed by people
such as teachers and parents. In fact, all the members of staff can access these systems as
well.

• Better Performance by Students

Such system lets the students focus solely on their primary responsibility in life –
studying. No longer they need to come to admins for their recordsor any other thing that
may bother them. This means they have all the time that they need in order to work in
areas where work needs to be done.

• Simplifying & Streamlining all Tasks

A student tracking system comes with dashboards, which makes it easier for you to track
what work has already been done and what work needs to be done. The best part of all this
is that you get all the necessary information on a single screen, which helps you get the best
possible view.

• Reduction of Human Labor, Papers and Workload

The cost incurred from employing staff to manage the activities of a collegeis an
additional cost that shouldn't be if you decide to make use of this newtechnology. With
this student management system, your number of staffs, excessive buying of writing
materials will be minimal and functionality will improve.

OTHER NON-FUNCTIONAL REQUIREMENTS

PERFORMANCE REQUIREMENTS

• The performance of the system should be fast and accurate.

• Student Management System shall handle expected and unexpected errors in ways that
prevent loss in information and long downtime period. Thus, it should have inbuilt error
testing to identify invalid username/password.

• The System should be able to handle large amount of data. Thus itshould accommodate
high number of users without any fault.

SAFETY REQUIREMENTS

The database may get crashed at any certain time due to virus or operating system failure. Therefore, it is
required to take the database backup so that the database is not lost. Proper UPS/inverter facility
should be there in case ofpower failure.

SECURITY REQUIREMENTS

• System will use Secured Database.

• Authenticate each user who logs in.

• System will have different types of users and every user hasaccess constraints.

• When the user performs any action, authorize him or her to perform the actions allowed for the
user and displays an error message if found to be unauthorized.

BUSINESS RULES

A business rule is anything that captures and implements business policies and practices.
A rule can enforce business policy, make a decision, or infer new data from existing data. This
includes the rules and regulations that the system users should abide by. This includes the cost of
the project and the discount offers provided. The users should avoi8d illegal rules and protocols.
Neither admin nor the users should cross the rules and regulations.

SOFTWARE TOOLS

• Microsoft .Net framework 3.5

• Microsoft Visual Studio 2008

• Microsoft ASP.Net 3.5

• Microsoft C#.Net language

• Microsoft SQL Server 2005

• HTML

OPERATING ENVIRONMENT

The system should be able to work on any of the modern browsers like Firefox /
Explorer / Opera / Chrome, and any of the common Operating Systems like Linux,
Windows and Mac OS.

HARDWARE SPECIFICATION

Processor: Intel Pentium 4 or more

Ram: 1 GB or more

Hard disk: 40 GB hard disk recommended for the primary partition.


Conclusion:

SRS establish the basis for agreement between the customers and the suppliers also
reduce the development efforts, provide a basis for estimating costs and schedules, and
provide a baseline for validation and verification.
The SRS makes it easier to transfer the software product to new users ornew machines
&Serve as a basis for enhancement.
Experiment No. 3

1. Aim: Use Project management tool to prepare schedule for the project.

2. Objectives: From this experiment, the student will be able,


• To introduce the concept of advance software methodology
• To understand project management software for scheduling, cost control andbudget
management, resource allocation, collaboration software, communication, quality
management and documentation or administration systems which are used to deal with
the complexity of large projects.

3. Outcomes: Students will be able,


• To learn and apply different project scheduling techniques.
• To plan and determine schedule of the project.
• To draw timeline chart for the project.

4. Hardware / Software Required: PERT & CPM tools, MS Project..etc

5. Theory:

Introduction

Basically, PERT (Programed Evaluation Review Technique) and CPM (Critical Path Method)
are project management techniques, which have been created out of the need of Western
industrial and military establishments to plan, schedule and control complex projects.

Planning, Scheduling & Control

Planning, Scheduling (or organizing) and Control are considered to be basic Managerial
functions, and CPM/PERT has been rightfully accorded due importance in the literature on
Operations Research and Quantitative Analysis. PERT/CPM provided a focus around which
managers could brain-storm and put their ideastogether. It proved to be a great communication
medium by which thinkers and planners at one level could communicate their ideas, their
doubts and fears to another level. Most important, it became a useful tool for evaluating the
performance of individuals and teams.

There are many variations of CPM/PERT which have been useful in planning costs, scheduling
manpower and machine time. CPM/PERT can answer the followingimportant questions:

• How long will the entire project take to be completed? What are the risks involved?
• Which are the critical activities or tasks in the project which could delay the entireproject if
they were not completed on time?
• Is the project on schedule, behind schedule or ahead of schedule?
• If the project has to be finished earlier than planned, what is the best way to do thisat the
least cost?
The Framework for PERT and CPM

Essentially, there are six steps which are common to both the techniques. The procedure is listed
below:

1. Define the Project and all of its significant activities or tasks. The Project (made up of several
tasks) should have only a single start activity and a singlefinish activity.

2. Develop the relationships among the activities. Decide which activities must precede and
which must follow others.

3. Draw the "Network" connecting all the activities. Each Activity should have unique event
numbers. Dummy arrows are used where required to avoid givingthe same numbering to two
activities.

4. Assign time and/or cost estimates to each activity

5. Compute the longest time path through the network. This is called the criticalpath.

6. Use the Network to help plan, schedule, and monitor and control the project.

The Key Concept used by CPM/PERT is that a small set of activities, which make up the
longest path through the activity network control the entire project. If these "critical" activities
could be identified and assigned to responsible persons, management resources could be optimally
used by concentrating on the few activities which determine the fate of the entire project. Non-
critical activities can be replanned, rescheduled and resources for them can be reallocated flexibly,
without affecting the whole project.

Five useful questions to ask when preparing an activity network are:

• Is this a Start Activity?


• Is this a Finish Activity?
• What Activity Precedes this?
• What Activity Follows this?
• What Activity is Concurrent with this?

Some activities are serially linked. The second activity can begin only after the first activity is
completed. In certain cases, the activities are concurrent, because they are independent of each other
and can start simultaneously. This is especially the case inorganizations which have supervisory
resources so that work can be delegated to various departments which will be responsible for the
activities and their completion as planned. When work is delegated like this, the need for constant
feedback and coordination becomes an important senior management pre-occupation.

• Drawing the CPM/PERT Network

Each activity (or sub-project) in a PERT/CPM Network is represented by an arrow symbol.


Each activity is preceded and succeeded by an event, represented as a circleand numbered.
At Event 3, we have to evaluate two predecessor activities - Activity 1-3 and Activity2-3, both of
which are predecessor activities. Activity 1-3 gives us an Earliest Start of 3 weeks at Event 3.
However, Activity 2-3 also has to be completed before Event 3 can begin. Along this route, the
Earliest Start would be 4+0=4. The rule is to take the longer (bigger) of the two Earliest Starts. So
the earliest Start at event 3 is 4. Similarly,at Event 4, we find we have to evaluate two predecessor
activities - Activity 2-4 and Activity 3-4. Along Activity 2-4, the Earliest Start at Event 4 would be
10 wks, but along Activity 3-4, the Earliest Start at Event 4 would be 11 wks. Since 11 wks is larger
than 10 wks, we select it as the Earliest Start at Event 4.We has now found the longest path through
the network. It will take 11 weeks along activities 1-2, 2-3 and 3-
4. This is the Critical Path.

• The Backward Pass - Latest Finish Time Rule

To make the Backward Pass, we begin at the sink or the final event and work
backwards to the first event.

At Event 3 there is only one activity, Activity 3-4 in the backward pass, and we find that the value
is 11-7 = 4 weeks. However at Event 2 we have to evaluate 2 activities, 2-3 and 2-4. We find that
the backward pass through 2-4 gives us a value of 11-6 = 5 while 2-3 gives us 4-0 = 4. We take
the smaller value of 4 on the backward pass.

• Tabulation & Analysis of Activities

We are now ready to tabulate the various events and calculate the Earliest and LatestStart and
Finish times. We are also now ready to compute the SLACK or TOTAL FLOAT, which is
defined as the difference between the Latest Start and Earliest Start.
Event Duration(Weeks) Earliest Earliest Latest Latest Total

✦ The Earliest Start is the value in the rectangle near the tail of each activity
✦ The Earliest Finish is = Earliest Start + Duration
✦ The Latest Finish is the value in the diamond at the head of each activity
✦ TheLatest Start is = Latest Finish - Duration

There are two important types of Float or Slack. These are Total Float and Free Float.

• Total Float is the spare time available when all preceding activities occur at the earliest
possible times and all succeeding activities occur at the latest possible times.
Total Float = Latest Start - Earliest Start

• Activities with zero Total float are on the Critical Path. Free Float is the spare timeavailable
when all preceding activities occur at the earliest possible times and all succeeding activities
occur at the earliest possible times.When an activity has zeroTotal float, free float will also be
zero.

• There are various other types of float (Independent, Early Free, Early Interfering, Late Free,
Late Interfering), and float can also be negative. We shall not go into these situations at
present for the sake of simplicity and be concerned only with Total Float for the time being.
• Having computed the various parameters of each activity, we are now ready to gointo
the scheduling phase, using a type of bar chart known as the Gantt chart.
• There are various other types of float (Independent, Early Free, Early Interfering, Late Free,
Late Interfering), and float can also be negative. We shall not go into these situations at
present for the sake of simplicity and be concerned only with Total Float for the time being.
Having computed the various parameters of each activity, we are now
ready to go into the scheduling phase, using a type of bar chart known as the Gantt chart.

Results / Observation Analysis

Gant Chart

Pert Chart
Critical Path

Additional Learning

Both of these charts are used for task scheduling, controlling, and administering the tasks
necessary for the completion of a project. The difference between them is that a PERT chart
is a kind of network diagram, while a Gantt chart is a bar chart.

Conclusion:

A Timeline chart & project table helps in planning, how long that project might
take and that can
really
save time in the end and more so if you are on a deadline.
Experiment No. 4

1. Aim: Identify Scenarios & Develop UML Use Case & Class Diagram for theproject.

2. Objectives: From this experiment, the student will be able to

• Become conversant with the Unified Language (UML) notation and symbols.
• Learn the efficient tools to implement the method.
• Understand the importance of this experiment from application point of view.
• Learn the efficient tools to design use case & class diagram

3. Outcomes: Students will be able to apply UML notation to construct and


graphicallypresent various diagrams for Object- Oriented systems analysis.

4. Hardware / Software Required: Rational Software Architect tool.

5. Theory:

Use Case Diagram:


Use Case describes the behaviour of a system from a user’s standpoint, Provides functional
description of a system and its major processes, Provides graphic description of the users of
a system and what kinds of inheritance to expect withinthat system, Displays the details of
the processes that occur within the application area, Used to design the test cases for testing
the functionality of the system.

Elements of Use Case:


A Use Case diagram is quite simple in nature and depicts two types of elements: one
representing the business roles and the other representing the business processes. Elements
of Use Case diagrams are:
Actors: An actor portrays any entity (or entities) that perform that perform certain roles in
a given system. An actor in a use case diagram interacts with a use case and is depicted
“outside” the system boundary.

<<actor>>

Actor Name
Use case: A use case in a Use Case diagram is a visual representation of distinct business
functionality in a system. Each use case is a sequence of transactions performed by the
system that produces a major suit for the actor.
Use case name

System Boundary: A system boundary defines the scope of what a system will be.A
system cannot have infinite functionality.

Relationships in Use Case:

1. Include: Include is used when two or more use cases share common portion in the flow of
events. The stereotype <<include>> identifies the relationshipinclude.

2. Extend: In an extend relationship between two use cases, the child use case adds to the
existing functionality and characteristics of the parent use case.

3. Generalization: A generalization relationship is also a parent-child relationship between use


cases. The child use case in the generalization relationship has the underlying business process
meaning, but is an enhancement of the parent use case.

DOCUMENTING USE CASE DIAGRAM:


USE CASE 1:

Use case name Name of use case


Use case Id Unique identifier of the use case
Super use case If the use case inherits a parent use
case
Actor then The actorthe name which is to
are enterparticipating into this in
thefield.
execution of use case.
Brief Description Description of scope of use case and
Preconditions observableConstraints that value
must to actor. be satisfied before
Post conditions the Conditionuse case will can

beb establish invoked.ed after the use


case.
Priority Development priority from the view
of
development team
Flow of events Ste by step description of the
interaction
Alternative flows and exceptions betweenAlternatives actor or and
exceptionsthe system. that may
occur.
Non-behavioral requirements Non-functional requirements like
h/w and s/w requirements.
Assumptions All the assumptions made about the
use
Issues case.All outstanding issues related
to the use case need to be resolved.
Source Includes references and materials
used in developing use case

Class Diagram:
An object model captures a static structure of a system by showing the objects in the system,
relationship between the objects, and the attributes and operation that characterize each class of
objects. Object models provide an intuitive graphic representation of a system and are valuable for
communicating with customers anddocumenting the structure of the system.

Steps for Constructing Object Model (Class Diagram):


The first step in analyzing the requirements is to construct an object model. The object
model shows the static data structure of the real world system and organizesit into
workable pieces. The object model describes real world object classes and their
relationships to each other.
The following steps are performed in constructing an object model:
(1) Identify objects and classes
(2) Prepare a data dictionary
(3) Identify associations (including aggregations) between objects.
(4) Identify attributes of objects and links.
(5) Organize and simplify object classes using inheritance.
(6) Identify operations to be included in a class.
(7) Verify that access paths exist for likely queries.
(8) Iterate and refine the model
(9) Group classes into modules

Elements of Class Diagram:

Class: Classes are composed of three things: a name, attributes, and operations. Below is an
example of a class:

Class-Name …
Attribute Name - 1 : datatype 1 = default
value 1 Attribute Name - 2 : datatype 2 =
default value 2
Operation Name 1 (argument List 1) : result Type 1
Operation Name 2 (argument List 2) :
result Type 2

Attributes: An attribute is data value held by the objects in a class. An attribute should
be a pure data value, not an object. Unlike objects, pure data values do not have identity.

Operations and Methods: An operation is a function or transformation that may be


applied to or by objects in a class. Operations are listed in the lower third of theclass box.

Links and Association: Links and association are the means for establishing
relationships among objects and classes. A link is a physical or conceptual connection between
object instances. An association describes a group of links with common structure and common
semantics.
An association describes a set of potential links in the same way that a class describes a
set of potential objects. Associations are inherently bi-directional.

Class1 Class2

Association

Multiplicity: Multiplicity specifies how many instances of one class may relate to a single
instance of an associated class. Multiplicity constrains the number of related objects. Multiplicity
is often described as being “ one” or “many” but more generally it is subset of non negative
integers.
Object diagram indicate multiplicity with special symbols at the ends of associationlines.
Multiplicity can be specified with a number or set of intervals, such as “1”, “1+”(1 or more), “3-
5”(3 to 5, inclusive), and “2, 4,18” (2,4 or 18)
Generalization and Inheritance: Generalization and Inheritance are powerful abstractions for
sharing similarities among classes while preserving their differences.
Generalization is the relationship between a class and one or more refined versions of it. The
class being refined is called the superclass and each refined version is called subclass. Attributes
and operations common to a group of subclasses are attached to the superclass and shared by
each subclass. Each subclass is said to inherit the features of its superclass. Generalization is
sometimes called the “is-a” relationship because each instance of a subclass is an instance of the
superclass as well.
SubClass1 SubClass2

Generalization

Aggregation: Aggregation is the “part- whole” or “a-part-of” relationship is which objects


representing the components of something are associated with an object representing the entire
assembly. Aggregation is a tightly coupled form of association with some extra semantics. The
most significant property of aggregation is transitivity that is if A is part of B, and B is part of C
then A is part of C. Aggregation is also antisymmetric, that is if A is part of B then B is not part
of A. Finally, some properties of the assembly propagate to the components as wellpossibly with
some local modifications.

Documenting Class Diagram:


CLASS 1
Class Id Unique Id of Class

Class Name Name of Class

Attributes List of attributes for each class

Methods Functions carried out by class

Associations Relationship between different classes

Inheritance Classes sharing similarities

Identify how many instances of


one class may relate to single
Multiplicity instance of
an
associated class
Description
Description of Diagram
CLASS 2
….
CLASS
N

Results / Observation Analysis

Use Case Diagram


Class Diagram

Additional Learning
UML contains different diagrams and Use case is one of it. Use Case diagram defines
Behavioural component of Software Design i.e. Actor communicating with the system through
Task - Use Case. UML also contains Structural diagrams as well as - such as Class Diagram.

Conclusion:

Class diagram is useful for abstract modelling and for designing actual programs. Class Diagram
matches the industry requirements in the domains of Database management, Programming and
Networking which gives the complete knowledge and understanding ofthe system. It also helps
in analyzing the local and global impact of computing on system and organizations.
Use Case diagram helps to understand the different processes and entities involved in a
system and help the analyst to understand and document the system
Experiment No. 5

1. Aim: To develop DFD and model (level 0, level 1 DFD ) of Selected / allottedproject. (Write the
name of your project)

2. Objectives: From this experiment, the student will be able to

• Get balanced exposure to both traditional and object oriented approaches to system analysis &
design.
• To understand the importance of this experiment from application point ofview.

3. Outcomes: The learner will be able to

• To construct the candidate system following design methodology.


• Have leadership and management skills to accomplish a common goal.
• Communicate effectively in both graphical and written form.

4. Hardware / Software Required: Rational Software Architecture tool.

5. Theory:

Data Flow Diagram

A data flow data diagram is one means of representing the functional model of a software
product. DFDs do not represent program logic like flow transitions do. The DFD can be created
for different levels. The context level DFD (also considered as level 0) shows the entire system
as a single process, and gives no clues as to its internal organization. This context-level DFD is
next "exploded", to produce a Level 1 DFD that shows some of the detail of the system being
modeled.The Level 1 DFD shows how the system is divided into sub-systems (processes), each
of which deals with one or more of the data flows to or from an external agent, and which
together provide all of the functionality of the system as a whole.

Data Flow Diagram Notations:

External Entity: External entities are objects outside the system, with which the system
communicates. External entities are sources and destinations of the system'sinputs and outputs.

Process: A process transforms incoming data flow into outgoing data flow.

SOFTWARE ENGINEERING
Datastore Notations
DataStore: Datastores are repositories of data in the system. They are sometimes also referred to
as files.

Dataflow: Dataflow are pipelines through which packets of information flow. Labelthe arrows
with the name of the data that moves through it

Fig: Data Flow DiagramDocumenting Data Flow

Diagram:

Level 0 DFD Documentation: Process :

Process Name Name of the process

Entities List of entities related with this process

Data Flow Name of the flow

Data store List all the related datastores to


this process
Descripti
on Description of process if needed
(optional
)

LEVEL 1 DFD

Process Name Name of the process

Entities List of entities related with this process

Data Flow Name of the flow

Data store List all the related datastores to


this process
Descripti
on Description of process if needed
(optional
)

Process 2:

Process Name Name of the process

Entities List of entities related with this process

Data Flow Name of the flow


Data store List all therelated datastores to
this process
Description (optional)
Description of process if needed

|
Process n

Results / Observation

AnalysisLevel 0
Level 1
Additional Learning
A data flow diagram shows the way information flows through a process or system. It
includes data inputs and outputs, data stores, and the various subprocesses the data moves
through. DFDs are built using standardized symbols and notation to describe various entities
and their relationships.

Conclusion:

DFD is a Graphical representation of functional representation of an information system.


Experiment No. 6

1. Aim: To study and draw Activity diagram for selected / allotted project.

2. Objectives: From this experiment, the student will be able to

• Apply key modelling concepts to both the traditional structured approach and the Object
Oriented approach.
• Captures the dynamic behavior of the system.
• Learn the efficient tools to design Activity diagram.

3. Outcomes: The learner will be able to

• Apply various tools and techniques for key modelling to both the traditionalstructured approach
and the Object Oriented approach.
• Model the activities which are nothing but business requirements.
• Use current techniques, skills, and tools necessary to design activity diagram.

4. Hardware / Software Required: Rational software architect tool.

5. Theory:

Activity diagram is used for business process modelling, for modelling the logic captured by a
single use case or usage scenario, or for modelling the detailed logicof a business rule. Activity
diagram is a dynamic diagram that shows the activity and the event that causes the object to be
in the particular state. The easiest way to visualize an activity diagram is to think of a flow
transition and data flow diagrams(DFDs).

Need of an Activity Diagram:

The general purpose of activity diagrams is to focus on flows driven by internal processing vs.
external events. Activity diagrams are also useful for: analysing a use case by describing what
actions needs to take place and when they should occur; describing a complicated sequential
algorithm; and modelling applications with parallel processes.

Elements of an Activity Diagram

An Activity diagram consists of the following behavioural elements:

Initial Activity: This shows the starting point or first activity of the flow and denoted by a solid
circle. There can only be one initial state on a diagram.
Initial Activity

Activity: Represented by a rectangle with rounded (almost oval) edges.

Activity

Transition: When an activity state is completed, processing moves to another activity state. Transitions
are used to mark this movement. Transitions are modelledusing arrows.
Transition Decisions: Similar to flowcharts, a logic where a decision is to be

made is depicted by a diamond, with the options written on either side of the arrows emerging
from the diamond,within box brackets.

Decisions

Synchronization Bar: Activities often can be done in parallel. To split processing ("fork"), or to
resume processing when multiple activities have been completed ("join"), Synchronization Bars
are used. These are modelled as solid rectangles, with multiple transitions going in and/or out.
Fork denotes the beginning of parallelactivity. Join denotes the end of parallel processing.

Synchronization Bar

Final Activity: The end of the Activity diagram is shown by a bull's eye symbol, also called as a
final activity. An activity diagram can have zero or more activity final nodes.

Final Activity
Swim Lanes
Activity diagrams provide another ability, to clarify which actor performs which
activity. If you wish to distinguish in an activity diagram the activities carried out by individual
actors, vertical columns are first made, separated by thick vertical black lines, termed swim lanes and
name each of these columns with the name of the actor involved. You place each of the activities
below the actor performing theseactivities and then show how these activities are connected.
Documenting Activity Diagram:

Activity 1:

Activity name Name of the activity

Description Description about activity

Events Events occurred during activity

Actor Actor performing activity

Join synchronization bar To show multiple activities occurring


simultaneously
Fork synchronization bar To resume processing when
multiple activities have been
completed
Activity Diagram Id ID that identifies diagram uniquely

Name Name o the diagram

Conditions before starting the activities


Preconditions
Post Conditions Conditions after the activities are over
Results / Observation Analysis

Additional Learning
An activity diagram is a behavioral diagram i.e. it depicts the behavior of a system.
An activity diagram portrays the control flow from a start point to a finish point showing the
various decision paths that exist while the activity is being executed.

Conclusion:

It can be concluded saying activity diagrams focus on flows driven by internal processingvs.
external events and used to model a logic captured by single scenario.
Experiment No. 7

1. Aim: To study and draw Sequence diagram for selected / allotted project.

2. Objectives: From this experiment, the student will be able to

• Apply UML notation to construct and graphically present communicationdiagram for


Object- Oriented systems analysis.
• Show objects interactions arranged in time sequence and messages exchanged.
• Learn the efficient tools to design sequence diagram.

3. Outcomes: The learner will be able to


• Identify the roles, functionality and behavior of individual objects as well asthe overall
operation of the system in real time.
• Show object interactions arranged in time sequence.

4. Hardware / Software Required: Rational software architect tool.

5. Theory:

A sequence diagram is a graphical view of a scenario that shows object interaction in a time-
based sequence. Sequence diagrams are closely related to collaboration diagrams and both are
alternate representations of an interaction. There are two main differences between sequence and
collaboration diagrams: sequence diagramsshow time-based object interaction while
collaboration diagrams show how objectsassociate with each other.
A sequence diagram has two dimensions: typically, vertical placement represents time and
horizontal placement represents different objects.

Need of Sequence Diagram:


Sequence diagrams establish the roles of objects and help provide essential information to
determine class responsibilities and interfaces. This type of diagram is best used during early
analysis phases in design because they are simple and easyto comprehend. Sequence diagrams
are normally associated with use cases.

Elements of Sequence Diagram:


The following tools located on the sequence diagram toolbox enable to model sequence
diagrams:

Class roles
Class roles describe the way an object will behave in context. Use the UML object symbol to
illustrate class roles, but don't list object attributes.
Object : Class

Activation
Activation boxes represent the time an object needs to complete task.

Messages
Messages are arrows that represent communication between objects. Asynchronous messages
are sent from an object that will not wait for a response from the receiverbefore continuing its
tasks.

Lifelines :
Lifelines are vertical dashed lines that indicate the object's presence over time.
Destroying Objects:

Objects can be terminated early using an arrow labeled "< < destroy > >" that pointsto an X.
< < destroy > >

Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place thecondition for
exiting the loop at the bottom left corner in square brackets [ ].

Documenting Sequence Diagram:


Scenario Id Scenario
Name
Objects Participating in Sequence Sequence of
Operations in Scenario

Collaboration Diagram
A collaboration diagram is an interaction diagram that emphasizes the structural organization of
the objects that send and receive messages.
We form a collaboration diagram by first placing the objects that participate in theinteraction as
the vertices in a graph, and then add the links that connect these
objects as the arcs of this graph. Finally, adorn these links with the messages that objects sends
and receive with sequence numbers.

Need of Collaboration Diagram:


We use collaboration diagram to describe a specific scenario. Numbered arrows show the
movement of messages during the course of a scenario. A distinguishing feature of a
Collaboration diagram is that it shows the objects and their association with other objects in the
system apart from how they interact with each other. The association between objects is not
represented in a Sequence diagram.

Elements of Collaboration Diagram:


A sophisticated tool can easily convert a collaboration diagram into a sequence diagram and the
vice versa. Hence, the elements of a Collaboration diagram are essentially the same as that of a
Sequence diagram.

Object : The objects interacting with each other in the system. Depicted by a rectangle with the
name of the object in it, preceded by a colon and underlined.

Object Name :

Object

Relation/Association: A link connecting the associated objects. Qualifiers can be placed on either
end of the association to depict cardinality.

*1..*Association

Messages: An arrow pointing from the commencing object to the destination object shows the
interaction between the objects. The number represents the order/sequence of this interaction.

MessageDocumenting Collaboration Diagram:

Scenario Id Scenario Name


Objects Participating in CollaborationAssociation between Objects Sequence of Operations in
Scenario
Results / Observation Analysis
Additional Learning
The main differences between sequence and collaboration diagrams: sequence diagrams
show time-based object interaction while collaboration diagrams show how objects associate
with each other Collaboration diagrams show objects, their links,
and their messages.

Conclusion:
Sequence diagram helps to model different objects in a system and to represent the sequenceof
operations in scenario. Collaboration diagram helps to model different objects in a systemand to
represent the associations between the objects as links.
Experiment No.8

Aim: Prepare RMMM plan for the project.

Theory:
The risk denotes the uncertainty that may occur in the choices due to past actions and riskis
something which causes heavy losses.

Risk management refers to the process of making decisions based on an evaluation of thefactors
that threats to the business.

Various activities that are carried out for risk management are-

• Risk identification
• Risk projection
• Risk refinement
• Risk mitigation, monitoring and management ⮚
Different types of risks:
1. Project risk:

Project risk arises in the software development process then they basically affect budget, schedule,
staffing, resources and requirements. When project risks becomesevere then the total cost of
project gets increased.

2. Technical risk:

These risks become reality then potential design implementation, interface, verification, and
maintenance problems get created. Technical risk occurs whenproblem becomes harder to solve.

3. Business risk:

When feasibility of software product is in suspect then business risks occur. Businessrisks can
be further categorized as:

i) Market risk- When a quality software product is built but if there is nocustomer for this
product then it is called market risk.

ii) Strategic risk-When a product is built and if it is not following the company’s business
policies then such product brings strategic risk.

iii) Sales risk- When a product is built but how to sell is not clear thensuch a situation brings
sales risk.
iv) Management risk- When senior management or the responsible staffleaves the organization
then management risk occurs.
v) Budget risk-Losing the overall budget of the project is called budget risk.
Documentation:

Students should prepare Risk Table & RMMM plan Template for Risk table

⮚ Template for Risk table:


No Risk Category Probabilit Impact RMMM
. y
1.

2.

3.

⮚ Risk Table Construction


• List all risks in the first column of the table

• Classify each risk and enter the category label in column two

• Determine a probability for each risk and enter it into column three

• Enter the severity of each risk (negligible, marginal, critical, and catastrophic)in column four.

⮚ Template for RMMM Plan


Additional Learning:
A risk management strategy can be defined as a software project plan or the risk management
steps. It can be organized into a separate Risk Mitigation, Monitoring and Management Plan. The
RMMM plan documents all work performed as part of risk analysis and is used by the project
manager as part of the overall project plan
Conclusion:
From Risk table it will be helpful to define & access for each project risk that can threat toproject.
Once RMMM plan has been documented & project has begun & risk mitigation monitoringsteps
begin.
RISK TABLE

No. Risk Category Probability Impact

1. Larger number PS 60% 1


of users
than planned
2. Late delivery BU 40% 1

3. End users BU 25% 1


resist system
4. Technology will TE 20% 1
not meet
expectations
5. Changes PS 20% 2
in
requireme
nts
6. Lack of TI 15% 2
development
expertise
7. Poor Quality BU 10% 2
Documentati
on
8. Lack of TI 10% 3
database
stability
9. Poor comments TI 10% 4
in code

Impact values
1-
catastrophic
2-critical
3- marginal
4- 4-negligible
EXPERIMENT NO 9

Aim: Change Specification and different versions using SCM tool.

Theory:

SCM tools:-

The term "SCM" stands for Source code Management, a basic but essential part of any project
developed in the current IT world. It is a kind of software that the developers usually use to
manage their source code. It plays a vital role in the process of software development because it
ensures that every member of the team stays on the top of source code changes in an ongoing
project.

There is a common doubt in the users that they think it is the source code management tool that
solves all the source code management problems and full fills the source code management
requirements of a particular project.
In Software Engineering Software Configuration Management is the task of tracking and
controlling changes in the software part of the larger disciplinary field of Configuration
Management.

The SCM practices include vision controls in the establishment of baselines. If something goes
wrong, SCM can determine what was changed and who changed it.

SCM Features:

Enforcement: With enforcement feature execution daily, ensures that thesystem is configured to
the desired state.

Cooperating Enablement: This feature helps to make the change configuration throughout the
infrastructure with one change.

Version Control Friendly: With this feature, the user can take their choice of version for their
work.

Enable Change Control Processes: As Software Configuration Management tools are version
control and textual friendly we can make changes in code. Changes can be made as a merge
request and send for review.

Different SCM Tools:-


1) Solar Winds :provides a Server Configuration Monitor to detect unauthorized
configuration changes to your servers and applications. It will help you to baseline server and
application configurations on Windows and Linux. It will improve visibility & team
accountability anddecrease the troubleshooting time.
Prominent Features:
• SolarWinds Server Configuration Monitor provides alerts and reportsfor the deviations
from the baseline in almost real-time.
• It can track server and application changes.
• It has features to spot the differences between configs.
• It has enhanced change auditing capabilities by monitoring the scriptoutputs.
Pros:
• The tool provides the features to help you decrease thetroubleshooting time.
• It provides the facility of hardware and software inventory tracking and hence you will have
an up-to-date list of hardware and softwareassets.
Cons:
As per reviews, it takes some time to get a hand on the tool.

2) CFEngine is a configuration management tool that provides automation configuration for


huge computer systems, inclusive of the unified management of servers, systems, users,
embedded networkeddevices, mobile devices, and systems.
Features of CFEngine:
• Configuration Management
• Process Management
• Task Management
• Patch Management Pros:
• High Availability
• Highly Scalable (5000 agents per HubHub)
• Highly Secure (20 years with outstanding security record)
• Extremely cheap on resources and fast(CPU, Memory) Cons:
• Documentation is very difficult to understand where to start the newinstallation.
• The configuration is very complex.
• Not good with file integrity checkers.

3) Puppet is an open-source software configuration management tool. Itis used for


deploying, configuring and managing servers. It uses a master-slave architecture.

Prominent Features:
• Reporting and Compliance i.e. gain real-time visibility into the stateof your infrastructure.
• Event Inspection
• Automated Provisioning
• Get enterprise support all-day
• Orchestration
Pros: There are many positive aspects to it as mentioned below:
• Puppet has Strong compliance in automating and reporting tools.
• Puppet provides active community support across development tools.
• Puppet provides Intuitional web UI to handle multiple tasks,
whichincludes reporting and real-time node management.
Cons: There are some disadvantages which are mentioned below:
• Initial understanding could be tough for new users who should learnPuppet DSL or Ruby, as
advanced and real-time tasks eventually require input from CLI.
• While installing the Puppet process lacks adequate error messaging.
• Puppet support is more priories toward Puppet DSL over pure Rubyversions.
• Puppet Lacks revert system, so there is no immediate action onchanges.
4) The chef is basically an automation platform that provides a way to configure
and manage infrastructure. Infrastructure as code implies executing by coding rather
than doing manual execution. The chef works on Ruby and DSL for writing the
configurations.

Why is CHEF preferred?


There are many reasons to prefer CHEF:
• As we all know Chef supports multiple platforms like Microsoft Windows
and Ubuntu. Some client platforms like Debian and Fedoraetc.
• Chef also provides active, smart and fastest-growing communitysupport.
Pros:
• Chef follows the Push model and allows cloud adoption.
• Chef helps to increase service resiliency, to develop more defect-freesoftware as
it captures bugs before they occur.
• Chef Helps to improve risk management. Chef’s automation abilitiesare able to
lower risk and improve compliance at all stages of development.
Cons:
• Chef tool is forced into Ruby
• some workflows in Chef seem a bit convoluted as code bases becomehuge
• The chef doesn’t support the push functionality.

5) Ansible is the best configuration management,


deployment, orchestration open- source tool and also

6) automation engine.

It is a push-based configuration tool. It helps to automate the entire IT


infrastructure by providing large productivity gains. Ansible generallyconnects
through SSH, remote PowerShell or via other remote APIs.

The feature of Configuration Tool Ansible:


• Agentless means no need for agent installation and management.
• Uses SSH for secure connections.
• Follows push-based architecture for sending configurations so thatthe user
can control the changes made on servers.
• Ansible can be idempotent if written carefully.
• Minimal Learning is required.
Pros:
• Ansible is based on SSH, so it doesn’t require to install any agents onremote nodes.
• Ansible playbook structure is easy and crystal clear structured.
• Ansible has a more streamlined codebase compared to some othertools.
• Ansible is idempotent.
• It has high interoperability.
Cons:
• Ansible is less effective than other tools that are based on
otherprogramming languages.
• Ansible does its logic modification through the DSL, that meanschecking in on
the documentation consequently until you learn it
• In Ansible variable registration is asked for even simple functionalities,
which converts easier tasks into more complicated
• Ansible introspection is really very poor, so it makes tough to see thevalues of
variables within the playbooks.
• Poor development testing.

7) SaltStack is also a configuration tool that works on a master-client setupmodel or a


non-centralized model. SaltStack is based on Python programming language,
SaltStack provides a push and SSH methods to communicate with clients. SaltStack
allows to group together clients and configuration templates to take control of the
environment simple and easy.

The most important features of Saltstacks are as follows:

• Salt Cloud integrates with many other cloud providers like GoogleCloud, AWS,
etc. so it’s easy to take benefit of all the assets with one command.
• Saltstack has minions that can check files, processes also host otherthings.
• With orchestrate in bucket Saltstack deploys a complex applicationby
executing singleline commands.
Pros:
• It is simple, Straight and usage is easy once you go through the setupphase.
• Saltstack has a DSL feature so it doesn’t require logic and states.
• Saltstack’s Input, output, and configs are very stable and consistentbecause it uses
the concept of YAML.
• The introspection feature plays a handy role as it makes simple tolook at what
is happening inside Salt.

Cons:
• The first installation process is really difficult to set up and maketough for new users to understand.
• Support for non-Linux Oss is not that great.
• Refer Below Screen Shot of SaltStack

8) Juju is one of the famous configuration management tools which is opensource and is created
by Canonical Ltd.

Juju mainly emphasizes on decreasing the operational overhead of new generation software by
providing facilities like quick deployment, configuring, scaling, integration, and doing operational
tasks on a huge rangeof public and private cloud services along with only servers, open stacks, and
local system based deployments.
JUJU Features:
• JUJU provides software provisioning capabilities.
• JUJU provides instant integration and scaling.
• JUJU can resolve almost all complexities regarding service scalingby using charm.
• JUJU can be used to run multiple PaaS on a platform.
• Kubernetes cluster deployment.
Pros:
• JUJU has a small footprint (2 nodes) K8s cluster deployment.
• JUJU has a multinode deployment.
• Dashboard, Ingress controller, and DNS.
• JUJU provides TLS between nodes for security.
• JUJU can scale up and down nodes. Cons:
• JUJU has a Lock-In
• JUJU provides no clear instructions on using the OpenStack cloudprovider and using a cylinder or
LbaaS.
• JUJU provides no support for advanced networking such as Calico.
• JUJU has no possibility to provide provision open Stack Nodes forthe K8s cluster.

9) The rudder is one of the famous and most used open-source, web- driven, role-based solutions,
configurations, and audit management tools tomake automated system configuration across huge IT
organizations and compliance.

Rudder depends on a light local agent which are installed on each and every managed system.
Rudder’s server-side web interface is built by Scala language and its local agent is written in C
language.
Features of Rudder:

• Rudder Tool provides Web Interface to manage the nodes and alsodefine policies.
• Rudder hosts the inventory part.
• Rudder provides a custom policy editor, which is very unique.
• Rudder automates the simple tasks of administration like installing orconfiguring.
• Rudder supports FULL REST API to communicate with RudderServer.
• The rudder has GIT in its backend.
• Rudder dynamically generates each host policy.
Pros:
• Best performance
• The rudder is based on CFEngine standard so inherits somefunctionalities
of CFEngine
• It provides automated inventory for hardware and software both
• It provides graphical reporting
• It has the best practices library included Cons:
• Rudder community is growing but not very big on this day like thepuppet,
Ansible, etc.
• Rudder is overkill if the goal is only to push one-time actions.
10) TeamCity is also one of the management and continuous integration server developed by
Jet Brains and based on Java Programming Language.

nd
Released on 2 October, TeamCity provides up to 100 build configurations (jobs) and
run unlimited builds. Concurrently it runs 3 agents and if needed itto add extra also. It
possesses a public bug tracker and forum open to all the users. It’s open-source so free
for all users. Features:
• TeamCity provides technology awareness.
• TeamCity has a configuration feature that avoids code duplication.
• TeamCity version control system is comprehensive.
• TeamCity provides support for integrations.
• TeamCity supports build history.
• TeamCity helps you with multiple ways of interaction,customization,
and extending your server.
• Cloud integration functionality is also supported. Pros:
• TeamCity is a feature-rich toolset.
• TeamCity has many developer-oriented features.
• TeamCity doesn’t require any additional plugins.
• There are more than 100 features in TeamCity.
• TeamCity allows you to grow and move smoothly.
Cons:
• TeamCity restricts you in terms of different kinds of projectsaccording to
its base plan especially build configurations.
• It may take time for a new user to get acquainted with the projecthierarchy
structure of it.

Output Analysis:

• There are multiple people working on software which is continuallyupdating


• It may be a case where multiple version, branches, authors are involved in a
software config project, and the team is geographicallydistributed and works
concurrently
• Changes in user requirement, policy, budget, schedule need to beaccommodated.
• Software should able to run on various machines and OperatingSystems
• Helps to develop coordination among stakeholders
• SCM process is also beneficial to control the costs involved inmaking changes
to a system

Additional Learning: In Software Engineering, Software Configuration


Management(SCM) is a process to systematically manage, organize, and control the
changes in the documents, codes, and other entities during the Software Development Life
Cycle. The primary goal is to increase productivity with minimalmistakes.

Conclusion: Various Different SCM tools have been studied in detail.


Experiment No.10

1. Aim: To Develop test cases using White box testing.

2. Objectives: From this experiment, the student will be able,

• To stress the importance of a testing in the development of a software


• Learn how traceability of tests from the source, allowing future changes to thesoftware to
be easily captured in changes to the tests.

Outcomes: The learner will be able to


● To validate the software project
● To engage in continuing professional development and higher studies.

3. Hardware / Software Required: Any open source tool or technology can be used
for implementation.

4. Theory:

• White-box testing is also known as clear box testing, glass box testing, transparent box testing,
and structural testing. It is a method of testing software that tests internal structures or
workings of an application, as opposedto its functionality (i.e. black-box testing). In white-box
testing an internal perspective of the system, as well as programming skills, are used to design
test cases. The tester chooses inputs to exercise paths through the code and determine the
appropriate outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT).
• White-box testing is testing that takes into account the internal mechanism of asystem
or component

• White-Box Testing Techniques


• Statement coverage
• Loop testing
• Path testing
• Branch testing

• 100% method coverage: All methods in all classes are called.


• 100% statement coverage: All statements in a method are executed.void foo (int
a, b, c, d, e)

{
if (a == 0)
{
int x = 0;

return;
}
if ((a==b) OR ((c==d) AND bug(a) ))
{
x =1;
}
e = 1/x;
}

• Make sure all the paths are covered.


• Determine the paths
• Construct a logic flow chart

• Path testing: Determine Paths

• Logic flow diagram

• Cyclomatic complexity measures the amount of decision logic in the program module.
• Cyclomatic complexity gives the minimum number of paths that can generate all possible
paths through the module. It is used to define minimum number of test cases required for a
module and it is used during software development lifecycle to quantify maintainability
and testability. Cyclomaticcomplexity is defined as

CC = E - N +

P • Where

E = the number of edges of the graphN = the number of

nodes of the graph

P = the number of connected componentIn case of connected

graph

CC = E - N + 2

In simplified way it can be defined as

CC = D +1

Where

D = the number of decision points in the graph

• In following example the CC is 4, thus this module has 4 linearly independentpaths and this
is the minimum number of test paths to achieve maximum coverage
• TC0: 0->1->2->3->11
• TC1: 0->1->2->4->5->6->11
• TC2: 0->1->2->4->5->7->8->10->2->3->11
Additional Learning:

Cyclomatic complexity measures the amount of decision logic in the program


module.Cyclomatic complexity gives the minimum number of paths that can generate all
possible paths through the module. It is used to define minimum number of test cases required
for a module and it is used during software development lifecycle to quantify maintainability
and testability.

Conclusion:

Test cases play important role in basic path testing. Using flow graph, we can compute the
number of independent paths through the code.
Function to implement Bubble Sort:
void bubbleSort(int arr[], int n)
{
int i = 0, j = 0; while (i < n-1)
{
// Last i elements are already in placewhile
(j < n-i-1)
{
if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);j++;
} i++;
}
So

M = 11 - 9 + 2(1) = 4
M = 3 + 1 = 4 Independents paths are given below.

• 1,2,3,4
• 1,2,3,4,8,3,9
• 1,2,3,4,5,6,7,8,3,9
• 1,2,3,4,5,7,8,3,9

You might also like