Download presentation
Presentation is loading. Please wait.
Published byJames Shannon Benson Modified over 9 years ago
1
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments
2
2 CSE 2102 CSE 2102 2 Outline How did the field evolve? How can tools and environments be classified and compared? What are the main categories? How can tools be integrated? What motivates new tools/environments?
3
3 CSE 2102 CSE 2102 Historical evolution Dominant factors affecting evolution Technological developments Made certain tools necessary or possible Better understanding of software engineering processes 3
4
4 CSE 2102 CSE 2102 Examples of technological developments Advances in graphical displays and user interfaces Graphical editors Graphical user interfaces (GUIs) Visual languages Advances in distributed systems Tools supporting distributed configuration management and teams (groupware) 4
5
5 CSE 2102 CSE 2102 Evolution Individual tools developed to support single activities (e.g.,compilation, debugging) Integrated environments, i.e., tools that work together E.g., environment supporting one programming language Example for Java? Open environments Tools have public interfaces which allow them to communicate and cooperate with other tools which respect those interfaces 5
6
6 CSE 2102 CSE 2102 Dimensions for comparison Interaction mode Batch-oriented tools Interactive tools Interface format Level of formality Syntax/semantics of documents produced Dependency on phase of life cycle Degree of standardization 6
7
7 CSE 2102 CSE 2102 Dimensions of comparison (contd..) Static vs. dynamic Language dependency Development tools vs. end-product components Single-user vs. multi-user Single-machine vs. network-aware 7
8
8 CSE 2102 CSE 2102 Types of tools Editors: Textual or graphical Formal or informal Monolingual, multiple languages Linkers: Combine object code fragments into a larger program Interpreters: Interpret the programming language constructs Code generators: Translate high-level specification into low-level code Debuggers: Inspect the intermediate state of variables during execution 8
9
9 CSE 2102 CSE 2102 Types of tools (contd..) Software testing tools: Aid bookkeeping of testing activities Automatically generate test cases from specification Assess the quality of testing Static analysis tools: Aid in code inspection and review User interface management systems: Build user interfaces from various abstractions. Common abstractions include pull-down menu, screens, forms, etc. 9
10
10 CSE 2102 CSE 2102 Types of tools (contd..) Configuration management: Manage collaboration among geographically distributed members Release management – which versions of files make up a release Repository – store code, test cases, documentation, etc. Tracking tools: Track the progress of a process Defect tracking tools 10
11
11 CSE 2102 CSE 2102 Tool integration Data integration approach Store all process artifacts in a repository Common data representation for artifacts that different tools can use to communicate with each other Control integration approach Different tools can communicate with each other through control messages 11
12
12 CSE 2102 CSE 2102 Forces influencing tool evolution To support new technology To support new software processes To support a particular method or methodology 12
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.