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

Software Engineering

Process Tools

UNIT - V
What Is a Process Model?

▪ Process models are usually set down through different graphing methods and are normally
utilized to examine and represent a range of activities that occur periodically and on a
regular basis.
▪ They can and are used to model the workflow between departments and people, or the flow
of activities in an application or a system.
▪ Software process modeling is used to provide a simpler representation of a software process.
Each model represents a process from a specific perspective. In any organization, software
processes range according to the needs of a specific group or project.
▪ The basis of the software development process depends upon SDLC (Software
Development Life Cycle) models. In order to help organizations achieve their required
objectives fairly easily, there have been many developments with respect to life cycle models.
Software Process Modeling
Types of Software Process Models
The most important and popular of them are:
• Waterfall model
• V model
• Incremental model
• Iterative model
• RAD model
• Spiral model
• Agile model
Tools & Techniques of Business Process
Models
Tools & Techniques of Business
Process Models
Business process modeling notation (BPMN)

The BPMN uses a set of graphical objects and rules that define available connections between them to
illustrate a graphic representation of business processes. It consists of flow objects, connecting objects,
swimlanes, and artifacts.

UML Diagrams

A modeling language, UML is typically used for visualizations, specification, and documentation of software
systems.

Flowchart technique

This technique utilizes a sequential flow of actions and does not support activity breakdown.
Tools & Techniques of Business
Process Models
Data Flow Diagrams

DFDs are utilized to catalog the analyzed processes as the design documentation's part.

Role Activity Diagrams

Role activity diagrams offer a distinct perspective of the business process and are especially
convenient in supporting communication.

Role Interaction Diagrams

While a shade more sophisticated than flow diagrams, RIDs are fairly intuitive and easy to
understand; however, they can be really, with many arrows pointing right and left
Tools & Techniques of Business
Process Models
GANTT Charts
A matrix listing the activities or tasks on the vertical axis, the GANTT chart is a fairly easy
business process model. Its rows contain single activity identification, while the columns indicate
the estimated duration of the activity.

IDEF
A family of methods used to support paradigms capable of addressing an enterprise's modeling
and business areas. In BPM, the most used parts are IDEF0 and IDEF3.
Software Engineering-Integrated Case Environments

The tendency of the CASE approach, technically speaking, is the integration of tools that
assist in the application of specific methods. In this sense, the environment architecture,
which includes the platform and the system's hardware and software, constitutes the base of
the CASE environment.
Use of CASE tools
• The CASE tools are used to

• Reduce the cost as they automate many repetitive manual tasks.

• Reduce development time of the project as they support standardization and avoid
repetition and reuse.

• Develop better quality complex projects as they provide greater consistency and
coordination.

• Create good quality documentation.

• Create systems that are maintainable because of proper control of configuration item
that
support traceability requirements.
Categories of CASE Tools
Sometimes CASE tools are classified in to following categories due to their activities
1. UPPER CASE Tools
2. LOWER CASE Tools
3. INTEGRATED CASE Tools

Upper CASE tools:

They support the analysis and the design phase. They include tools for analysis modeling, reports and forms
generation.

Lower CASE tools:

They support the coding phase, configuration management, etc.

Integrated CASE tools:

It is known as I-CASE and also supports analysis, design and coding phases.
Advantages and Disadvantages of CASE Tools
Defect and problem tracking
tools
We have various types of bug tracking tools available in software testing that helps us to track the
bug, which is related to the software or the application.
Some of the most commonly used bug tracking tools are as follows:
• Jira
• Bugzilla
• BugNet
• Redmine
• Mantis
• Trac
• Backlog
Jira

Jira is one of the most important bug tracking tools. Jira is an open-source tool that is
used for bug tracking, project management, and issue tracking in manual testing

. Jira includes different features, like reporting, recording, and workflow. In Jira, we can
track all kinds of bugs and issues, which are related to the software and generated by
the test engineer.
Bugzilla

Bugzilla is another important bug tracking tool, which is most widely used by many organizations to track the
bugs. It is an open-source tool, which is used to help the customer, and the client to maintain the track of the
bugs. It is also used as a test management tool because, in this, we can easily link other test case management
tools such as ALM, quality Centre, etc.

It supports various operating systems such as Windows, Linux , and Mac

Features of the Bugzilla tool

Bugzilla

has some features which help us to report the bug easily:

• A bug can be list in multiple formats

• Email notification controlled by user preferences.

• It has advanced searching capabilities

• This tool ensures excellent security.

• Time tracking
BugNet
BugNet
It is an open-source defect tracking and project issue management tool, which was
written in ASP.NET
and C# programming language and support the Microsoft SQL database.

The objective of BugNet is to reduce the complicity of the code that makes the
deployment easy.
The advanced version of BugNet is licensed for commercial use.

Features of BugNet tool

The feature of BugNet tool are as follows:

• It will provide excellent security with simple navigation and administration.

• BugNet supports various projects and databases.

• With the help of this tool, we can get the email notification.

• This has the capability to manage the Project and milestone.


Backlog

The backlog is widely used to manage the IT projects and track the bugs. It is mainly built for
the development team for reporting the bugs with the complete details of the issues,
comments, updates and change of status. It is a project management software.

Features of backlog tool are as follows:

• Gantt and burn down charts

• It supports Git and SVN repositories

• It has the IP access control feature.

• Support Native iOS and Android apps


SmartSheet
SmartSheet

This tool has a spreadsheet style. It is used for managing multiple projects simultaneously. It helps business organizations manage
workflows and enhance team collaboration. It lets automate actions through simple rules.

Features

• Provides security, user management, and single-on capabilities for both team and project management.

• Offers solution building to fulfil business demands

• Customizable templates

• Seamless connection with the enterprise ecosystem

• Simplifies budget and planning

• Strong analytics and reporting

• Automation, input through web forms, proofing and approvals


SCM Process

It uses the tools which keep that the necessary change


has been implemented adequately to the appropriate
component. The SCM process defines a number of tasks:

• Identification of objects in the software configuration


• Version Control
• Change Control
• Configuration Audit
• Status Reporting
SCM Process
Identification

Basic Object: Unit of Text created by a software engineer during analysis, design, code, or
test.

Aggregate Object: A collection of essential objects and other aggregate objects. Design
Specification is an aggregate object.

Each object has a set of distinct characteristics that identify it uniquely: a name, a
description, a list of resources, and a "realization."

The interrelationships between configuration objects can be described with a Module


Interconnection Language (MIL).
Version Control
Version Control combines procedures and tools to handle different version of configuration
objects that are generated during the software process.

Clemm defines version control in the context of SCM: 

Configuration management allows a user to specify the alternative configuration of the


software system through the selection of appropriate versions.

This is supported by associating attributes with each software version, and then allowing a
configuration to be specified [and constructed] by describing the set of desired attributes.
Change Control

Change Control is Vital. But the forces that make it essential also make it annoying.

A change request is submitted and calculated to assess technical merit; potential side
effects, the overall impact on other configuration objects and system functions, and
projected cost of the change.
Access Control
Access Control governs which software engineers have the authority to access and modify a
particular configuration object.
Synchronization Control helps to ensure that parallel changes, performed by two different people,
don't overwrite one another.
Configuration Audit
SCM audits to verify that the software product satisfies the baselines requirements and ensures that
what is built and what is delivered.
SCM audits also ensure that traceability is maintained between all CIs and that all work requests are
associated with one or more CI modification.
SCM audits are the "watchdogs" that ensures that the integrity of the project's scope is preserved.
Status Reporting
Configuration Status reporting (sometimes also called status accounting) providing accurate
status and current configuration data to developers, testers, end users, customers and
stakeholders through admin guides, user guides, FAQs, Release Notes, Installation Guide,
Configuration Guide, etc.
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.
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 so ware.

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.
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 so ware 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)
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 so ware 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
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 So ware helps you to increase service resiliency, to
develop more defect-free so ware.
• 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
so ware.
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 so ware 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
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.
JUJU Configuration Tool

Juju is an open source tool which mainly emphasizes on decreasing the operational overhead of
new generation so ware. Juju offers features like configuring, scaling, quick deployment,
integration, etc.

Features:
• This so ware configuration management tool Offers so ware 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.
Rudder

Rudder is an open source Continuous Configuration solution. The tool is used to satisfy the
need of production infrastructure. This multi-platform tool allows you to automate and
maintain your production infrastructure.

Features:
• Web Interface feature helps you to manage the nodes and define policies of your
environment.
• This so ware configuration management tool Allows you to automate the simple tasks of
administration like installing or configuring.
• Rudder offers FULL REST API to communicate with Rudder Server.
• Allows you to generate host policies dynamically.
• It offers automated inventory for hardware and so ware both.
TeamCity Configuration Tool

TeamCity is an open source continuous integration server developed by Jet Brain. TeamCity
offers up to 100 build configurations (jobs) and runs unlimited builds.

Features:
• Extensibility and Customization
• This so ware configuration management tool Provides better code quality for any project
• Helps you to maintains CI server healthy and stable even when no builds are running
• Project level cloud profiles
• Comprehensive VCS integration
• On-the-fly build progress reporting
Octopus Deploy

Octopus Deploy tool enables automation for complex application deployments. Whether the
application is on-premises or in the cloud.

Features:
• Offers repeatable & reliable deployments
• Complex deployments made easy.
• Octopus can promote release between environments.
• This so ware configuration management tool Offers world-class platform support like ASP.NET,
Node.js, Java and many other scripting languages, and platform
ConfigHub

ConfigHub helps teams manage, secure and deliver configuration across the entire stack.
The tool allows you to store, manage and distribute so ware configuration for a single
application or a distributed system.

Features:

• Eliminate config duplication and errors


• Dynamic modeling for any system topology
• Helps you to control all config from one place
Alibaba Application Configuration
Management

Application Configuration Management, which is also known as ACM. It allows you to


centralize the management of application configurations. The tool enhances service
capabilities for DevOps, Big Data and Microservices.

Features:
• Separates sensitive data from application code and running environments.
• Offers real time configuration for your environment.
• Offers multi-level cache service and ensures 99.99% server availability
• Supports push log for configuration during the entire life cycle.
• Supports version management
Spinnaker

Netflix offers Spinnaker configuration management tool. It is an open source multi-cloud platform
for releasing so ware changes with high velocity and greater accuracy.

Features:
• Helps you to create deployment pipelines which run through integration and system tests.
• It helps you to spin up and down server groups, and monitor your rollout.
• Helps you to leverage an immutable infrastructure in the cloud
AWS OpsWorks

AWS OpsWorks is a configuration management service which offers managed instances of Chef and
Puppet. OpsWorks Stacks offer flexibility to define your application architecture and resource
configuration.

Features:
• The interface is intuitive which allows you to quickly find what you want to do and what other
features are within OpsWorks.
• It allows you to handles the provisioning and management of your AWS resources.
• Provides a flexible and straightforward method to create and manage stacks and applications.
• Allows you to include multiple applications in a stack that are configured to work together as a
system.
IBM Rational Synergy

IBM Rational Synergy is an easy to use so ware configuration management tool. It offers capabilities
which allow your teams to work and collaborate faster and easier. The tool helps you to automate
process and tasks.
Features:
• Increase productivity
• This configuration management so ware helps you Manage artifacts on a single repository
• Offer an advanced baseline and release management capabilities.
• Support so ware reuse and component-based development
• This scm tool Deliver a highly scalable platform
ZENworks Configuration Management

ZENworks Configuration Management tool helps your organization to automate and


enforce IT management processes across the lifecycle of all devices in physical, virtual,
and cloud environments.
Features:
• Automate and accelerate your Windows 10 migration
• This configuration management so ware helps you to boosts user productivity
• Automatically enforce resource and policies with identity-based management of users
and devices.
• This scm tool Allows you to manage the lifecycles of all your current and future assets
Risk Management
What is Risk Management?
Risk management is the process of identifying, assessing, and prioritizing the risks to minimize,
monitor, and control the probability of unfortunate events.

Risk Management Process:

Risk Management process can be easily


understood with use of the following workflow:
Risk Management Practices:
• Software Risk Evaluation (SRE)

• Continuous Risk Management (CRM)

• Team Risk Management (TRM)

What is Root Cause?


◦ Root Cause is the process of identifying the contributing factors for the underlying variations in performance associated with adverse events or close calls.

Levels of Causes:

❑ Physical Cause
❑ System Cause

Significance of Root Cause Analysis (RCA):

❑ Prevent problems from recurring


❑ Reduce possible injury/death to the end users
❑ Reduce rework and scrap
❑ Promote happy customers and stockholders
❑ Reduce cost and save money
Useful Tools for RCA:

• Pareto Analysis

• Brainstorming

• Flow Charts or Process Mapping

• Cause and Effect Diagram

• Benchmarking
Pareto
Analysis
Website Errors
Error (Cause) Count Cumulative Count Cumulative %
Broken Links 349 349 43.7
Spelling Errors 169 518 64.8
Missing Title Tag 79 597 74.7
Missing Description Tag 77 674 84.4
Broken Image 45 719 90.0
Script Error 30 749 93.7
Incorrect Use of Headings 15 764 95.6
Missing ALT tags 14 778 97.4
Browser Compatibility 12 790 98.9
Security Warning 9 799 100.0
Pareto Analysis
Here are eight steps to identifying the principal causes you should focus on, using Pareto Analysis:
1. Create a vertical bar chart with causes on the x-axis and count (number of occurrences) on the y-axis.
2. Arrange the bar chart in descending order of cause importance that is, the cause with the highest count first.
3. Calculate the cumulative count for each cause in descending order.
4. Calculate the cumulative count percentage for each cause in descending order. Percentage calculation:
{Individual Cause Count} / {Total Causes Count}*100
5. Create a second y-axis with percentages descending in increments of 10 from 100% to 0%.
6. Plot the cumulative count percentage of each cause on the x-axis.
7. Join the points to form a curve.
8. Draw a line at 80% on the y-axis running parallel to the x-axis. Then drop the line at the point of intersection
with the curve on the x-axis. This point on the x-axis separates the important causes on the left (vital few)
from the less important causes on the right (trivial many).
Software & Tools for Management of
your Network
1. SolarWinds Network Performance Monitor – FREE TRIAL An SNMP-driven network device status monitor that provides live
monitoring with status alerts when acceptable performance thresholds get crossed. Runs on Windows Server.

2. Datadog Infrastructure Monitoring – FREE TRIAL A monitoring service that focuses on the services and server resources that support
front-end software. This is a cloud-based service.

3. Site24x7 Infrastructure Monitoring – FREE TRIAL A monitor for servers and services with network monitoring included to check device
health and traffic volumes. This is a cloud-based service.

4. Paessler PRTG – FREE TRIAL A package of network, server, and application monitors that the user tailers by deciding which sensors to
activate. Installs on Windows Server.

5. ManageEngine OpManager Plus – FREE TRIAL A system monitoring service that covers all aspects of IT infrastructure. Available for
Windows Server and Linux.

6. ITRS OP5 Monitor All IT infrastructure from networks up to applications are covered by this tool that also supports business processes,
such as SLA and data protection standard conformance. Available for Linux, on Windows over a hypervisor, or on Azure or Amazon.

7. Nagios XI An infrastructure monitor that covers networks, servers, and applications and is based on the free Nagios Core. Runs on Linux.

8. Zabbix A free monitoring system with attractive data visualizations that covers networks, servers, and applications. Runs on Linux,
macOS, and Unix.

9. Progress WhatsUp Gold A network device and server monitor that can be extended to cover bandwidth utilization and application
performance. Runs on Windows Server.
Administrative Tools
Administrative Tools is the collective name for several advanced tools in Windows that are used
mainly by system administrators.

What Are Administrative Tools Used For?

The programs can be used to schedule a test of your computer's memory, manage advanced
aspects of users and groups, format hard drives, configure Windows services, change how the
operating system starts, and much, much more.
Component Services

• Component Services is an MMC snap-in used to


administer and configure COM components,
COM+ applications, and more.
• It's included within Administrative Tools in
Windows 10, Windows 8, Windows 7, and
Windows XP. This tool does exist in Windows
Vista (execute comexp.msc to start it) but for
some reason wasn't included within
Administrative Tools in that version of Windows.
Computer Management

• Computer Management is an MMC snap-in used as a


central location to manage local or remote computers.
• It includes Task Scheduler, Event Viewer, Local Users and
Groups, Device Manager, Disk Management, and more,
all in a single location. This makes it really easy to
manage all the important aspects of a computer.
Defragment and Optimize Drives
❑ Defragment and Optimize Drives opens Microsoft Drive
Optimizer, the built-in defragmentation tool in Windows.

❑ It's included within Administrative Tools in Windows 10


and Windows 8. Windows 7, Windows Vista, and
Windows XP all have defragmentation tools included but
they're not available via Administrative Tools in those
versions of Windows
Disk Cleanup

▪ Disk Cleanup opens Disk Space Cleanup Manager, a tool


used to gain free disk space by removing unnecessary
files like setup logs, temporary files, Windows
Update caches, and more.

▪ It's part of Administrative Tools in Windows 10 and


Windows 8. You can also find it in Windows 7, Windows
Vista, and Windows XP, but the tool isn't available via
Administrative Tools.
Event Viewer

▪ Event Viewer is an MMC snap-in used to view


information about certain actions in Windows,
called events.
▪ It can sometimes be used to identify a problem that has
occurred in Windows, especially when an issue has
occurred but no clear error message was received.
▪ Events are stored in event logs. A number of Windows
event logs exist, including Application, Security, System,
Setup, and Forwarded Events.
▪ Application specific and custom event logs exist in Event
Viewer as well, logging events that occur with and are
specific to certain programs.
iSCSI Initiator

▪ The iSCSI Initiator link in Administrative Tools starts the


iSCSI Initiator Configuration Tool.
▪ This program is used to manage the communication
between networked iSCSI storage devices.
▪ Since iSCSI devices are typically found in an enterprise
or large business environments, you typically only see the
iSCSI Initiator tool used with Server versions of Windows.
▪ It's included within Administrative Tools in Windows 10,
Windows 8, Windows 7, and Windows Vista.

You might also like