Font Size: a A A

A UML-based metric approach to estimate total effort using software project designs

Posted on:2009-09-15Degree:Ph.DType:Dissertation
University:Illinois Institute of TechnologyCandidate:Gordon, Jeffrey DFull Text:PDF
GTID:1448390005955210Subject:Computer Science
Abstract/Summary:
A key question to ask when developing a software application is: “How much time and effort will the software project take?” We would like an answer to this question early in the software development process, such as the Design Phase, to better allocate limited resources. We critique several existing effort metrics and show their weaknesses. Because of these limitations, we have developed an effort metric that: is object-oriented based on UML; is process-automatable; can be used in either a programming or database software environment; can be applied during any stage of the Design Phase—early, mid, or late; and, analytically refines the development effort for software testing.;Three distinct UML approaches are shown to calculate effort corresponding to the early, mid, and late stages of design using Carlson's UML Design Methodology. In early-design, the focus of the effort calculation is on the objects and their Requirement Responsibilities parameter, shown with the Object-Relationship Diagram, to estimate effort as Object Points. In mid-design, the focus of the effort calculation is again on the objects, but instead, uses the object's average fan-in and fan-out parameter, shown in the Interaction Diagram, to estimate effort as Interaction Points. In late-design, the focus of the effort calculation is on the individual messages sent and received by the objects, shown in the Interaction Diagram, to estimate effort at the micro-level as Message Points. Here the attributes in each message are analyzed as the parameter using the assistance of the Class Diagram. The messages and Message Points are then counted and accumulated, respectively, by sub-transaction to estimate effort at the macro-level as Transaction Points. We show how to convert Transaction Points into person-hours and how to adjust them to include additional software testing time, which is often underestimated. Finally, student design data is gathered and statistically analyzed to show a high degree of consistency. We attribute this data consistency to the students using a good design methodology. The student data is then used to calculate effort using our automated approaches, which also show highly consistent results and an increasing level of accuracy at each stage of design.
Keywords/Search Tags:Software, UML, Using, Estimate, Show
Related items