SlideShare una empresa de Scribd logo
1 de 27
Software Engineering Tools and
Practices
1
Chapter one
2
Introduction to software engineering tools and
practices
Contents
•
• Introduction
Basic of CASE tools
Definition
3
 Software can be defined as a set of programs and
associated documentations.
which includes
 A number of separate programs
 Configuration files
 System documentation
 User documentation
What is software engineering?
 Software engineering is defined as a process of
analyzing user requirements and then designing,
building, and testing software application which will
satisfy those requirements.
 IEEE, in its standard 610.12-1990, defines software
engineering as the application of a systematic,
disciplined, which is a computable approach for the
development, operation, and maintenance of
software.
4
What is software engineering?
5
 Software engineering (SE) is an intellectual activity
and thus human-intensive.
 Software is built to meet a certain functional goal and
satisfy certain qualities.
 Software processes also must meet certain qualities.
software engineering
6
Fundamental assumptions of software engineering
Good processes lead to good software
Good processes reduce risk
Software Engineering Concepts:
Definitions
7
 Project: set of activities to develop a software
system.
 Activity: a phase in which related tasks
are carried out.
 Task: effort that uses resources and produces
work product.
 Resources: time, equipment, people (participants)
 Work Product: a model, system, or artifact.
Basics of Software Engineering
8
Software Engineering Activities
9
 Requirements Elicitation
 Analysis
 Object Design
 System Design
 Implementation
 Validation/testing
Software Engineering Tools
10
 A software tool is a program that automates some of the labor
involved in the management, design, coding, testing,
inspection, or maintenance of other programs.
Tools allow repetitive, well-defined actions to be automated,
thus reducing the cognitive load on the software engineer.
The engineer is then free to concentrate on the creative aspects
of the process.
Tools are often designed to support particular methods,
reducing any administrative load associated with applying the
method manually.



CASE Tools
11
 CASE stands for Computer Aided Software Engineering.
 It means, development and maintenance of software projects
with help of various automated software tools.
 Computer-aided software engineering (CASE) is the
scientific application of a set of tools and methods to a
software system which is meant to result in high-quality,
defect-free, and maintainable software products.
It also refers to methods for the development of
information systems together with automated tools that can
be used in the software development process.

CASE Tools…
12
 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.

CASE Tools…
13
 Therefore, CASE tools include design editors, data
dictionaries, compilers, debuggers, system building tools,
etc.
 CASE also refers to the methods dedicated to an
engineering discipline for the development of
information system using automated tools.
 CASE is mainly used for the development of quality
software which will perform effectively.
CASE Tools…
14
 Characteristics of CASE:
 It is a graphic oriented tool.
 It supports decomposition of process.
 Some typical CASE tools are:


 Unified Modeling Language
Data modeling tools, and
Source code generation tools.
Why CASE Tools?
 Architecture management
• Model, design and rapidly build software systems, and
computer applications.
Change and Release Management

• Improve software delivery and life cycle traceability, from
requirements to development.
Software development Management
Align projects for improved productivity and predictability

•
Quality Management
15

•
Ensure software functionality, reliability and
performance
Goals of CASE Tools
16
 Supply basic functionality, do routine tasks automatically.
Enhance productivity
Increase software quality
Integration with other tools



Importance of CASE
17
 CASE allows for rapid development of software.
 Produce systems with a longer effective operational life.
Produce systems that most closely meet user needs and
requirements.
Produce system with excellent documentation.
Produce systems that needs less systems support.
Produce more flexible systems.




Drawbacks of CASE
18
 Very complex
Expensive
Difficult to customize
Require training of maintenance staff
Not easily maintainable
Fragile





Components of CASE Tools
19
CASE Tools
 There are upper CASE and Lower CASE tools.
20
CASE Tools
21
 Two types of tools used by software engineers.
1. Analytical tools
 Stepwise refinement (top-down design)
 Cost-benefit analysis
 Software metrics
2. CASE tools


Diagram tools
Process Modeling Tools
Project Management Tools…

Symptoms of Software Development Problems
22
 Different software development projects fail in different ways.
It is possible to identify a number of common symptoms that
characterize these kinds of projects:
Inaccurate understanding of end-user needs
Inability to deal with changing requirements
Modules that don’t fit together
Software that’s hard to maintain or extend
Late discovery of serious project flaws
Poor software quality
Unacceptable software performance








Root Causes of Software Development
Problems
23
Although different projects fail in different ways, it appears that most of
them fail because of a combination of the following root causes:
 Ad hoc requirements management
 Ambiguous and imprecise communication
 Brittle architectures
 Overwhelming complexity
 Undetected inconsistencies in requirement,
design and implementations
 Insufficient testing
 Subjective project status assessment
 Failure to attack risk
 Uncontrolled change propagation
 Insufficient automation
Software Engineering Best Practices
24
 what software best practices are all about: commercially
proven approaches to software development that, when used in
combination, strike at the root causes of software development
problems.
These best practices are as follows.

1. Develop software iteratively.
2. Manage requirements.
3. Use component-based architectures.
4. Visually model software.
5. Verify software quality.
6. Control changes to software.
Software Engineering Best Practices…
25



1. Develop software iteratively.
This approach is one of continuous discovery, invention, and
implementation, with each iteration forcing the development team to
drive the project’s artifacts to closure in a predictable and repeatable way.
2. Manage requirements.
The challenge of managing the requirements of a software-intensive
system is that they are dynamic: you must expect them to change during
the life of a software project.
Identifying a system’s true requirements—those that weigh most heavily
on the system’s economic and technical goals—is a continuous process.
Software Engineering Best Practices…
26



3. Use component-based architectures.
Component-based development (CBD) is an important approach to
software architecture because it enables the reuse or customization of
existing components from thousands of commercially available sources.
4. Visually model software.
Modeling is important because it helps the development team visualize,
specify, construct, and document the structure and behavior of a
system’s architecture.
Using a standard modeling language such as the UML (Unified Modeling
Language), different members of the development team can
unambiguously communicate their decisions to one another.
Software Engineering Best Practices…
27


5. Verify software quality.
Software problems are 100 to 1,000 times more expensive to find and
repair after deployment.
For this reason, it’s important to continuously assess the quality of a
system with respect to its functionality, reliability, application

performance, and system performance.
6. Control changes to software.
Coordinating the activities and the artifacts of developers and teams
involves establishing repeatable workflows for managing changes to
software and other development artifacts.

Más contenido relacionado

Similar a Chapter 1-software-engineering-tools-and-practices.pptx

Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTURishi Shukla
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Introduction Of Software Engineering.pptx
Introduction Of Software Engineering.pptxIntroduction Of Software Engineering.pptx
Introduction Of Software Engineering.pptxAnimeshMani4
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfVijayakumarKadumbadi
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnimmik4u
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools imran khan
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1SIMONTHOMAS S
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirementcricket2ime
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 

Similar a Chapter 1-software-engineering-tools-and-practices.pptx (20)

Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTU
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Introduction Of Software Engineering.pptx
Introduction Of Software Engineering.pptxIntroduction Of Software Engineering.pptx
Introduction Of Software Engineering.pptx
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Chapter1
Chapter1Chapter1
Chapter1
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 

Más de FiromsaDine

Files in PHP.pptx g
Files in PHP.pptx                      gFiles in PHP.pptx                      g
Files in PHP.pptx gFiromsaDine
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxFiromsaDine
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxFiromsaDine
 
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptx
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptxchapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptx
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptxFiromsaDine
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxFiromsaDine
 
chapter_2_Source_code_generation_from_UML_model_edited_version.pptx
chapter_2_Source_code_generation_from_UML_model_edited_version.pptxchapter_2_Source_code_generation_from_UML_model_edited_version.pptx
chapter_2_Source_code_generation_from_UML_model_edited_version.pptxFiromsaDine
 

Más de FiromsaDine (6)

Files in PHP.pptx g
Files in PHP.pptx                      gFiles in PHP.pptx                      g
Files in PHP.pptx g
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptx
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptx
 
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptx
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptxchapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptx
chapter_one_Introduction_to_Object_Oriented_Programming_OOP.pptx
 
Chapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptxChapter 1-software-engineering-tools-and-practices.pptx
Chapter 1-software-engineering-tools-and-practices.pptx
 
chapter_2_Source_code_generation_from_UML_model_edited_version.pptx
chapter_2_Source_code_generation_from_UML_model_edited_version.pptxchapter_2_Source_code_generation_from_UML_model_edited_version.pptx
chapter_2_Source_code_generation_from_UML_model_edited_version.pptx
 

Último

How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17Celine George
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxneillewis46
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17Celine George
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxNehaChandwani11
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismDabee Kamal
 
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...Krashi Coaching
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/siemaillard
 
Benefits and Challenges of OER by Shweta Babel.pptx
Benefits and Challenges of OER by Shweta Babel.pptxBenefits and Challenges of OER by Shweta Babel.pptx
Benefits and Challenges of OER by Shweta Babel.pptxsbabel
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...Gary Wood
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptxPoojaSen20
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...EduSkills OECD
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project researchCaitlinCummins3
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Mohamed Rizk Khodair
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppCeline George
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryCeline George
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppCeline George
 

Último (20)

How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
The Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptxThe Ball Poem- John Berryman_20240518_001617_0000.pptx
The Ball Poem- John Berryman_20240518_001617_0000.pptx
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
Benefits and Challenges of OER by Shweta Babel.pptx
Benefits and Challenges of OER by Shweta Babel.pptxBenefits and Challenges of OER by Shweta Babel.pptx
Benefits and Challenges of OER by Shweta Babel.pptx
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptx
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 Inventory
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 

Chapter 1-software-engineering-tools-and-practices.pptx

  • 1. Software Engineering Tools and Practices 1
  • 2. Chapter one 2 Introduction to software engineering tools and practices Contents • • Introduction Basic of CASE tools
  • 3. Definition 3  Software can be defined as a set of programs and associated documentations. which includes  A number of separate programs  Configuration files  System documentation  User documentation
  • 4. What is software engineering?  Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.  IEEE, in its standard 610.12-1990, defines software engineering as the application of a systematic, disciplined, which is a computable approach for the development, operation, and maintenance of software. 4
  • 5. What is software engineering? 5  Software engineering (SE) is an intellectual activity and thus human-intensive.  Software is built to meet a certain functional goal and satisfy certain qualities.  Software processes also must meet certain qualities.
  • 6. software engineering 6 Fundamental assumptions of software engineering Good processes lead to good software Good processes reduce risk
  • 7. Software Engineering Concepts: Definitions 7  Project: set of activities to develop a software system.  Activity: a phase in which related tasks are carried out.  Task: effort that uses resources and produces work product.  Resources: time, equipment, people (participants)  Work Product: a model, system, or artifact.
  • 8. Basics of Software Engineering 8
  • 9. Software Engineering Activities 9  Requirements Elicitation  Analysis  Object Design  System Design  Implementation  Validation/testing
  • 10. Software Engineering Tools 10  A software tool is a program that automates some of the labor involved in the management, design, coding, testing, inspection, or maintenance of other programs. Tools allow repetitive, well-defined actions to be automated, thus reducing the cognitive load on the software engineer. The engineer is then free to concentrate on the creative aspects of the process. Tools are often designed to support particular methods, reducing any administrative load associated with applying the method manually.   
  • 11. CASE Tools 11  CASE stands for Computer Aided Software Engineering.  It means, development and maintenance of software projects with help of various automated software tools.  Computer-aided software engineering (CASE) is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable software products. It also refers to methods for the development of information systems together with automated tools that can be used in the software development process. 
  • 12. CASE Tools… 12  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. 
  • 13. CASE Tools… 13  Therefore, CASE tools include design editors, data dictionaries, compilers, debuggers, system building tools, etc.  CASE also refers to the methods dedicated to an engineering discipline for the development of information system using automated tools.  CASE is mainly used for the development of quality software which will perform effectively.
  • 14. CASE Tools… 14  Characteristics of CASE:  It is a graphic oriented tool.  It supports decomposition of process.  Some typical CASE tools are:    Unified Modeling Language Data modeling tools, and Source code generation tools.
  • 15. Why CASE Tools?  Architecture management • Model, design and rapidly build software systems, and computer applications. Change and Release Management  • Improve software delivery and life cycle traceability, from requirements to development. Software development Management Align projects for improved productivity and predictability  • Quality Management 15  • Ensure software functionality, reliability and performance
  • 16. Goals of CASE Tools 16  Supply basic functionality, do routine tasks automatically. Enhance productivity Increase software quality Integration with other tools   
  • 17. Importance of CASE 17  CASE allows for rapid development of software.  Produce systems with a longer effective operational life. Produce systems that most closely meet user needs and requirements. Produce system with excellent documentation. Produce systems that needs less systems support. Produce more flexible systems.    
  • 18. Drawbacks of CASE 18  Very complex Expensive Difficult to customize Require training of maintenance staff Not easily maintainable Fragile     
  • 19. Components of CASE Tools 19
  • 20. CASE Tools  There are upper CASE and Lower CASE tools. 20
  • 21. CASE Tools 21  Two types of tools used by software engineers. 1. Analytical tools  Stepwise refinement (top-down design)  Cost-benefit analysis  Software metrics 2. CASE tools   Diagram tools Process Modeling Tools Project Management Tools… 
  • 22. Symptoms of Software Development Problems 22  Different software development projects fail in different ways. It is possible to identify a number of common symptoms that characterize these kinds of projects: Inaccurate understanding of end-user needs Inability to deal with changing requirements Modules that don’t fit together Software that’s hard to maintain or extend Late discovery of serious project flaws Poor software quality Unacceptable software performance        
  • 23. Root Causes of Software Development Problems 23 Although different projects fail in different ways, it appears that most of them fail because of a combination of the following root causes:  Ad hoc requirements management  Ambiguous and imprecise communication  Brittle architectures  Overwhelming complexity  Undetected inconsistencies in requirement, design and implementations  Insufficient testing  Subjective project status assessment  Failure to attack risk  Uncontrolled change propagation  Insufficient automation
  • 24. Software Engineering Best Practices 24  what software best practices are all about: commercially proven approaches to software development that, when used in combination, strike at the root causes of software development problems. These best practices are as follows.  1. Develop software iteratively. 2. Manage requirements. 3. Use component-based architectures. 4. Visually model software. 5. Verify software quality. 6. Control changes to software.
  • 25. Software Engineering Best Practices… 25    1. Develop software iteratively. This approach is one of continuous discovery, invention, and implementation, with each iteration forcing the development team to drive the project’s artifacts to closure in a predictable and repeatable way. 2. Manage requirements. The challenge of managing the requirements of a software-intensive system is that they are dynamic: you must expect them to change during the life of a software project. Identifying a system’s true requirements—those that weigh most heavily on the system’s economic and technical goals—is a continuous process.
  • 26. Software Engineering Best Practices… 26    3. Use component-based architectures. Component-based development (CBD) is an important approach to software architecture because it enables the reuse or customization of existing components from thousands of commercially available sources. 4. Visually model software. Modeling is important because it helps the development team visualize, specify, construct, and document the structure and behavior of a system’s architecture. Using a standard modeling language such as the UML (Unified Modeling Language), different members of the development team can unambiguously communicate their decisions to one another.
  • 27. Software Engineering Best Practices… 27   5. Verify software quality. Software problems are 100 to 1,000 times more expensive to find and repair after deployment. For this reason, it’s important to continuously assess the quality of a system with respect to its functionality, reliability, application  performance, and system performance. 6. Control changes to software. Coordinating the activities and the artifacts of developers and teams involves establishing repeatable workflows for managing changes to software and other development artifacts.