Note - Yes for those which already exist.
Metrics Database Builder (Metrics Collection Template)- Yes
� Likely a spreadsheet template, this tool helps the project manager to collect process and project based metrics. RSP has a very basic spreadsheet model that can be used as a foundation for this Tiny Tool.
LOC Metrics Calculator - Yes
� Builds an LOC data table (project, LOC, effort, duration, # people, errors uncovered, review hours, etc) and then computes LOC-normalized averages.
FP metrics Calculator
� Calculates FP values based on input of standard FP variables. - Yes
� Enhanced version computes feature points or 3-D function points. - No
Control Charts Assistant for Statistical process control – Yes (but needs major reqork)
� Using LOC or FP metrics, builds a control chart and then performs basic computation to determine if trends for metrics data are statistically valid.
DRE Calculator - Yes
� Error rate data for different SE activities is input to the tool. DRE is computed from activity to activity (e.g., from analysis to design) or for the entire process.
Problem-Based (LOC) Estimation Assistant - Yes
� Assists the manager in the functional decomposition of the problem for estimation purposes. Then asks for low, expected and high estimates of program size per function. Using LOC/pm averages, computes cost/effort estimate.
Process-Based Estimation Assistant - No
� Assists the manager in the task decomposition for estimation purposes. Then asks for effort estimates per task. Checks these against guidelines for effort distribution. Creates table and computes cost/effort estimate.
Problem-Based (FP) Estimation Assistant - Yes
� Asks for low, expected and high estimates of FP variables. Using FP/pm averages, computes cost/effort estimate.
COCOMO-Estimation Assistant- No for intermediate COCOMO (we have several basic COCOMO calculators)
� Implements a version of the intermediate COCOMO
COCOMO-II Estimation Assistant - Yes
� Implements a simple version of the COCOMO II model. Note: This will require information obtained from other sources in addition to SEPA, 5/e. There may be models operational on the net. If so, a pointer to the appropriate model would suffice in lieu of constructing a tool.
Decision Assistant (build and analyze decision trees) - Yes
� A more sophisticated tool, but potentially quite useful. Implements the construction of a simple decision tree and then performs the computations required to determine the expected cost for each decision. Added features might include an automated approach for determining path probability.
Risk Table Builder (build and analyze risk tables) - Yes
� Helps to automate the construction of a risk table. Might semi-automate the determination of risk probabilities and impact. To provide value-added with this tool, the developer will require information obtained from other risk sources in addition to SEPA.
Risk Refinement Assistant - Yes but broken
� A simple tool that guides the user through risk refinement using the CTC approach.
Risk Information Sheet Builder – Yes but needs work
� Assists the user in building and cataloging risk information sheets
Task Set Selector- Not working
� Assists the user in selecting the appropriate task set for a software project. All heuristics and a manual, table driven approach are documented in detail and can be obtained from RSP.
Earned Value Calculator – Yes but needs repair
� Assists the user in computing earned value variables
Error Tracker (builds an error tracking database) - No
� Build an error tracking database for subsequent use in determining quality metrics and DRE information.
Change Request/Report Generator - yes
� Assists the user in creating a Software change request and the developer in appending a software change report.
Hatley-Pirbhai System Model Template Builder - No
� Uses a Q&A format to assist the user in creating a context level system model template. An advanced version would decompose the context level into a system flow diagram.
Use-Case Builder - Yes
� Uses a Q&A format to assist the user in creating a complete use-case for some interactive task. The tool might also help in identifying tasks, actors, etc.
Data/Function Partitioner - No
� Many developers have difficulty in partitioning data objects or functions. This tool would guide a user in the partitioning process (possibly using a Q&A approach). It might also make use of the Grammatical Parser tool to parse a narrative at one level of abstraction into the next lower level of abstraction.
Grammatical Parser - No
A more sophisticated tool, this provides automated semi-automated assistance for those who want to apply the grammatical parsing approach. Isolates nouns and verbs and creates a preliminary list of each. This list is edited by the user and the final list is created. Allows the user to develop further narrative for each object (noun) and action (verb) and then applies itself recursively. This provides a mechanism
Data Modeler - No
� Possibly used in conjunction with the Grammatical Parser tool, this tool provides a simple means for creating ERDs by allowing the user to specify connections between defined data objects.
Structured Analysis Assistant - No
� Possibly used in conjunction with the Grammatical Parser tool, this tool guides the user through the tasks required to create an analysis model. It creates simple DFDs, PSPECs, STDs, CPECs or provides assistant in their creation.
Simple Algorithm Builder - No
� Possibly used in conjunction with the Grammatical Parser tool, this tool uses stepwise refinement to guide user through creation of any simple algorithm.
Coupling and Cohesion Metrics Calculator - No
� This tool computes the coupling and cohesion metrics described in SEPA. A more advanced version would incorporate other C&C metrics (see [ZUS97]) to provide a composite C&C index for a component.
QDS Calculator - No
� This tool assists the user in developed a quantitative evaluation of a software architecture using the approach outlined in SEPA. An advanced version (or a different tool implements the ATAM heuristics referenced in SEPA.
Structured Design Assistant - No
� This tool guides the user through the tasks required to create a structured design model . It assists the user in developing flow boundaries within a DFD and then mapping these into either transform or transaction structures.
Decision Table Builder - No
� This tool guides the user through the tasks required to create a decision table. It queries for all conditions, actions and then helps define rules. A more advanced version implements some of the things contained in [HUR83].
Independent Basis Path Selector - No
� Programming language version of a component is input to this tool. The tool identifies predicates, determines V(G), and then selects a set of independent basis paths for the component.
TestingAssistant - No
� The developer of this tool will require additional references other than SEPA.
Quality Assessor - Yes
� Uses a Q&A and/or quasi-quantitative assessment format to develop and indication of the quality of an application.
BANG Metric Calculator - No
� Implements calculation of DeMarco's Bang Metric.
DSQI Calculator – Yes but they all have issues
� Calculates the design structure quality index by querying the user for S counts and then performing the calculation. A more advanced version might determine some of the S counts automatically.
Halstead Calculator - Yes
� Calculates Key Halstead variable using input source code.
SMI Calculator - Yes
� Calculates software maturity index using data provided by user.
Object-Class Identifier - Yes
� Use a Q&A format to assist analyst in identifying candidate objects/classes and then validating/rejecting candidates based on the characteristics noted in SEPA.
OO project Estimator/controller - No
� Builds tasks associated with a generic recursive/parallel process model and allows a project manager to customize and then estimate effort associated with each task/iteration.
Metrics Collector for OO Projects - No
� Allows project manager to enter measures described in SEPA and then computes appropriate metrics to assist in project estimation and/or control.
UML Tutor for Analysis Work - Yes
� Presents a micro tutorial for UML including all important diagrammatic representations used for OOA and basic concepts.
Domain Analysis Guide - No
� Use a Q&A format to assist an analyst in identifying candidate reusable objects/classes for a specific application domain. Likely based on a functional decomposition/elaboration model for the domain.
Use-Case Builder - Yes
� Use a Q&A format to assist an analyst in creating use-cases. The output of the tool will be use-case forms.
CRC Index Card Builder – Yes but they have some issues requiring rework
� Use a Q&A format to assist an analyst in building CRC index cards. The internal database created for this tool should product reports that are of use to both the analyst and the designer/tester.
UML Tutor for Design Work - No
� Presents a micro tutorial for UML including all important diagrammatic representations used for OOD and basic concepts.
OO System Design Guide - No
� Guides a designer through the steps to complete a layered system design using the approach recommended by Buschmann .
Design Pattern Register - No
� Uses a forms approach to register a design pattern. User completes all information specified
Review Assistant for OOA/OOD models - No
� Uses CRC information (and database) created using the CRC Index Card Builder to semi-automate the CRC walkthrough
Test Case generate for OO Random Testing - No
� User enters all operations and their relationships form the behavioral model. The tool then creates a set of test cases templates that exercise the relationships among operations.
OO MetricsCalculator – No
� Use a Q&A format to collect measures that are discussed and then computes relevant metrics and produces a report based on their implications.
Formal Methods Tiny Tool - No
� Develop a tiny tool that will assist someone in creating a formal specification. The tiny too may address a very narrow aspect of specification development and need not be comprehensive. This will require substantial additional research in the sources referenced elsewhere.
Box Structure Builder - No
� Assist the cleanroom designer in building black-boxes, state-boxes and clear boxes, including graphical representation of those boxes.
DesignVerification (Proof of Correctness) Assistant - No
� Accepts PDL or source code as input and determines points in logic where correctness questions are asked. Indicates these and in an advanced version, determines context so that the appropriate question will be asked for the designer to verify.
Statistical UseTest Generator - No
� Using technique descibed in the book (p. 699ff) develop a set of randomly generated use tests based on input probability distribution for various program stimuli.
Component Identifier - No
� Using technique described in the book address questions noted and then develop a scheme for defining a characterization function.
Component Librarian - No
� Using a indexing scheme defined by the tool builder, create a tool that enables a user to look-up a potentially reusable component. This tool is for pedagogical purposes only and will not be intended for actual use.
Component Reuse Cost Calculator - Yes
� A Q&A format to collect measures required to compute cost values. Ultimately computes reuse leverage and all intermediate values.
Web Site Quality Assessor – Yes (one works and one is broken)
� Uses a Q&A format to assess the quality of an existing or proposed Web site following general quality model.
Web Engineering Assistant – No
� Guides the developer through Web Engineering tasks including architecture design, navigation design, and interface design. Advanced version builds diagrams and provides detailed guidance and analysis.
Software Reengineering Tiny Tool - No
� Develop a tiny tool that will assist someone in doing some aspect of software reengineering. The tiny too may address a very narrow aspect of reengineering and need not be comprehensive. This will require additional research in the sources referenced within SEPA and elsewhere.
Inventory Analyzer - No
� Assists an organization in developing an inventory of software applications including the definition of various characteristics that will assist in determining whether a legacy system requires reengineering.
Reengineering Cost Calculator - Yes
� Use a Q&A format to collect measures required to compute cost values noted on p.803 ff. Ultimately computes cost benefit and all intermediate values.
Web or Mobile Accessibility Checklist - No
� Use a Q&A format to look for accessibility issues in web pages or mobile apps.