0% found this document useful (0 votes)
2 views67 pages

Unit 5 Part 2

Computer-aided software engineering (CASE) tools facilitate software development by ensuring high-quality, defect-free products through a disciplined approach. They are categorized into various types based on their use in different stages of the software development life cycle (SDLC), including project management, documentation, analysis, design, and testing tools. These tools help manage project milestones, maintain documentation, and ensure customer involvement throughout the development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views67 pages

Unit 5 Part 2

Computer-aided software engineering (CASE) tools facilitate software development by ensuring high-quality, defect-free products through a disciplined approach. They are categorized into various types based on their use in different stages of the software development life cycle (SDLC), including project management, documentation, analysis, design, and testing tools. These tools help manage project milestones, maintain documentation, and ensure customer involvement throughout the development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

CASE Tools

CASE Tools

◈ Computer-aided software engineering (CASE) is the


implementation of computer-facilitated tools and methods
in software development.
◈ It ensures high-quality and defect-free software.

◈ CASE ensures a check-pointed and disciplined approach and


helps designers, developers, testers, managers, and others
to see the project milestones during development.

2
CASE Tools

◈ CASE can also help as a warehouse for documents related


to projects, like business plans, requirements, and design
specifications.
◈ Its final product meets real-world requirements as it ensures
that customers remain part of the process.

3
◈ CASE tools can be broadly divided into the following parts
based on their use at a particular SDLC stage:
◈ Central Repository - CASE tools require a central
repository, which can serve as a source of common,
integrated and consistent information.
◈ Central repository is a central place of storage
◈ product specifications, requirement documents and useful
information regarding management is stored.
◈ Central repository also serves as data dictionary.

4
5
◈ Upper Case Tools - Upper CASE tools are used in planning,
analysis and design stages of SDLC.
◈ Lower Case Tools - Lower CASE tools are used in
implementation, testing and maintenance.
◈ Integrated Case Tools - Integrated CASE tools are helpful
in all the stages of SDLC, from Requirement gathering to
Testing and documentation.

6
Types of CASE Tools

Diagram tools
◈ These tools are used to represent system components, data
and control flow among various software components and
system structure in a graphical form.
◈ For example, Flow Chart Maker tool for creating state-of-
the-art flowcharts.

7
Process Modelling Tools

◈ Process modeling is a method to create software process


model, which is used to develop the software.
◈ They help the managers to choose a process model or
modify it as per the requirement of software product.

8
Project Management Tools

◈ These tools are used for project planning, cost and effort
estimation, project scheduling and resource planning.
◈ Managers have to strictly comply project execution with
every mentioned step in software project management.
◈ They help in storing and sharing project information in real-
time throughout the organization. For example, Creative Pro
Office, Trac Project, Basecamp.

9
Documentation Tools

◈ Documentation in a software project starts prior to the


software process, goes throughout all phases of SDLC and
after the completion of the project.
◈ Documentation tools generate documents for technical
users and end users. Technical users are mostly in-house
professionals of the development team who refer to system
manual, reference manual, training manual, installation
manuals etc. The end user documents describe the
functioning and how-to of the system such as user manual.
For example, Doxygen, DrExplain, Adobe RoboHelp for
documentation. 10
Analysis Tools

◈ These tools help to gather requirements, automatically


check for any inconsistency, inaccuracy in the diagrams,
data redundancies or erroneous omissions.
◈ For example, Accept 360, Accompa, CaseComplete for
requirement analysis, Visible Analyst for total analysis.

11
Design Tools

◈ These tools help software designers to design the


block structure of the software, which may further
be broken down in smaller modules using
refinement techniques.
◈ These tools provide detailing of each module and
interconnections among modules.
◈ For example, Animated Software Design

12
Configuration Management Tools

◈ Configuration Management tools deal with –


• Version and revision management
• Baseline configuration management
• Change control management
◈ CASE tools help in this by automatic tracking, version
management and release management. For example, Fossil,
Git, Accu REV.

13
Change Control Tools

◈ These tools are considered as a part of configuration


management tools.
◈ They deal with changes made to the software after its
baseline is fixed or when the software is first released.
◈ CASE tools automate change tracking, file management,
code management and more.
◈ It also helps in enforcing change policy of the organization.

14
Programming Tools

◈ These tools consist of programming environments like IDE


(Integrated Development Environment), in-built modules
library and simulation tools.
◈ These tools provide comprehensive aid in building software
product and include features for simulation and testing.
◈ For example, Cscope to search code in C, Eclipse.

15
Prototyping Tools

◈ Software prototype is a simulated version of the intended


software product.
◈ Prototype provides initial look and feel of the product and
simulates few aspect of actual product.
◈ Prototyping CASE tools essentially come with graphical
libraries. They can create hardware independent user
interfaces and design. These tools help us to build rapid
prototypes based on existing information. In addition, they
provide simulation of software prototype. For example,
Serena prototype composer, Mockup Builder.
16
Web Development Tools

◈ These tools assist in designing web pages with all allied


elements like forms, text, script, graphic and so on.
◈ Web tools also provide live preview of what is being
developed and how will it look after completion.
◈ For example, Fontello, Adobe Edge Inspect, Foundation 3,
Brackets.

17
Quality Assurance Tools

◈ Quality assurance in a software organization is


monitoring the engineering process and methods
adopted to develop the software product in order to
ensure conformance of quality as per organization
standards.
◈ QA tools consist of configuration and change control
tools and software testing tools. For example,
SoapTest, AppsWatch, JMeter.

18
Maintenance Tools

◈ Software maintenance includes modifications in the


software product after it is delivered.
◈ Automatic logging and error reporting techniques,
automatic error ticket generation and root cause
Analysis are few CASE tools, which help software
organization in maintenance phase of SDLC. For
example, Bugzilla for defect tracking, HP Quality
Center.

19
Programming Environments
Programming Environments

◈ A software development environment (SDE) is the


collection of hardware and software tools a system
developer uses to build software systems.
◈ There 4 different environments in a software
development.
They are
1. Development environment
2. Testing environment
3. Staging environment
4. Production environment
21
1. Development environment:
◈ It is the first environment in software development.
◈ It acts as the workspace for developers to do
programming and other operations related to the
creation of software and/or systems.
◈ An integrated development environment (IDE) — a
software package with extensive functions for authoring,
building, testing, and debugging a program which is
commonly used by software developers. Some
programming software tools such as Microsoft Visual
Studio, Eclipse, NetBeans etc.
22
2. Testing environment:

◈ Here, testing teams evaluate the application/quality.


◈ This also allows computer programmers to find out and
solve any defects.
◈ The test environment is created by allocating storage,
computing, and other resources needed for testing.
◈ This could include new physical/virtual devices set up for
testing use cases defined by developers.

23
3. Staging environment:
◈ In this environment, you reveal data to the owner, but not
to the users.
◈ It is frequently restricted to a small group of people.
◈ You should run more tests before exposing to the latter
group. The staging environment is similar to the pre-
production in use.
◈ The only groups that can access the application in staging
are those with whitelisted emails and IP addresses, as well
as your developer team.

24
4. Production environment:
◈ When the end-user uses a web/mobile application, the
program is operating on a production server.
◈ Tests can be carried out while the product is in production,
and new features can be introduced safely at the same
time.
◈ Feature flags allow you to show a future version of an app
to a select few users while the rest continue to utilize the
current version.

25
26
Project Management Tools
Project Management Tools

◈ Project management is one of the high-responsibility tasks


in modern organizations.
◈ Project management is used in many types of projects
ranging from software development to developing the next
generation fighter aircrafts.

28
Project Management Tools

◈ For the execution of a project successfully, a set of tools is


needed.
◈ These tools can be specifically designed tools or regular
productivity tools.
◈ Eases burden and standardizes work of managers.

29
Project management Tools used by Project Managers

◈ Project Plan – It is a must


◈ First of all, it details out the project scope. Then, it describes
the approach or strategy used for addressing the project
scope and project objectives.- Apophis-April 13, 2029, an
asteroid
◈ Strategy is the core of the project plan.
◈ Strategy varies as per project purpose and requirements.
◈ Resource allocation and delivery schedule are other two
main components of the project plan.
30
Milestone Checklist

◈ This tool is used to determine whether the project manager


is on track in terms of the project progress.
◈ To execute this, a simple Excel template is sufficient.
◈ The milestone checklist should be a live document that
should be updated once or twice a week.

31
Gantt Chart

◈ Gantt chart illustrates the project schedule and shows


the project manager the interdependencies of each
activity.
◈ Universally used for any type of project from
construction to software development.
◈ It is one of the most complex tasks when the project is
involved in hundreds of activities.
◈ If the project has a high financial value or high-risk
exposure, then the project manager can use software
tools such as MS Project. 32
Project Management Softwares

◈ MS Project can be used as a standalone tool for tracking


project progress.

33
Project Reviews

◈ A comprehensive project review mechanism is a great tool


for project management.
◈ Large companies use comprehensive project reviews but
smaller organizations use basic ones.
◈ The project progress and the adherence to the process
standards are mainly considered. - Medicine
◈ Usually, project reviews are accompanied by project audits
by a 3rd party (internal or external).

34
Delivery Reviews

◈ Makes sure that the deliveries made by the project team


meet the customer requirements and adhere to the
general guidelines of quality.
◈ Usually, a 3rd party team or supervisors (internal) conduct
the delivery review and the main stakeholders of the
project delivery do participate for this event.
◈ The delivery review may decide to reject the delivery due
to the quality standards and non-compliances.

35
Score Cards

◈ Scorecards are used to track performance of the project


team.
◈ Every project manager is responsible of accessing the
performance of the team members and reporting it to the
upper management and HR.
◈ This information is then used for promotion purposes as
well as human resource development.
◈ Comprehensive report places right person in right place.

36
Requirement analysis and design
modeling tools
Requirements Analysis
◈ Requirement analysis is significant and essential activity
after elicitation. We analyze, refine, and scrutinize the
gathered requirements to make consistent and
unambiguous requirements.
◈ This activity reviews all requirements and may provide a
graphical view of the entire system.
◈ After this, understandability of the project improves
significantly.
◈ Here, we may also use the interaction with the customer to
clarify points of confusion and to understand which
requirements are more important
38
than others.
39
1. Draw the context diagram:

◈ The context diagram is a simple model that defines the


boundaries and interfaces of the proposed systems with the
external world.
◈ It identifies the entities outside the proposed system that
interact with the system.

40
41
2. Development of a Prototype (optional)

◈ One effective way to find out what the customer wants is to


construct a prototype, something that looks and preferably
acts as part of the system they say they want.
◈ We can use their feedback to modify the prototype until the
customer is satisfied continuously.
◈ Hence, the prototype helps the client to visualize the
proposed system and increase the understanding of the
requirements. When developers and users are not sure about
some of the elements, a prototype may help both the parties
to take a final decision. 42
3. Model the requirements

◈ This process usually consists of various graphical


representations of the functions, data entities, external
entities, and the relationships between them.
◈ The graphical view may help to find incorrect,
inconsistent, missing, and superfluous requirements.
◈ Such models include the Data Flow diagram, Entity-
Relationship diagram, Data Dictionaries, State-transition
diagrams, etc.

43
4. Finalise the requirements

◈ Modeling the requirements helps us have a better


understanding of the system behavior.
◈ The inconsistencies and ambiguities are identified and
corrected.
◈ The flow of data amongst various modules has been
analyzed.
◈ Elicitation and analyze activities have provided better
insight into the system.
◈ The next step is to document these requirements in a
prescribed format. 44
Design modelling tools
Design modelling tools
◈ Modelling tools are basically ‘model-based testing tools’
which actually generates test inputs or test cases from
stored information about a particular model (e.g. a state
diagram), so are classified as test design tools.
◈ t helps to validate models of the system or software. For an
example a tool can check consistency of data objects in a
database and can find inconsistencies and defects.
◈ Modeling tools can also be used for checking state models
or object models.

46
Design modelling tools
◈ Modeling tools are generally used by developers and can
help in the design of the software.
◈ They can be used before dynamic tests can be run. This
enables in finding and identifying the defects at early stage,
when it is easier and cheaper to fix them.

47
Features of Design modelling tools
• To identifying inconsistencies and defects within the model;
• To help in identifying and prioritizing areas of the model for
testing;
• To predict system response and behavior under various
situations, such as level of load;
◈ To help in understanding system functions and identifying
test conditions using a modeling language such as UML.

48
Software Testing Tools
Software Testing Tools

◈ Software testing tools are required for the betterment of


the application or software.
◈ Many testing tools are available, some are open-source and
paid tools.
◈ open-source tools have limited features, whereas paid tool
or commercial tools have no limitation for the features. The
selection of tools depends on the user's requirements.

50
Software Testing Tools

◈ The software testing tools can be categorized, depending on


the licensing (paid or commercial, open-source), technology
usage, type of testing, etc.
◈ Testing tools help us in
◈ Improving our software performance
◈ Deliver a high-quality product
◈ Reduce the duration of testing, which is spent on manual
efforts.
51
◈ The software testing tools can be divided into the following:
1. Test management tool
2. Bug tracking tool
3. Automated testing tool
4. Performance testing tool
5. Cross-browser testing tool
6. Integration testing tool
7. Unit testing tool
8. Mobile/android testing tool
9. GUI testing tool
10. Security testing tool 52
1. Test management tool

They are helpful in


◈ keeping track of all the testing activity
◈ fast data analysis
◈ manage manual and automation test cases
◈ various environments,
◈ and plan and maintain manual testing as well.

53
2. Bug tracking tool

The defect tracking tool is used to


◈ Keep track of the bug fixes and ensure the delivery of a
quality product.
◈ To find the bugs in the testing stage so that we can get the
defect-free data in the production server.
◈ The end-users can allow reporting the bugs and issues
directly on their applications with the help of these tools.

54
3. Automation testing tool

◈ This type of tool is used to enhance the productivity of the


product and improve the accuracy.
◈ We can reduce the time and cost of the application by
writing some test scripts in any programming language.

55
4. Performance testing tool

◈ Performance or Load testing tools are used to check the


load, stability, and scalability of the application.
◈ When n-number of the users using the application at the
same time, and if the application gets crashed because of
the immense load, to get through this type of issue, we
need load testing tools.

56
5. Cross-browser testing tool

◈ This type of tool is used when we need to compare a web


application in the various web browser platforms.
◈ It is an important part when we are developing a project.
◈ With the help of these tools, we will ensure the consistent
behavior of the application in multiple devices, browsers,
and platforms.

57
6. Integration testing tool

This type of tool is used to test


◈ the interface between modules and find the critical bugs that
are happened because of the different modules
◈ and ensuring that all the modules are working as per the client
requirements.
7. Unit testing tool
◈ This testing tool is used to help the programmers to improve
their code quality.
◈ With the help of these tools, they can reduce the time of code
and the overall cost of the software.
58
8. Mobile/android testing tool

◈ Is used to test a mobile application.


◈ Some of the tools are open-source, and some of the tools
are licensed.
◈ Each tool has its functionality and features.
9. graphical user interface GUI testing tool
◈ To test the User interface of the application it is always
useful to grab the user's attention.
◈ help to find the loopholes in the application's design and
makes its better.
59
10. Security testing tool

◈ The security testing tool is used to ensure the security of the


software and check for the security leakage.
◈ If any security loophole is there, it could be fixed at the
early stage of the product.
◈ We need this type of the tool when the software has
encoded the security code which is not accessible by the
unauthorized users.

60
Configuration management tools
Configuration management tools

◈ Configuration management (CM) tools automate the


process of identifying, documenting and tracking changes in
the hardware, software and devices in an IT environment.
◈ They show the system administrator all of the connected
systems, their relationships and interdependencies, and the
effects of change on system components.
◈ Enterprises use CM tools for change-impact analysis in
order to reduce system disruption caused by changes to the
hardware or software.
62
◈ Configuration management tools help administrators
maintain system consistency, also known as configuration
enforcement.
◈ This process ensures that new machines, software packages
and updates are installed and configured according to the
desired state.

63
◈ Consistent system components reduce support
incidents, shorten IT problem resolution and help
maintain compliance.
◈ CM tools also provide version control and change
control to keep consistency across various IT sites.
◈ Popular open source configuration management tools
include Chef, Puppet and Ansible.

64
65
◈ Most CM tools support Linux, Windows, Unix and mixed-
platform environments.
◈ SUSE Manager is a configuration management tool for
managing Linux systems on a variety of hardware
architectures, hypervisors and cloud platforms.
◈ It automatically monitors and tracks configurations and
changes in the infrastructure, maintains and
demonstrates compliance for Linux workloads, and
reduces risk by quickly identifying and remediating
systems that are out of compliance.

66

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy