Introducing Objectcharts or how to use Statecharts in object-oriented design

A notation called Objectcharts for specifying object classes is introduced. An Objectchart diagram is an extended form of a Statechart, which characterizes the behavior of a class as a state machine. The Objectchart transitions correspond to the state-changing methods that the class provides and those that it requires of other classes. Object attributes and observer methods annotate Objectchart states. Firing and postconditions are used to specify the effect of transitions on class attributes. The Objectchart notions is described through the development of an alarm clock application. How Objectcharts can be used to find subtyping inheritance relationships between classes and a systematic approach for evolving Objectchart specifications are shown. >

[1]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[2]  John A. McDermid,et al.  Software Engineer's Reference Book , 1993 .

[3]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[4]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[5]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[6]  Rajiv D. Banker,et al.  Factors Affecting Software Maintenance Productivity: an Exploratory Studyl , 1987, ICIS.

[7]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[8]  L. A. Marascuilo,et al.  Statistical Methods for the Social and Behavioral Sciences. , 1989 .

[9]  Peter J. Denning,et al.  Machines, Languages, And Computation , 1978 .

[10]  Charles A. Behrens,et al.  Measuring the Productivity of Computer Systems Development Activities with Function Points , 1983, IEEE Transactions on Software Engineering.

[11]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[12]  Stuart E. Madnick,et al.  Special Feature: Impact of Schedule Estimation on Software Project Behavior , 1986, IEEE Software.

[13]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[14]  Rajiv D. Banker,et al.  A model to evaluate variables impacting the productivity of software maintenance projects , 1991 .

[15]  A. Nico Habermann,et al.  The Engineering Institute: Bridging Practice and Potential , 1985, IEEE Software.

[16]  D. Ross Jeffery,et al.  Calibrating estimation tools for software development , 1990, Softw. Eng. J..

[17]  Rajiv D. Banker,et al.  Software complexity and maintainability , 1989, ICIS '89.

[18]  Charles R. Symons,et al.  Function Point Analysis: Difficulties and Improvements , 1988, IEEE Trans. Software Eng..

[19]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[20]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[21]  Capers Jones,et al.  Programming Productivity , 1986 .

[22]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[23]  Barry W. Boehm,et al.  Improving Software Productivity , 1987, Computer.

[24]  Chris F. Kemerer,et al.  An empirical validation of software cost estimation models , 1987, CACM.

[25]  Oscar Pastor,et al.  OASIS: An Object-Oriented Specification Language , 1992, CAiSE.

[26]  Michael J. Prietula,et al.  Software-Effort Estimation: An Exploratory Study of Expert Performance , 1991, Inf. Syst. Res..

[27]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[28]  S. Siegel,et al.  Nonparametric Statistics for the Behavioral Sciences , 2022, The SAGE Encyclopedia of Research Design.

[29]  Frederick Hayes-Roth,et al.  Building expert systems , 1983, Advanced book program.

[30]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[31]  Victor R. Basili,et al.  A meta-model for software development resource expenditures , 1981, ICSE '81.

[32]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.