Professional Documents
Culture Documents
Software Engineering Process Tools: Unit - V
Software Engineering Process Tools: Unit - V
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 offer a distinct perspective of the business process and are especially
convenient in supporting communication.
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 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 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
They support the analysis and the design phase. They include tools for analysis modeling, reports and forms
generation.
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.
Bugzilla
• 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.
• With the help of this tool, we can get the email notification.
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.
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.
• Customizable templates
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."
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
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:
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
Levels of Causes:
❑ Physical Cause
❑ System Cause
• Pareto Analysis
• Brainstorming
• 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.
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