Addressing Modeling Issues
Most
modeling issues relate to addressing the ambiguities and incompleteness of the
model. What are the missing details and
can these details be resolved by talking to the users
and domain experts. What are the data
archive requirements? Does the model
need to address concurrent access in a multiple user system? Does the system be fail safe and resistant to
crashes and should it include fool proofing?
Trade offs include level of centralization verses a distributed system. Can life cycles cost be reduced by significant
modeling activities?
System
boundaries must be addressed by determination of how many activities are
computerized. Interfaces to other
systems (insurance, billing, and pharmaceutical) must also be defined. Does the model need to address release of
data, access control, and user permissions?
Persistence of information or objects needs to be clarified if reports
are generated and external interfaces need to be supported. Activity Diagrams and State Charts can help
clarify these issues.
The Spiral Model Meets Roundtrip
Engineering
One
possible approach is the use of reverse engineering and automatic code
generation. An existing system or
prototype could be reverse engineered into class diagrams. These diagrams could be put aside (hidden
from the users). The users could then be
interviewed by using activity and sequence diagrams as a “clean sheet” and/or
“brainstorming” approach to solicit the true classes of the system. After the user interviews, these “preliminary
user defined” classes are compared to the reverse engineering classes by the
domain experts. New classes would be
developed through the reconciliation of the “preliminary user defined” classes
and the reverse engineering classes. The
new resulting class diagram would then be entering into an automatic code
generator and the next generation of prototype would be developed. The process could be repeated as many times
as necessary to evolve the system definition.