This document summarizes software engineering tools and methods. It describes various tools used in different phases of the software development life cycle like requirements, design, construction, testing, maintenance and management. It also categorizes formal methods, heuristic methods and prototyping methods.
This document summarizes software engineering tools and methods. It describes various tools used in different phases of the software development life cycle like requirements, design, construction, testing, maintenance and management. It also categorizes formal methods, heuristic methods and prototyping methods.
This document summarizes software engineering tools and methods. It describes various tools used in different phases of the software development life cycle like requirements, design, construction, testing, maintenance and management. It also categorizes formal methods, heuristic methods and prototyping methods.
This document summarizes software engineering tools and methods. It describes various tools used in different phases of the software development life cycle like requirements, design, construction, testing, maintenance and management. It also categorizes formal methods, heuristic methods and prototyping methods.
Download as PPT, PDF, TXT or read online from Scribd
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