|
|||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||
|
Dr. C. Robert Carlson
Director of the Center for Professional Development at Illinois Institute of Technology
Director of the Information Technology and Managment Program at Illinois Institute of Technology
Research Areas and Contributions
Software Testing Maturity Model (TMM)
Automated Software Development with UML Software Engineering Database Theory, Systems Modeling and Design Software Testing Maturity Model (TMM)The Test Maturity Model (TMM) was developed at the Illinois Institute of Technology by Professors Bob Carlson and Ilene Burnstein and their graduate students. It provides a guideline for test process improvement and is positioned as a complementary model to the Capability Maturity Model (CMM) developed at the Software Engineering Institute of Carnegie Mellon. Here is what test engineers, practioneers and consultants around the world have recently said about TMM. In "Test Maturity Model Makes Enterprise Inroads" appearing in Computer Weekly, October 17, 2007, Brian Wells states "there are many models available, but the Test Maturity Model (TMM) could provide the best way forward as it aligns more easily with industry standard asoftware engineering assessment models than alternative methods. TMM effectively filled the quality control void that exists in the current CMM models." At EuroSTAR 2007, an international software testing conference, Erik van Veenendaal noted that "the Test Maturity Model, developed by the Illinois Institute of Technology, is growing in use across Europe and the USA." TMM also plays a prominent role in his book The Test Practioner. In "It's Testing Time" appearing in Express Computer, India's No. 1 IT Business Weekly, July 2004, G. Sankaranarayanan stated that "guidelines are emerging... the Illinois Institute of Technology, for instance, recently developed a Testing Maturity Model, to assist software organizations in assessing the tasks of improving their software testing processes." In "Test Process Improvement Using Software Test Diagnostic Model (STDM)" presented at the International PSQT Conference on Practical Software Quality and Testing in May 2007, Nikhil Gupta et al described how that incorporated the best practices of Test Maturity Model (TMM) to study each aspect of testing and create a roadmap of improvement. At the Asia Pacific Software Testing Conference, March 2007, M. C. Nagaraj noted in "Improving Existing Test Process Using Test Maturity Model (TMM) that models such as "ISO 9001, CMMI, SPICE, etc. ... do not adequately address testing issues." He also notes that the TMM helps organizations to introduce best practices in progressive way and assess the capability and maturity of test processes against a set of standards goals." At SPIN - Software Process Improvement Network meeting in Philadelphia, Fred Haeusel from Motorola demonstrated a pilot integration of the Test Maturity Model (TMM) into a TL 9000 based internal assessment in an attempt to determine both compliance with the TL 9000 4.0 stadndard requirements and maturity level as assessed through the Test Maturity Model. In the British Computer Society's Information Systems Examination Board (ISEB) guidelines, Version 1.1, for obtaining ISEB Foundation Certification in Software Testing, the TMM and CMM provide the knowledge base for section 8 - Test Process Improvement. Top Automated Software Development with UMLUnder the direction of Prof. C. Robert Carlson, his colleagues and graduate students have produced numerous contributions to this field. These contributions cover the fields of software design, design standards, automated processes and testing. Here is a brief description of these contributions. Design Driven Development Every mature engineering process is design driven, e.g., automobile manufacturing, architecture, computer hardware. Software development should be no exception. The Design Process Improvement Model provides a six-level maturity framework to realize design maturity based on an evolutionary strategy. Design process improvement is not achieved by performance improvement in just one area nor in all areas at once. Rather, it requires improvements in several inter-related areas one step at a time. These areas are referred to as the key attributes of design process improvement. Their evolution in terms of design capability is described in terms of improvement paths. This provides a basis for determination of the different design maturity levels, the key focus areas for each level and the improvement path provided through the different maturity levels for the different key attributes. The six levels are
In "Software Design Practices: A Design Process Improvement Approach", C. Robert Carlson, CA_Enterprises, @2007, design techniques are described which enable an organization to evolve its design process based on this model. Design Standards Unified Design Pattern Specification design patterns provide the software developer with industry accepted approaches to solve frequently observed problems. Numerous design patterns have been identified and documented in different ways. This research introduced a new classification approach and a process of cataloging software patterns using a uniform descriptive approach. With these concepts a design pattern catalog has been constructed which contains most of the popular patterns found in the literature. The catalog can be found in "A Uniform Approach to Software Pattern Classification and Software Composition", PhD thesis, Sargon Hasso, IIT, May 2007. Component Based Specification an adaptive component specification paradigm is introduced that employs a generic behavioral model approach that enables the designer to specify component behavior based on a uniform responsibility model reference architecture. A responsibility driven design checklist is described which enables the designer to both clarify behavioral issues and choose from an extensive list of design patterns to deal with these issues. Design Units this concept was developed to provide an approach to partitioning use case scenarios found in interaction diagrams into standardized message unit patterns. Design units include message units, state based message sequences, maximal linear message sequences, dialogue units and use case units. Each unit has distinctive properties that test engineers can exploit when preparing test cases. Automated Processes As part of the UML based design methodology described in "Software Design Practices: A Design Process Improvement Approach", several automated design techniques are described. These include a state assignment algorithm which converts and interaction diagram into an event state table. Coupled with the dialogue design unit concept introduced above, a complex event state table can be decomposed into a hierarchy of simpler more focused and manageable event state tables. These event state table can later be used as part of automatic code generation techniques. Top Software EngineeringEvery mature engineering process is design driven, e.g., automobile manufacturing, architecture, computer hardware. Software development should be no exception. Based on this perspective my research has focused on software design practices and how they can be used to improve code development, testing and maintenance practices.(1) Design Process Improvement Model (DPIM) The Design Process Improvement Model provides a six-level maturity framework to realize design maturity based on an evolutionary strategy. Design process improvement is not achieved by performance improvement in just one area nor in all areas at once. Rather, it requires improvements in several inter-related areas one step at a time. These areas are referred to as the key attributes of design process improvement. Their evolution in terms of design capability is described in terms of improvement paths. This provides a basis for determination of the different design maturity levels, the key focus areas for each level and the improvement path provided through the different maturity levels for the different key attributes. The six levels are
(2) Software Design Methodology In "Software Design Practices: A Design Process Improvement Approach", C. Robert Carlson, CA_Enterprises, @2005, a UML based design methodology is described which enable an organization to evolve its design process based on the DPIM model. Key features of this methodology include the role of design standards, automated design techniques and the traceability properties and Several automated design techniques are introduced in this research. These include a state assignment algorithm which converts an interaction diagram into an event state table. Coupled with the dialogue design unit concept described, a complex event state table can be decomposed into a hierarchy of simpler more focused and manageable event state tables. These event state table can later be used as part of automatic code generation techniques. Using path enumeration techniques and the design unit concepts introduced earlier, the scenarios defined by an interaction diagram can be enumerated and used in the construction of a test matrix. Test matrices can be used by test engineers in generating test cases. Automated Processes for Software Development Design Standards Unified Design Pattern Specification design patterns provide the software developer with industry accepted approaches to solve frequently observed problems. Numerous design patterns have been identified and documented in different ways. This research introduced a new classification approach and a process of cataloging software patterns using a uniform descriptive approach. With these concepts a design pattern catalog has been constructed which contains most of the popular patterns found in the literature. The catalog can be found in "A Uniform Approach to Software Pattern Classification and Software Composition", PhD thesis, Sargon Hasso, IIT, May 2007. Component Based Specification an adaptive component specification paradigm is introduced that employs a generic behavioral model approach that enables the designer to specify component behavior based on a uniform responsibility model reference architecture. A responsibility driven design checklist is described which enables the designer to both clarify behavioral issues and choose from an extensive list of design patterns to deal with these issues. Design Units this concept was developed to provide an approach to partitioning use case scenarios found in interaction diagrams into standardized message unit patterns. Design units include message units, state based message sequences, maximal linear message sequences, dialogue units and use case units. Each unit has distinctive properties that test engineers can exploit when preparing test cases. Top Database Theory, Systems, Modeling and DesignWhen this research began, ad hoc approaches were the norm for practioneers in the field of information system design. The research began with the establishment of a theoretical foundation for the field and quickly grew into the development of several practical approaches used in the field.(1) Dependency Theory The foundations of database design and information architecture began with the work of Codd and his associates at IBM on the relational model. The initial articles in the mid 1970s by Bernstein at Harvard and myself at Northwestern lead to the development of the field of Dependency Theory. Our early theoretical research focused on both relational database navigation using dependency theory and on the Information Preserving Properties in support of the popular normalization design approaches. (2) Database Systems The initial research focused on using functional dependencies as a basis for relational database navigation using natural language or other high level user interfaces. The earliest relational database management systems wre developed in universities and at IBM's San Jose Lab. At Northwestern and later at IIT, we developed several prototype systems which benefited from the application of dependency theory in the patterned and modular approach to code generation. Functional dependencies provided a simplified mapping mechanism between user interface model and the underlying relational database engine. As a result it made it possible to prototype high level database interfaces on early generation PCs. (3) View Supportability Theory and View Based Relational Database Design This research focused on developing formal criteria by which retrievable and/or updateable relational views could be specified. This research was termed View Supportability Theory. This concept lead to a request at Bell Laboratories for us to develop a database design package that would enable database designers to gather relational view requirements from hundreds of software developers and apply view supportability theory to the construction of an integrated relational database design that supported these requirements. This system had an immediate impact on the development of consistent, high-quality relational database designs and the capability of a database designer to manage such projects. This is referred to as the "view integration approach to relational database design". (4) Nested Entity Relationship Model The Entity Relationship (ER) Model emerged as a popular database design tool because of its graphic representation and application to relational database model. However, even moderate size databases require ER diagrams that are difficult to comprehend and visually represent. The Nested Entity-Relationship Model was conceived while working on a Defense Department project that contained over 500 ER objects. By applying a nested diagram approach to the popular aggregation and generalization modeling concepts a multi-level diagram results that achieves both modular design and data abstraction. The result was that designers could produce database designs that were easy to comprehend and implement using existing design tools. It made all the difference in getting designs approved by the DOD. A corollary of this approach is that object oriented class diagrams can expressed with the nested approach and without all the awkward visual notation introduced by class diagrams when applying generalization and aggregation modeling techniques. (5) Relation to NER Clustering Conversion Technique Based on the concept of subordinate dependencies we developed a clustering algorithm that enables large scale relational database designs (100 to 2000 relations) to be converted using a soft\ware tool into NER diagrams. This algorithm was first developed for Argonne National Laboratory on DOD projects requiring user friendly models of the underlying relational database being used in various applications. A corollary of this approach is that nested object oriented designs can be generated from a relational database design. The impact of this is that using this clustering technique and the view integration design technique together designers can allow users to specify their requirements as simple relations and the tool can generate an object oriented design that integrates these views. (6) Universal Data Model Our early research produced a "universal" data model which we demonstrated could be used to uniformly describe the structural properties of an extensive range of existing data structures and database models. A behavioral semantic model was also developed, called the Update Protocol Model, to uniformly describe the behavioral semantic properties of these data structures and database models. (7) Workflow Query Language Existing database query languages focus on the first generation logic describable approaches to data access. Our research used a second generation logic approach that incorporated both process/workflow models and traditional structural models such as the relational approach. We developed a prototype system that supports both workflow based database design approaches and a workflow query language that enables users to express process oriented queries, relying on the database system to specify the navigational paths that must be used to access the information stream. This approach introduces the idea that users can request streams of information rather than the traditional information snapshot. Top |
Spring Semester Courses Begin January 22. Course Schedule Online
Important Spring 2008 News can be found here
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||