You are on page 1of 10

UNIT-V

Chapter-II (CASE tools)


Projects management tools - analysis and design tools – programming tools -integration and testing tool -
Case studies
………………………………………………………………………………………………………………………………………………………………………………………

Q) What are CASE Tools? Briefly explain about CASE Tools.

CASE stands for Computer Aided Software Engineering. It means development and maintenance of
software projects with help of various automated software tools.

CASE tools are set of software application programs, which are used to automate SDLC activities. CASE tools
are used by software project managers, analysts and engineers to develop software system.

There are number of CASE tools available to simplify various stages of Software Development Life Cycle
such as Analysis tools, Design tools, Project management tools, Database Management tools,
Documentation tools are to name a few.

Use of CASE tools accelerates the development of project to produce desired result and helps to uncover
flaws before moving ahead with next stage in software development.

Components of CASE Tools

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
where product specifications, requirement documents, related reports and diagrams, other useful
information regarding management is stored. Central repository also serves as data dictionary.

1 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


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.

CASE tools can be grouped together if they have similar functionality, process activities and capability of
getting integrated with other tools.

Case Tools Types


Now we briefly go through various 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.

2 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


Process Modeling Tools

Process modeling is method to create software process model, which is used to develop the software.
Process modeling tools help the managers to choose a process model or modify it as per the requirement of
software product. For example, EPF Composer

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. Project management tools help in storing and sharing project information in real-time
throughout the organization. For example, Creative Pro Office, Trac Project, Basecamp.

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.

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.

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 provides detailing of each
module and interconnections among modules. For example, Animated Software Design

Configuration Management Tools

An instance of software is released under one version. Configuration Management tools deal with –

• Version and revision management

• Baseline configuration management

• Change control management

3 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


CASE tools help in this by automatic tracking, version management and release management. For example,
Fossil, Git, Accu REV.

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.

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.

Prototyping Tools

Software prototype is 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.

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.

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.

4 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


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.

Q) Explain project Management Tools in detail.

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.

In order to execute a project successfully, the project manager or the project management team should be
supported by a set of tools.

These tools can be specifically designed tools or regular productivity tools that can be adopted for project
management work.

The use of such tools usually makes the project managers work easy as well as it standardizes the work and
the routine of a project manager.

Following are some of those tools used by project managers in all domains:

Project Plan

All the projects that should be managed by a project manager should have a project plan. The project plan
details many aspects of the project to be executed.

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.

The strategy is the core of the project plan. The strategy could vary depending on the project purpose and
specific project requirements.

The resource allocation and delivery schedule are other two main components of the project plan. These
detail each activity involved in the project as well as the information such as who executes them and when.

This is important information for the project manager as well as all the other stakeholders of the project.

5 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


Milestone Checklist

This is one of the best tools the project manager can use to determine whether he or she is on track in
terms of the project progress.

The project manager does not have to use expensive software to track this. The project manager can use a
simple Excel template to do this job.

The milestone checklist should be a live document that should be updated once or twice a week.

Gantt Chart

Gantt chart illustrates the project schedule and shows the project manager the interdependencies of each
activity. Gantt charts are universally used for any type of project from construction to software
development.

Although deriving a Gantt chart looks quite easy, it is one of the most complex tasks when the project is
involved in hundreds of activities.

There are many ways you can create a Gantt chart. If the project is small and simple in nature, you can
create your own Gantt chart in Excel or download an Excel template from the Internet.

If the project has a high financial value or high-risk exposure, then the project manager can use software
tools such as MS Project.

Project Management Software’s

With the introduction of computer technology, there have been a number of software tools specifically
developed for project management purpose. MS Project is one such tool that has won the hearts of project
managers all over the world.

MS Project can be used as a standalone tool for tracking project progress or it can be used for tracking
complex projects distributed in many geographical areas and managed by a number of project managers.

There are many other software packages for project management in addition to MS Project. Most of these
new additions are online portals for project management activities where the project members have access
to project details and progress from anywhere.

Project Reviews

A comprehensive project review mechanism is a great tool for project management. More mature
companies tend to have more strict and comprehensive project reviews as opposed to basic ones done by
smaller organizations.

6 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


In project reviews, the project progress and the adherence to the process standards are mainly considered.
Usually, project reviews are accompanied by project audits by a 3rd party (internal or external).

The non-compliances and action items are then tracked in order to complete them.

Delivery Reviews

Delivery reviews make 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.

Score Cards

When it comes to performance of the project team, a scorecard is the way of tracking it. 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. A
comprehensive score card and performance assessment can place the team member in the correct
position.

Q) Give a Brief Description about Analysis and Design Tools.

Software analysis and design includes all activities, which help the transformation of requirement
specification into implementation. Requirement specifications specify all functional and non-functional
expectations from the software. These requirement specifications come in the shape of human readable
and understandable documents, to which a computer has nothing to do.

Software analysis and design is the intermediate stage, which helps human-readable requirements to be
transformed into actual code.

Let us see few analysis and design tools used by software designers:

1. Data Flow Diagram

Data flow diagram is graphical representation of flow of data in an information system. It is capable of
depicting incoming data flow, outgoing data flow and stored data. The DFD does not mention anything
about how data flows through the system.

7 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of control in
program modules. DFDs depict flow of data in the system at various levels. DFD does not contain any
control or branch elements.

2. Structure Charts

Structure chart is a chart derived from Data Flow Diagram. It represents the system in more detail than
DFD. It breaks down the entire system into lowest functional modules, describes functions and sub-
functions of each module of the system to a greater detail than DFD.

Structure chart represents hierarchical structure of modules. At each layer a specific task is performed.

3. HIPO Diagram

HIPO (Hierarchical Input Process Output) diagram represents the hierarchy of modules in the software system.
Analyst uses HIPO diagram in order to obtain high-level view of system functions. It decomposes functions into sub-
functions in a hierarchical manner. It depicts the functions performed by system.

HIPO diagrams are good for documentation purpose. Their graphical representation makes it easier for
designers and managers to get the pictorial idea of the system structure.

4. Pseudo-Code

Pseudo code is written more close to programming language. It may be considered as augmented
programming language, full of comments and descriptions.

5. Decision Tables

A Decision table represents conditions and the respective actions to be taken to address them, in a
structured tabular format.

It is a powerful tool to debug and prevent errors. It helps group similar information into a single table and
then by combining tables it delivers easy and convenient decision-making.

6. Entity-Relationship Model

Entity-Relationship model is a type of database model based on the notion of real world entities and
relationship among them. We can map real world scenario onto ER database model. ER Model creates a set
of entities with their attributes, a set of constraints and relation among them

7. Data Dictionary

Data dictionary is the centralized collection of information about data. It stores meaning and origin of data,
its relationship with other data, data format for usage etc. Data dictionary has rigorous definitions of all
names in order to facilitate user and software designers.

8 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


Q) Write about programming tools

A programming tool or software development tool is a computer program that software developers use to
create, debug, maintain, or otherwise support other programs and applications. The term usually refers to
relatively simple programs, that can be combined together to accomplish a task, much as one might use
multiple hand tools to fix a physical object.

Uses of programming tools

1. Translating from human to computer language

Modern computers are very complex and in order to productively program them, various abstractions are
needed. For example, rather than writing down a program's binary representation a programmer will write
a program in a programming language like C, Java or Python. Programming tools like assemblers, compilers
and linkers translate a program from a human writeable and readable source language into the bits and
bytes that can be executed by a computer. Interpreters interpret the program on the fly to produce the
desired behavior.

2. Making program information available for humans

Because of the high complexity of software, it is not possible to understand most programs at a single
glance even for the most experienced software developer. The abstractions provided by high-level
programming languages also make it harder to understand the connection between the source code
written by a programmer and the actual program's behavior. In order to find bugs in programs and to
prevent creating new bugs when extending a program, a software developer uses some programming tools
to visualize all kinds of information about programs.

Q) Explain about integration and Testing Tools.

9 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech


UNIT-V (Software Quality and Testing)

1. What is SQA? Write about elements of SQA.

2. Explain about software quality metrics

3. Explain software reliability and software safety.

4. Explain software reverse and Re-Engineering.

5. Write about Testability.

6. What is white box testing?

7. Explain about integration, validation, unit testing and system testing methods.

8. Explain control structure testing.

9. Explain integration and validation testing.

10. Explain about top-down and Bottom-up design.

11. What are CASE Tools? Explain its types in detail.

12. Explain about project management Tools.

13. What are programming Tools?

10 © www.anuupdates.org Prepared By Dodda.Venkata Reddy B.Tech, M.Tech

You might also like