Hello Mcgihhn3,
Q: Why do we use activity and information models [to aid in software
development]?
A: I will answer this in two parts.
Activity models are also commonly referred to as business process or
workflow models. In the Unified Modeling Language (UML), an activity
model is complementary to
- use cases
- state transition diagrams
- method descriptions
There are a few examples on line that can be referenced including:
http://www.popkin.com/customers/customer_service_center/tip_of_the_week/12_20_99/tipofweek.htm
http://www.wizdom.com/processwork.htm
http://msdn.microsoft.com/vstudio/techinfo/articles/developerproductivity/modelsoftware.asp
http://www.modelingstyle.info/activityDiagram.html
and many others searched by a phrase such as
software activity modeling example
The last one for example has a series of guidlines for constructing
activity diagrams to make them easier to construct and understand.
Information models are sometimes referred to as data models or
specifically generated with a method such as IDEF1 (IDEF1x) to gain
understanding of information in a system. Some aspects of an
information model include "entities" (pieces of data), "connection
relationships" (how two entities are related, 1:1, 1:N, N:M),
"categories", "attributes", and "keys". More recently, information
models have been used to aid in integration of systems on the
Internet.
Examples available on line include:
http://www.idef.com/idef1x.html
http://www.sandsoft.com/metadata.html
http://www.automatedbuildings.com/news/jan02/art/alc/alc.htm
http://www.sei.cmu.edu/domain-engineering/information_model.html
http://www-db.stanford.edu/~melnik/pub/sw00/
and many others through a search phrase such as
software "information modeling" example
software "information model" example
idef1x software example
and so on. The last one has some comparisons between various methods.
In most, if not all cases, modeling is done to
- gain information about the present system or the system to be
implemented
- help communicate between developers, users, and other stakeholders
The first benefit is particularly important. In an existing system,
much of the information is not written down and is in the heads of the
existing users. Part of the system analysts job is to understand the
existing system - where it works well and where it does not - to help
determine what should be done in a new system that will take its
place.
Having said that, care should be used to balance the amount of work
expended when compared the benefits seen. Remember that the model does
not build the system or help it operate better. It is only the system
implemented, the equipment it runs on, and the people who operate it
will make the system run.
If you need an expansion of the definition of terms or how the models
are used, please provide some additional information about the
specific application or methods to be addressed. I will be glad to
clarify the answer as needed.
--Maniac |