Software Engineering Tools and Methods

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 19

Software Engineering Tools and Methods

Presented by:

Mohammad Enamur Rashid(2009-1-96-04)


Mohammad Rashim Uddin(2009-1-96-008)
Masud Ur Rahman(2009-1-96-009)
Farhana Haq Bilashi(2009-1-96-002)

EAST WEST UNIVERSITY, BANGLADESH


INTRODUCTION
 Software Engineering Methods are intended to
make software engineering more systematic .
 Software development environment are the
computer based tools that are intended to assist the
software life cycle processes.
 Tools are often designed to support particular
software engineering methods.
Software Engineering Tools and Methods
 Software Engineering tools represent a set of
management and technical tools to support
software development, usually integrated in a
coherent framework
 Methods usually provide a notation and
vocabulary, procedures for performing identifiable
tasks, and guidelines for checking both the process
and the product.
Software Engineering Tools
 Software Engineering tools evolve rapidly and continiously.In this paper
they describe some particular tools.
 These are
 Software Design Tools
 Software Construction Tools
 Software Requirement Tools
 Software Testing Tools
 Software Maintenance Tools
 Software Configuration Management Tools
 Software Engineering Management Tools
 Software Engineering Process Tools
 Software Quality Tools
 Infrastructure Support Tools
 Miscellaneous Tools Issues
Software Requirements Tools

 These Tools are classified into two categories


 Requirements modeling tools
 Requirement traceability tools
 Requirements modeling tools
 These tools are used for eliciting, analyzing, specifying, and validating
software requirements

 Requirement traceability tools


 Since they are also relevant in other life cycle processes, they are
presented separately from the requirements modeling tools.
Software Design Tools

 Creating Software Designs


 Checking Software Designs.
Software Construction Tools
 These tools are concerned with
 Production of the program representation
 Translation of the program representation
 These tools are
 Program Editors
 Creation and Modification Of Programs
 Compiler and Code generators
 Non Interactive translators of source code
 Interpreters
 Provide Software execution through emulation
 Debugger
 Support Construction Process
Software Testing Tools
 These tools are categorized as
 Test generators
 assist in the development of test cases.
 Test execution frameworks
 enable the execution of test cases in a controlled environment where the
behavior of the object under test is observed.
 Test evaluation tools
 assessment of the results of test execution,
 helping to determine whether or not the observed behavior conforms to
the expected behavior .
 Test management tools
 Managing software testing process.
 Performance analysis tools
 measuring and analyzing software performances
Software Maintenance Tools
 These tools are categorized as
 Comprehension tools
 assist in the human comprehension of programs. Ex:Animators
 Reengineering tools
 examination and alteration of the subject software to
reconstitute it in a new form
 Reverse engineering tools
 Assist the process by working backwards from an existing
product
Software Configuration Management Tools
 These tools are categorized as
 Tracking
 used in connection with the problem-tracking issues associated
with a particular software product
 Version management
 involved in the management of multiple versions of a product
 Release tools.
 used to manage the tasks of software release and build
Software Engineering Management Tools
 These are categorized as
 Project Planning and Tracking
 used in software project effort measurement and cost estimation, as
well as project scheduling
 Risk Management
 used in identifying, estimating, and monitoring risks.
 Measurement.
 assist in performing the activities related to the software
measurement program
Software Engineering Process Tools
 These are categories as
 Process modeling tools
 These tools are used to model and investigate software engineering
processes.
 Process management tools
 provide support for software engineering management.
 Process-centered software engineering environments
 incorporate information on the software life cycle processes and guide
and monitor the user according to the defined process.
 Integrated CASE environments
 Integrated computer-aided software engineering tools or environments
covering multiple phases of the software engineering life cycle belong
Software Quality Tools
 These are categories as
 Review and Audit tools
 used to support reviews and audits
 Static Analysis tools
 used to analyze software artifacts, such as syntactic and semantic
analyzers, as well as data, control flow, and dependency analyzers
Miscellaneous Tool Issues
 This are categories as
 Tool Integration Techniques
 Used to make individual tools cooperate
 Integration techniques are applied
 Meta-tools
 Meta-tools generate other tools; compiler-compilers are the
classic example.
 Tool Evaluation
 Evolve new tool
Software Engineering Methods
 Methods usually provide a notation and vocabulary,
procedures for performing identifiable tasks, and guidelines
for checking both the process and the product
 These are categorized as
 Heuristic methods
 dealing with informal approaches.
 Formal methods
 dealing with mathematically based approaches.
 Prototyping methods
 dealing with software engineering approaches based on various
forms of prototypings
Heuristic Methods
 These are categories as
 Structured methods
 The system is built from a functional viewpoint, starting with a high-level view
and progressively refining this into a more detailed design.
 Data-oriented methods
 the starting points are the data structures that a program manipulates rather
than the function it performs
 Object-oriented methods
 The system is viewed as a collection of objects rather than functions
 Domain-specific methods
 includes specialized methods for developing systems which
involve real-time, safety, or security aspects
Formal Methods
 These are categorized as
 Specification languages and notations
 This topic concerns the specification notation or language used.
Specification languages can be classified as model-oriented,
property-oriented, or behavior-oriented
 Refinement
 This topic deals with how the method refines (or transforms)
the specification into a form which is closer to the desired final
form of an executable program.
 Verification/Proving properties:
 This topic covers the verification properties that are specific to
the formal approach, including both theorem proving and
model checking
Prototyping Methods
 These are categorized as
 Prototyping styles
 The prototyping styles topic identifies the various approaches:
throwaway, evolutionary, and executable specification
 Prototyping targets
 Examples of the targets of a prototyping method may be
requirements, architectural design, or the user interface
 Prototyping evaluation techniques
 This topic covers the ways in which the results of a
prototype exercise are used.s

You might also like