Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.

Similar presentations


Presentation on theme: "1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments."— Presentation transcript:

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


Download ppt "1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments."

Similar presentations


Ads by Google