Information Technology Reference
In-Depth Information
product from a higher level of abstraction to a lower level. Restructuring which is a
process of improving the product without changing functionality also takes place
at the same time. In general, restructuring is performed to make the source code
easier to maintain. A worse situation occurs if the source code is lost and the
executable is available. A possible way to recreate the source code is to use a
dissembler to create assembler code and then try to recreate the high level lan-
guage code. Problems with this kind of approach are (Schach 2007 ):
1. The names of variables will have been lost
2. Many compilers optimize the code in a way that makes it rather difficult to
recreate the source code.
3. A construct in assembler could correspond to a number of different possible
constructs in source code.
11.11 Agile Modeling and Extreme Programming
Agile Modeling (AM) is a practice-based methodology for effective modeling of
software-based systems. The AM methodology is a collection of practices—gui-
ded by principles and values—that are meant to be applied by software profes-
sionals on a day-to-day basis. AM is not a prescriptive process, in other words it
does not define detailed procedures for how to create a given type of model,
instead it provides advice for how to be effective as a modeler. AM is ''touchy-
feely'' in that it is not hard science—think of AM as an art, not a science.
An important concept to understand about AM is that it is not a complete
software process. AM's focus is on effective modeling and documentation. That's
it. It doesn't include programming activities, although it will tell you to prove your
models with code. It doesn't include testing activities, although it will tell you to
consider testability as you model. It doesn't cover project management, system
deployment, system operations, system support, or a myriad of other issues. This is
because AM's focus is on a portion of the overall software process. In fact you
need to use it with another, full-fledged process such as eXtreme Programming
(XP), DSDM, SCRUM, the Agile Unified Process (AUP), or the Rational Unified
Process (RUP). You start with a base process, such as XP or RUP, or perhaps even
your own existing process, and then tailor it with AM (hopefully adopting all of
AM) as well as other techniques as appropriate to form your own process that
reflects your unique needs. Alternatively, you may decide to pick the best features
from a collection of existing software processes to form your own process. For XP
projects, AM explicitly describes how to improve productivity through the addi-
tion of modeling activities, whereas for RUP projects it describes how to
streamline modeling and documentation efforts in order to improve productivity.
Search WWH ::




Custom Search