Niwot Ridge Resources
A Source of Information for Mission Critical Systems, Management Processes, and Strategies
There are nearly an unlimited number of tools on the market for the support of software analysis, design and development. Here is a list of tools I use in my practice that are known to work.
Together/J Enterprise – is a UML tool developed by Peter Coad. This tool is written in Java and focuses on the development of Java based applications. It provides a complete set of facilities for round trip engineering of Java applications. Starting with OO Analysis, T/J can be used to define the class components in an abstract form. T/J provides a full documentation suite including built in JavaDoc support, HTML publishing and RTF publishing. The latest version has acceptable printing support (nothing is a nice as Visio 2000), and can be connected with source code control systems.
Estimate PRO – is a software development effort estimating tool based on Steve McConnell's work. It uses a Monte Carlo simulation method to estimate the effort and duration of a software development project, given a set of parameters. This tool must be calibrated, before nay real data can be produced. The usefulness of Estimate PRO (as well as other tools like COCOMO) is in a comparison estimate for the current project using previous projects measured results.
Ensemble Systems CRC Cards – CRC cards are a powerful ay to capture the initial Class / Responsibility / Collaboration relationships for a system. The first impulse of a software development team is to define the classes, the methods and the interactions between the class. The CRC Card method allows this to happen in a natural way, without the commitment to the normal software development effort (coding and recoding as the design changes). CRC Cards evolved from role playing groups where the attributes of an individual were adopted by another individual. In CRC Cards, the roles of the class are documented on a Card and expressed during a scenario. The CRC tool is a simple way to capture the Classes, the Responsibility of the Class, and the other classes need to fulfill the role of the Class. It can produce classes that are loaded into Rational Rose, but not Together/J (one draw back).
Critical Tools provides a set of PERT and WBS add on tools for MSFT Project. These create hanging PERTS which can be use to visually describe a project's progress to plan much better than anything MSFT Project has. The WBS tool can be used to construct elaborate product breakdown charts as well as the traditional work breakdown structure. More project management tools are listed below.
TASSC UML Estimating is a project estimating tools based on UML.
Another list of tools is located at the University of Montreal
Risk Management Tools
A list of risk assessment tools can be found at the Risk World site. Here are some more interesting tools:
@Risk is a Monte Carlo simulation risk management tool.
Crystal Ball is an Excel Plug In that will analysis the risk associated with data in the spread sheet.
Bayes Systems provides tools for decision making using Bayes Theorem. Bayes theorem is the fundamental principle governing the process of logical inference. It determines what conclusions can be made with what degree of confidence based on the totality of relevant evidence available.
Other UML Tools that may be of interest, some of which I have tried some that I haven't. This list is a composite from many sites and individual searches. Since UML is a rapidly growing industry this list changes all the time.
There are some precursors to UML that are useful. CRC cards are one of these. Here's some CRC card products to consider:
Spiral Software provides several useful products. Their CRC Card is free too .
This list of UML tools is an aggregate from many sources and continues to be updated as new products are released and discovered. (In some cases the description is taken from the marketing materials on the site.)
Action Semantics is a group of firms that have responded to the OMG's RFP to define he action semantics for UML.
Argo/UML - is a domain-oriented design environment that provides cognitive support of object-oriented design. ArgoUML provides some of the same automation features of a commercial CASE tool, but it focuses on features that support the cognitive needs of designers.
ARTiSAN Software - provides a variety of UML based CASE tools, including a real time modeling tool.
BoldSoft - provides modeling tools for Delphi
BridgePoint - is a real time UML modeling tool
GDPro - is a full suite of UML and code management tools. The developers of GDPro can from Lockheed Martin in Littleton, CO and have extensive experience in realtime and mission critical applications development and the tools needed to support this effort.
Hoora is the method for object-oriented requirements analysis, that provides clear guidelines on how to use UML the standard software modeling notation. HOORA provides specific support for consistent views on a model. HOORA also has support for real-time systems.
Ideogramic is a gesture-based UML design tool. This makes it really easy and efficient to use, and uniquely also allows for use on a large electronic whiteboard.
Kennedy Carter provides a complete solution to help deliver cost effective, error free software using executable UML specifications.
Objecteering is a UML CASE tool that includes a modeler, a developer tool, and a profile builder.
Poseidon for UML from Gentleware provides a community edition for free. This product evolved from ARGO which is another free UML tool supported in the university environment. (See above)
Project Technology was founded in 1984 by methodologists Sally Shlaer and Stephen J. Mellor. The BridgePoint Development Suite provide an executable XML translation platform.
Rhapsody - is a visual programming environment for C++ and Java targeted to the real time embedded development market. This tool generated executable code from state diagrams which is very useful in the telecommunications business.
Sparx Systems is an Australian company that provides Enterprise Architect which is an affordable modeling and documentation tools to support UML.
System Architect is Popkin's UML tool
Tools for Systems is a systems modeling tool, that it allows you to define your system’s mission(s) as objects depending on objects of categories operator (role), software and hardware.
Visio - Visio 2000 (and now 2002) Enterprise contains a UML suite that can build diagrams within Visio. Although this is a interesting set of tools, they don't have quite the same notation as Together/J, Rose, and GDPro (the top three tools). My experience is this tool is also slightly unstable, so it may be useful for "drawing" UML diagrams, but not very useful for production development environments. As a long time user of Vision (since Version 1.0), the Visio product has become less stable over time with the addition of more features.
One starting point for software tools, and there are many is the Software Measurement Laboratory at the University of Magdeburg.
There are a growing number of metrics tools. Here's a partial list.
Cantata - Cantata is a software verification product which offers developers a complete solution to the verification of C software in a single package. The tool provides automated facilities for Dynamic Testing, Coverage and Static analysis in a totally integrated environment. The product has been designed to offer high productivity and is exceptionally easy to use in both host and target environments.
CMT++ - by Testwell is a vendor of testing tools for C, C++ and Ada languages. The tools are applicable in code-level unit testing (test harnessing, test coverage), systems testing (test coverage) and static analysis (code metrics) sub-phases of testing.
COCOMO Project Homepage – The COCOMO II model is an update of COCOMO 1981 to address software development practices in the 1990s and 2000s. It is being developed by USC-CSE, UC Irvine, and 29 affiliate organizations. A public version of COCOMO II is available, including a Java implementation.
Codecheck – Abraxas Software Version 9.0 is a programmable tool for managing all C and C++ source code on a file or project basis. CodeCheck is input compatible with all variants of K&R, ANSI C and C++ ( Microsoft, Metaware, Borland, Intel, Vax/Vms-Ultrix, HP/Apollo, Microtec, Watcom, Symantec, Apple MPW, CodeWarrior, AT&T, and GNU ). CodeCheck is designed to solve Portability, Maintainability, Complexity, Reusability, Quality Assurance, Style Analysis, Library/Class Management, Code Review, Software Metric, Standards Adherence, and Corporate Compliance Problems. We support Embedded Systems C++ Specification.
Charismatek – is an Australian company specializing in function point tools such as the Function Point Workbench (FPW) which is widely distributed in other countries. The Function Point Workbench is not a full software cost estimating tool, but does assist in enumerating costs based on function points by allowing effort and costs to be distributed. The tool includes full function point sizing capabilities and a repository of projects that have been sized. The Function Point Workbench is often used in addition to other forms of software cost estimation such as CHECKPOINT or KnowledgePlan.
Chis Pty Ltd – The FP Recorder is a tool for Function Point Analysis.
GlobalMANAGER™ This tool collects and displays real-time managerial and technical data generated during the software development process. As a web-based Graphical User Interface, it displays critical information needed to proactively manage the software development process. An online demonstration of the tool is available.
Goel-Okumoto Software Reliability Model An automated version of the Goel-Okumoto Nonhomogeneous Poisson Process Software Reliability Model which runs on an IBM-PC. Distributed by the DACS.
Hindsight – Code-cyclomatic complexity.
Krakatau – I've used this one for several years on a large Java project. The current version (released in May of 2001) is an updated version of our "beta" tools suite.
McCabe & Associates McCabe & Associates was founded by Tom McCabe, Sr., the president and inventor of a widely used complexity metric. McCabe & Associates is the developer of the McCabe Visual ToolSets (TM). This includes The Visual Quality ToolSet, The Visual Testing ToolSet, and The Visual Reengineering ToolSet.
Metamata Metrics – Code-the Chidamber & Kemerer suite in its entirety, LOC, cyclomatic complexity, fan out and several others.
Metrics ONE – Four categories of metrics are calculated: class metrics, package metrics, operation metrics and use case metrics. The metrics are actually calculated on the Rational Rose model rather than the native code, hence the Rational Rose requirement.
Metre v2.3 Metre is a freely distributable ANSI/ISO Standard C parser. Reports Halstead metrics, various line and statement counts, backfired function points, control depth, identifier count, number of functions and modules, and a call graph.
Metrics4 [FORTRAN | Pascal | Project] – Code-LOC, cyclomatic complexity and fan out.
MetricCenter Distributive Software develops and markets MetricCenter, a suite of applications that provide enterprise-wide measurement and metrics. MetricCenter supports all aspects of an organizational measurement process and is in use by organizations rated in the software and systems CMM (up to Level 5) and ISO-9000.
NASA COST MODELER, at the Lyndon B Johnson Space Center
Object Detail – Code-encapsulation, inheritance, polymorphism, DIT, WMC, CBO.
OOMetric/Developer –Metrics specific to VisualAge.
Panorama – Code-cyclomatic complexity, WMC, DIT, NOC, CBO, RFC.
PC-Metric – Code-cyclomatic complexity & Halstead measures.
Process Focus Software Process Focus Software provides software tools supporting process improvement activities, including an interactive interface to the Software Engineering Institute's Capability Maturity Model (CMM).
Positive Support Review, Inc. – Metrics HandiGuide for the Internet and IT.
Programs for C Source Code Metrics Some free programs to count lines of code, cyclomatic complexity, Halstead metrics, backfired Function Points, etc. for C code. The tools can be compiled on SunOS.
QA Family – Code-cyclomatic complexity, providing deep flow static analysis tools QA C, QA C++, and QA Fortran. These tools detect various aspects of your code including language implementation errors and incorrect programming practice. Each product offers extensive reporting functions.
QualGen – Calculates approximately 200 metrics, after parsing Ada 83, Ada 95, FORTRAN 77, FORTRAN 90, K&R C, ANSI C and C++ source code to reverse engineer, automatically document, calculate code metrics, and help the user understand, navigate and maintain source code that has grown too large for one person (or even a group) to understand.
Quantitative Software Management (QSM) Lawrence Putnam is the president of QSM. QSM offers their clients Software Lifecycle Management (SLIM) processes and tools for software cost estimating, reliability modeling, schedule estimating, planning, tracking, and benchmarking.
Resource Standard Metrics – Project and code. The code measures seemed to be largely focused around LOC.
SET Laboratories, Incorporated SET Laboratories, Inc. has been a leading provider of software measurement products and services since 1987.
Scientific Toolworks Inc.; QualGen is a software metrics system that can derive 200 metrics from Ada or C source code.
Software Metrics – Code. A wide range of metrics are calculated and can be found described on their website. They fall under the following 6 categories: McCabe metrics, Halstead metrics, date metrics, LOC metics, the Chidamber and Kemerer suite (except for CBO) and other OO metrics.
SoftEST Software Estimation Model SEPO has made available version 1.1 of the SoftEST which was developed by MCR Federal Inc. on behalf of the Air Force Cost Analysis Agency. SoftEST is the follow-on to the REVIC software estimation model and is Windows-based. SoftEST is also Y2K compliant.
Softstar Systems Developers of Costar, an automated implementation of COCOMO II.
Software Metrics Sites The Software Metrics Sites are a guide to Internet resources on software measurement, process improvement and related areas. Topics featured include electronic papers, bibliographies and conferences on software measurement, object-oriented metrics, Function Point Analysis and software process improvement.
Software Productivity Research Information Center A leading provider of software measurement, assessment, and estimation products and services. Capers Jones is SPR's chairman and founder.
Telelogic A developer and vendor of CASE tools, including the measurement tool Logiscope and object oriented tools.
Tools for Calculating Software Metrics This list presents tools that calculate complexity metrics for software. Such tools are also known as static analyzers as they analyze the programming source code. It is not necessary to compile or run the code to perform the analysis and calculate the metrics. Metrics is interpreted in its most loose sense. However, function point calculating aids and metric databases have been excluded.
Testworks METRIC – Code-LOC, cyclomatic complexity, Halstead measures. TestWorks, an integrated suite of software test tools, is the broadest test tool suite available. TestWorks tools help automate and streamline the software development and testing process with product lines that work independently or as an integrated tool suite. TestWorks is the only tool suite that offers Regression Testing, Test Suite Management, and Test Coverage support for Web and Windows and UNIX Platforms.
Total Metric for Java – Code-cyclomatic complexity, Halstead measures.
Web-Integrated Software Environment (WISE) WISE is a WWW-based project management and metrics system available on the WWW. Programmers and managers can log issue reports, track the status of issues, and view project metrics using standard WWW browsers.
KIDASA Software, Inc. - Markets Milestones Professional, an easy to use product that makes it easy to put together project schedules. Milestones Professional produces outlines which can be used to generate work breakdown structures with WBS Chart Pro. It can also take a WBS outline from WBS Chart for Project and generate a multilevel project outline.
Chronicle Graphics is a milestone charting tool. It has a time movie marker to show how the schedule has changed over time.
DecisionEdge is an Earned Value charting, complete with Bulls Eye charts and general graphing add on for Microsoft Project.
Microsoft Project Website - Visit the Microsoft Project Home Page for more information on Microsoft Project including tips, articles and the latest news concerning Microsoft Project.
Microsoft Project User's Group - Visit this site for information on the national Microsoft Project User's Group with meetings at various locations throughout the United States.
New Standard Institute - Founded in 1991, New Standard Institute provides maintenance management consulting and technical training services to industrial clients. The firm is staffed with degreed professionals with decades of knowledge in maintenance operation.
PM Connect - A worldwide project management consulting, training, and software development company. Founded in San Diego in 1985, PM Connect is currently headquartered in Monterey, California.
Project Direct, Inc. - (PDI) is a project management performance consulting firm, providing project management and project management software corporate training. PDI also offers workshop materials for those companies or individuals or distributors who wish to conduct their own project management training.
Project Planning Inc. (PPI) - Project Planning Inc. is a project management training and consulting firm focusing solely on project management and Microsoft Project.