Software Engineering Tools and Methods Fernando Brito e Abreu (fba@di.fct.unl.pt) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/QUASAR) SWEBOK: the 10 Knowledge Areas � Software Requirements � Software Design � Software Construction � Software Testing � Software Maintenance � Software Configuration Management � Software Engineering Management � Software Engineering Process � Software Engineering Tools and Methods � Software Quality Software Engineering / Fernando Brito e Abreu 2 17-May-05 1
Summary � Sw Engineering � Sw Engineering Tools Methods � Software Requirements Tools � Heuristic Methods � Software Design Tools � Formal Methods � Software Construction Tools � Prototyping Methods � Software Testing Tools � Software Maintenance Tools � Software Configuration Management Tools � Software Engineering Management Tools � Software Engineering Process Tools � Software Quality Tools � Miscellaneous Tools Issues 3 17-May-05 Software Engineering / Fernando Brito e Abreu Tool advantages � Automation of repetitive, well-defined actions � making software engineering more systematic � Reducing the cognitive load on the sw engineer � who is then free to concentrate on creative aspects Software Engineering / Fernando Brito e Abreu 4 17-May-05 2
Summary � Software Engineering Tools � Software Requirements Tools � Software Design Tools Software Design Tools � Software Design Tools � � Software Construction Tools Software Construction Tools � � Software Construction Tools � � Software Testing Tools Software Testing Tools Software Testing Tools � Software Maintenance Tools � � Software Maintenance Tools Software Maintenance Tools � Software Configuration Management Tools � � Software Configuration Management Tools Software Configuration Management Tools � � Software Engineering Management Tools Software Engineering Management Tools � Software Engineering Management Tools � � Software Engineering Process Tools Software Engineering Process Tools � � Software Engineering Process Tools � Software Quality Tools Software Quality Tools � � Software Quality Tools Miscellaneous Tools Issues � � Miscellaneous Tools Issues Miscellaneous Tools Issues � 5 17-May-05 Software Engineering / Fernando Brito e Abreu Software Requirements Tools Requirements modeling tools Used for eliciting, analyzing, specifying, and � validating software requirements Examples include: � Requisite Pro, IBM / Rational � � Caliber, TBI � … Software Engineering / Fernando Brito e Abreu 6 17-May-05 3
Software Requirements Tools Requirements modeling tools Case study: � 7 17-May-05 Software Engineering / Fernando Brito e Abreu Software Requirements Tools Requirement traceability tools Become increasingly important as the � complexity of software grows Are relevant in other life cycle processes � besides requirements modeling Software Engineering / Fernando Brito e Abreu 8 17-May-05 4
Summary � Software Engineering Tools � Software Requirements Tools � Software Design Tools � Software Construction Tools Software Construction Tools � Software Construction Tools � � � Software Testing Tools Software Testing Tools Software Testing Tools � Software Maintenance Tools � � Software Maintenance Tools Software Maintenance Tools � Software Configuration Management Tools � � Software Configuration Management Tools Software Configuration Management Tools � � Software Engineering Management Tools Software Engineering Management Tools � Software Engineering Management Tools � � Software Engineering Process Tools Software Engineering Process Tools � � Software Engineering Process Tools � Software Quality Tools Software Quality Tools � Software Quality Tools � Miscellaneous Tools Issues � � Miscellaneous Tools Issues Miscellaneous Tools Issues � 9 17-May-05 Software Engineering / Fernando Brito e Abreu Software Design Tools � Aimed at creating and checking software designs � Variety of such tools is a consequence of the diversity of sw design notations and methods � However, UML is becoming dominant and so is the UML tool marketplace Software Engineering / Fernando Brito e Abreu 10 17-May-05 5
Software Design Tools UML tools � IBM / Rational Rose � Objecteering � Together Control Center � Argo UML � … 11 17-May-05 Software Engineering / Fernando Brito e Abreu Summary � Software Engineering Tools � Software Requirements Tools � Software Design Tools � Software Construction Tools � Software Testing Tools Software Testing Tools � Software Testing Tools � � Software Maintenance Tools Software Maintenance Tools � � Software Maintenance Tools Software Configuration Management Tools � � Software Configuration Management Tools Software Configuration Management Tools � Software Engineering Management Tools � � Software Engineering Management Tools Software Engineering Management Tools � Software Engineering Process Tools Software Engineering Process Tools � � � Software Engineering Process Tools � Software Quality Tools Software Quality Tools � � Software Quality Tools � Miscellaneous Tools Issues Miscellaneous Tools Issues � � Miscellaneous Tools Issues Software Engineering / Fernando Brito e Abreu 12 17-May-05 6
Software Construction Tools Program editors � Used for the creation and modification of programs, and possibly the documents associated with them � Can be general purpose text or document editors, or they can be specialized for a target language 13 17-May-05 Software Engineering / Fernando Brito e Abreu Software Construction Tools Compilers and code generators � Traditionally, compilers have been non- interactive translators of source code, but there has been a trend to integrate compilers and program editors to provide integrated programming environments � This topic also covers preprocessors, linker/loaders, and code generators Software Engineering / Fernando Brito e Abreu 14 17-May-05 7
Software Construction Tools Interpreters � These tools provide software execution through emulation � They can support software construction activities by providing a more controllable and observable environment for program execution 15 17-May-05 Software Engineering / Fernando Brito e Abreu Software Construction Tools Debuggers � These are considered a separate category since they support the software construction process, but they are different from program editors and compilers Software Engineering / Fernando Brito e Abreu 16 17-May-05 8
Summary � Software Engineering Tools � Software Requirements Tools � Software Design Tools � Software Construction Tools � Software Testing Tools Software Maintenance Tools � � Software Maintenance Tools Software Maintenance Tools � Software Configuration Management Tools � � Software Configuration Management Tools Software Configuration Management Tools � � Software Engineering Management Tools Software Engineering Management Tools � Software Engineering Management Tools � � Software Engineering Process Tools Software Engineering Process Tools � � Software Engineering Process Tools � Software Quality Tools Software Quality Tools � Software Quality Tools � Miscellaneous Tools Issues � � Miscellaneous Tools Issues Miscellaneous Tools Issues � 17 17-May-05 Software Engineering / Fernando Brito e Abreu Software Testing Tools Test generators � Assist in the development of test cases Software Engineering / Fernando Brito e Abreu 18 17-May-05 9
Software Testing Tools Test execution frameworks � Enable the execution of test cases in a controlled environment where the behavior of the object under test is observed 19 17-May-05 Software Engineering / Fernando Brito e Abreu Software Testing Tools Test evaluation tools � Support the assessment of the results of test execution, helping to determine whether or not the observed behavior conforms to the expected behavior Software Engineering / Fernando Brito e Abreu 20 17-May-05 10
Software Testing Tools Test management tools � Provide support for all aspects of the software testing process 21 17-May-05 Software Engineering / Fernando Brito e Abreu Software Testing Tools Performance analysis tools � Used for measuring and analyzing software performance, which is a specialized form of testing where the goal is to assess performance behavior rather than functional behavior (correctness) Software Engineering / Fernando Brito e Abreu 22 17-May-05 11
Recommend
More recommend