Taller de Reglas de Negocio - Dratf - 90909
Taller de Reglas de Negocio - Dratf - 90909
Taller de Reglas de Negocio - Dratf - 90909
1 Introducción
1.2 Motivación
3 Antecedentes.
Divide et vinces
Julio Cesar (100 adC – 44 adC). Líder militar y político romano
Desde siempre el mundo va generando conocimiento llámense leyes,
reglamentos, políticas, reglas, modelos, etc., tratando de ordenar y
hacer mas productivo su vivir y hacer.
Por tanto hay muchos factores que pueden influir en el éxito del
desarrollo de los sistemas de información que no podemos pasar por
alto, entre ellos son:
La infraestructura de la organización.
4 CONTEXTO
El W3C ref 5 dice que las reglas como tales estan en todas partes y
que son claves para el éxito las aplicaciones del Software
“Las reglas son un elemento clave de la Web Semántica que hace posible la
integración, derivación y transformación de los datos desde distintos recursos de
forma distribuida, transparente y escalable. En un entorno de Servicios Web, las
reglas hacen posible la automatización del cumplimiento y composición de
políticas que manejen el envío de información, el acceso a servicios o la ejecución
de procesos.”
REF
fig 2
5 FUNDAMENTO TEóRICO
Ref http://en.wikipedia.org/wiki/Requirement
http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=regla
Regla
1. f. Instrumento de madera, metal u otra materia rígida, por lo común de poco grueso y de
forma rectangular, que sirve principalmente para trazar líneas rectas, o para medir la
distancia entre dos puntos.
2. f. Aquello que ha de cumplirse por estar así convenido por una colectividad.
3. f. Conjunto de preceptos fundamentales que debe observar una orden religiosa.
4. f. Estatuto, constitución o modo de ejecutar algo.
5. f. En las ciencias o artes, precepto, principio o máxima.
6. f. Razón que debe servir de medida y a que se han de ajustar las acciones para que
resulten rectas.
11. f. Fil. Conjunto de operaciones que deben llevarse a cabo para realizar una inferencia o
deducción correcta.
12. f. Ling. Formulación teórica generalizada de un procedimiento lingüístico. Regla de
formación del plural
13. f. Mat. Método de hacer una operación.
Para qué sirve una regla?
a+ b = Reglas de negocio
Ref v http://en.wikipedia.org/wiki/Business_rule
Dicho esto pues, vale decir que las reglas de negocio trata de cómo
un negocio u organización toma las decisiones para lograr sus
objetivos y no acerca de cómo funciona o se ejecutan dentro de un
sistema.
COMO Y PORQUE
A ver papá
La literatura de Reglas de Negocio [Ros03, Mor02] establece que las reglas de negocio no
de- ben ser ambiguas, por lo que todos los t¶ermi- nos sados se de¯nen apropiadamente, y
establece como pr¶actica necesaria que todos los conceptos (t¶erminos) utilizados en las
reglas deben estar de- ¯nidos en un vocabulario de negocios. El vo- cabulario de negocios
de¯ne todos los t¶erminos y lista los signi¯cados de estos conceptos relevantes para
describir las reglas de n egocio de ese dominio en un lenguaje particular, las relaciones
entre es- tos conceptos, de manera similar a c¶omo se de¯nen los conceptos en los modelos
de ontolog¶³as.
A business rule defines or constrains one aspect of your business that is intended to assert
business structure or influence the behavior of your business. Business rules often focus
on access control issues, for example, professors are allowed to input and modify the
marks of the students taking the seminars they instruct, but not the marks of students in
other seminars. Business rules may also pertain to business calculations, for example, how
to convert a percentage mark (for example, 91 percent) that a student receives in a seminar
into a letter grade (for example, A-). Some business rules focus on the policies of your
organization, perhaps the university policy is to expel for one year anyone who fails more
than two courses in the same semester.
Figure 1 summarizes several examples of business rules. Notice how each business rule has a
unique identifier, my convention is to use the format of BR#, but you are free to set your own
numbering approach. The unique identifier enables you to refer easily to business rules in other
development artifacts, such as class models and use cases.
In some situations you’ll discover that business rules can be described very simply, perhaps
with a single sentence. In other situations this isn’t the case. Figure 2 presents one way to
fully document BR123. There are several sections in this figure:
• Name. The name should give you a good idea about the topic of the business rule.
• Description. The description defines the rule exactly. Although I used text to describe this
rule it is quite common to see diagrams such as flow charts or UML activity diagrams
used to describe an algorithm. Other options include business rule languages such as
Object Constraint Language (OCL), the ILOG rules language, or Business
Rules Markup Language (BRML). As Agile Modeling suggests, Apply the Right
Artifact(s) for your situation.
• Example (optional). An example of the rule is presented to help clarify it
• Source (optional). The source of the rule is indicated so it may be verified (it is quite
common that the source of a rule is a person, often one of your project stakeholders, or a
team of people).
• Related rules (optional). A list of related business rules, if any, is provided to support
traceability between rules.
• Revision history (optional). An indication of the date a change was made, the person
who made the change, and a description of the change.
Figure 2 is clearly a lot more wordy than most project teams need. A more agile approach would
be to simply write the name of the business rule, the business rule number, and the description on
an index card and leave it at that. Or you might want to get a little fancier and type the business
rule into a Wiki page (www.wiki.org) or a word processor (feel free to use this template).
Remember to keep your models as simple as possible.
Business rules are identified in the normal course of requirements gathering and analysis.
While you are usage modeling, perhaps with use cases or user stories, you will often
identify business rules. A rule of thumb is if something defines a calculation or operating
principle of your organization then it is likely a good candidate to be documented as a
business rule. You want to separate business rules out of your other requirements artifacts
because they may be referred to within those artifacts several times. For example, BR129
was referenced by the Enroll Student In Seminar use case and likely would be referenced
by your class models and perhaps even your source code. However, if you have only a
handful of business rules or use cases, you may choose to document them right in the use
cases. A rule of thumb: start out including them in the use cases until it becomes obvious, or
painful, to do so. This may be because the sheer number of business rules is dominating the
use case or because the same business rule is referenced in two or more use cases.
A good business rule is cohesive: in other words, it describes one, and only one, concept.
By ensuring that business rules are cohesive, you make them easier to define and increase
the likelihood they will be reused (every time one of your artifacts refers to a business rule,
even other business rules, it is effectively being reused). Unfortunately, because business
rules should focus on one issue, you often must identify a plethora of rules.
Ronald Ross (2003) describes several basic principles of what he calls “the business rule
approach”. He believes that rules should:
Many business rules can actually be thought of as constraints, and in fact constraints can
apply to either technical or business issues. In the UML business rules are often described
on diagrams using the Object Constraint Language (OCL) (Warner and Kleppe 1999)
which can add to people’s confusion regarding the differences between the two concepts.
Don’t worry about it, the important thing is to identify and understand the requirement not
categorize it.
EJEMPLOS
1.2Contents
[hide]
Below is a general approach towards the semantic capture of technical rules and their
abstraction into business rules.
A series of preparatory help to avoid protracted rules mining exercises, ensure that rules are
valuable to the business, and speed the process of creating ‘business’ and not simply
‘technical’ rules. These steps are recommended to build the right organizational framework
and to align rule mining with business priorities.
Depending on the goal there will be two primary outcomes that can be derived from a rules
mining activity:
Business Rules In other cases, the exact semantic behavior of edits and calculations in
applications needs to be captured as true business rules. The captured semantics will be
used as a basis for, and perhaps even directly fed into, target development environments.
The outcome of this step will drive decisions regarding technology adoption, resource
planning, and the best methods to apply for either type of rule mining.
Largely Manual Approach A low-cost, low-value application of technology for rule mining
is the documentation of rules in word processing or spreadsheet applications. This approach
will not help address the most resource-intensive portions of rule mining – like analyzing
application behavior and locating rules within source code segments.
Runtime Simulation Runtime simulation technologies that facilitate the capture of user
behavior into processes and rules can help from a behavioral aspect. Their main drawback
is that they are limited to those test scenarios actually performed within a given time frame
– potentially missing out on critical exceptions not usually performed.
Scanning Tools Text scanning tools that locate patterns within sources can accelerate the
capture of rules based upon fixed patterns within source code (e.g. showing all moves to a
variable). These tools typically generate a large number of false positives and tend to lead
to technical rather than business rules.
Rule mining tools may also offer rule management and auditing capabilities, facilitating
project workflow and rule maintenance activities by reviewers. They are also able to retain
rule traceability to originating sources even when those undergo change (as they often do in
a live environment).
Considering the above, the tradeoff of a low-cost approach to rule mining will be in higher
manual effort and lower quality of results. This may be acceptable in one-off, small-scale
documentation scenarios, but less likely to be so in enterprise level modernization efforts.
Project goals and choice of technology will impact resource allocation. All too often,
expectations from the business side are to receive a precisely modeled set of business rules
derived from the application semantics, without realizing the complexity of such an effort.
On the IT side, practitioners without experience in rules mining or familiarity with the
application subject matter are ill-equipped to offer reliable estimates.
An iterative approach toward time and resource estimation may be adopted. Mining rules
for a representative sub-set of the application over the first few weeks provides insights into
the methods that work best for selected applications, as well as a yardstick by which the
overall effort can be estimated.
The logic mined is important because of its business context. After all, logic is a subset of
an overarching business process. Mined rules will make sense only when placed into
context within the associated process. For example, assigning a prospective customer to an
income bracket based upon her zip code might have different significance in credit
approval and marketing campaign processes (witness insurance companies advertising that
they will only look at past behavior and not credit ratings to set premiums).
Once the business processes have been modeled, application elements that support the
chosen processes are identified. Historically, these applications were organized in silos,
making the high-level match a straightforward step. At a more granular level, however, a
monolithic order management application may handle customer enrollment, credit
approval, order entry, and order fulfillment. If an organization is only interested in mining
rules for the customer enrollment and order entry components, a mapping exercise between
processes and their supporting application portfolio elements will be beneficial.
With repository-based software, application objects are registered and syntactic and
semantic relationships within them are automatically captured.
Cases of overlap are noted, where a program or data store serves multiple business
processes.
In Figure 1 below, the Customer Master, Order Master, and Inventory data stores are within
the scope for rule mining despite the fact that they support additional processes outside of
the scope. Similarly, the Customer Handling program is monolithic and includes logic for
Credit Approval, outside of the scope of this effort.
In the previous steps, an application has been inventoried and it has been understood, at a
high level, where the required business processes of interest reside within application
artifacts. The next task will be to decompose the application into its constituent logical
elements. A key factor continues to be contextualization. Elements of the application that
are not relevant to organizational priorities are excluded. This scoping via context allows us
to also see the ‘boundaries’ of rules and their associated impacts.
Application Decomposition
In this step, the application is further decomposed into its detailed components. The goal is
to have a sufficiently detailed collection of artifacts to serve as input to the rule mining
step.
Here too, technology can help. Repository-based software can create a parse tree of detailed
application objects and their relationships. This information is then presented in multiple
graphical and textual views, synchronized with each other to facilitate context-sensitive
analysis.
For example, a context view will display all data field declarations, procedures, and
procedure calls within a program in a compressed and outlined mode. A detailed source
code view will display code segments corresponding to the context view, allowing for quick
navigation through the program via the context view. Traversal through the context view
will enable a user to gain quick insights into a program's structure and complexity.
Other views available at the detailed program level include diagrammatic control flow
between paragraphs, logic flowcharts within paragraphs, execution paths and runtime
simulators for chosen conditional outcomes. Such tools are used to gain detailed insights
into an application prior to actually starting the rule mining phase.
Without the benefit of automated parsing tools, value can still be gained by conducting a
manual inspection and walkthrough of application artifacts.
Identification of Exclusions
In the process of reviewing and analyzing an application, elements not to be included in the
scope of rule mining, for functional and technical reasons, are marked. These may include
standard utilities, reports, system routines and out-of-scope business processes. In the
example from Figure 1, this would include the artifacts related to Credit Approval and
Order Fulfillment, out of scope due to their nature as commodity, standardized business
processes.
6. Glossary Creation
A major challenge with mining rules from applications is that it can be difficult to navigate
the various variables and naming conventions within. These conventions have often a
tenuous link to business terminology, and can make understanding the logic from a business
perspective difficult.
A best practice is to refine these technical terms to create more a more business-centric
view. This can be achieved through glossary of application objects and related business
terms. Objects could be data fields, paragraphs, programs, data sources, and other
application objects of interest.
Automated rule mining tools offer a facility to propagate values for repeating patterns
(commonly called ‘tokens’) within your application. For instance, the token 'ACCT-' may
be replaced everywhere by 'Account-'. A tool would then use the glossary business names to
replace technical terminology in the automated construction of candidate rules.
The desired rules format is established in advance. The same rule to set an order discount
may take alternate forms, such as
(i) Declarative form: "Each applicant who is a senior AAA member from California
receives a 5% discount."
(ii) If-Then-Else form: If an applicant is a senior, then if she is an AAA member, then if she
resides in California, assign a 5% discount.
It can be useful to attach to a mined rule additional informational and workflow attributes,
such as:
A rule will also be placed within a hierarchy. All rules representing a decision or executing
under a given set of conditions may be grouped into a Rule Set. Rule Sets will be grouped
into higher level activity nodes reflecting the business processes they currently participate
in.
Enterprise rule mining is usually a multi-step process involving practitioners with disparate
skill sets – including consultants, developers, architects, analysts, and subject matter
experts. Often key personnel will be distracted by other projects and it is therefore crucial
that a common workflow be defined and documented.
Following the guidelines provided further in this document, a high-level workflow may
appear as:
At this point rules are mined from the application artifacts mapped to the scope of the
business processes identified in previous steps. Rule mining tools help you assure that
excluded artifacts are not included in scope by enabling the organization of an application
into sub-groupings. Rules will be mined for a sub-grouping and not for the entire
application.
The specific rule mining approach taken is primarily driven by application patterns and the
desired output.
Top-Down Approach
Using a seed field as a starting point, all of the downstream data impacts to the field
including all conditional permutations are documented. Each data transformation (move
into another field or calculation), represents a candidate business rule to be captured.
Rule mining software tools assists in this task by visualizing a data impact path forward for
each seed field to each point where it is either populated by new values or used as input to
other fields via comparisons, value propagation and calculations. At each such point, the
tool can be used to document the underlying business rules. Automated rule detection
methods can also be applied to capture each screen field edit as a candidate rule.
In a batch application, the concept is similar. Part of a job flow, e.g. a Job Control Language
or group thereof that realizes a business process is identified, and all rules within individual
programs relevant to that process are mined.
In Figure 4 above, note the format of the resulting "Derived Candidate Rules".
Automatically detected from a Cobol program, they resemble its constructs, with variable
names replaced by the Glossary definitions. These will later undergo review and
transformation to a more businesslike form. While this example is demonstrated for a
Cobol application, advanced mining tools may apply to a broad array of languages from
PL/ and Natural to Visual Basic and Java.
Bottom-Up Approach
Following this approach, rules are captured by starting from an interesting data point and
identifying all logic impacting that point. For example, an Order Discount field is impacted
by discounts calculated upstream from it, depending on the customer's location of
residence.
Rule mining technologies are particularly well suited to this approach. Through visual
inspection or a repository query, data outputs of interest can be quickly identified. Then,
automated rule detection routines are able to capture a candidate rule for each statement
that impacts the point of interest. Because of the pre-organization into contextualized sub-
groupings mentioned above, the search results will be constrained by the subset of business
processes deemed relevant for rule mining.
Inspection of relevant DBMS tables may also produce rules embedded in keys and any data
rules for referential integrity and value constraints. Once all data points of interest have
been covered, all application logic of interest oriented toward existing outputs has
essentially been mined.
Hybrid Approach
The benefit of this approach is to extend the coverage of rule mining while avoiding
repetition.
Relating to the examples shown in Figures 4 and 5 above, following a strictly top-down
approach resulted in repetitive efforts for the Quantity and Price fields since they both
traversed identical downstream data impacts. Coverage was also partial since not all of the
rules for Customer Discount were discovered.
Let’s consider an extended case involving both Order Entry and Proposal Issuance
processes. Adopting an exclusive bottom-up approach would have also resulted in
repetition, mining rules for upstream data impacts that "hit" multiple outputs (e.g. customer
discount rules). Using the hybrid approach, we would first mine rules from all outputs of
the order transaction, then only outputs of the proposal transaction particular to it.
At this point, after mining candidate rules from your application, verification and correction
is a necessary step to ensure the correctness and completeness of the rules.
The candidate rules are examined for:
Accuracy Does each rule correctly reflect the underlying application behavior? If
automated rule detection technology has been used, a rule at the point of interest (seed
field) will be preceded by rules upstream from it, possibly with triggers, control conditions,
and automatic rule set groupings. Each one of them (or a chosen subset) is reviewed for
accuracy and corrections are made where needed, until the results are deemed satisfactory.
Redundancy Does a rule or rule set appear twice for the same application process? This can
occur when rules are mined separately for two separate outputs that share upstream
functionality. Or it can be a result of simple oversight like multiple team members
inadvertently mining rules from the same code base. A rule attribute is used to mark
duplication.
Another form of redundancy occurs when semantically identical rules were mined
separately and with different names from different processes (e.g. Order Detail and
Proposal). This will be dealt with in the next step, when you transform candidate rules to
business rules format.
Completeness Beyond predefined exceptions, has all of the application functionality been
covered? A rule coverage report, matching mined rule sources to overall sources, can
provide the answer.
Relevance Can each mined rule be considered a candidate business rule? Although this is
not yet the SME review step, there may be certain constructs that, upon inspection, are
clearly irrelevant and should not be included in the scope of rules for review. Security
verification rules, housekeeping routines and out-of-scope operations may all fall into this
category. Indicate relevance on one of the rule attributes.
In the previous steps, candidate rules have been mined and reviewed, reflecting legacy
application behavior. These rules closely follow the application's procedural flow and
operations.
A transformational step is now required, to convert candidate rules to actual business rules
ready for review. This step is conducted either by application experts, rule architects, or
subject matter experts. After review and conversion, the business rules captured reflect the
current, as-is state to serve as a baseline or comparison to the target environment.
If an automated rule detection tool was used, the resulting candidate rules may somewhat
resemble business rules, by using the glossary definitions to place business names within
rule names, data elements and controlling conditions. However, even after the rule
verification step, most of the approved candidate rules will need to be adapted to conform
to a chosen business rule notation.
Fact Modeling and Rule Normalization Due to their procedural nature, legacy applications
tend to lock business logic into process-specific silos. However, true business rules are
independent of process and should be maintained as such.
In our example, rules for the Order Detail Entry and Proposal Entry events have been
separately mined and placed in Rule sets. Are they all unique? Upon further examination,
most of the logic in them is identical by design. Analyzing the results from a business
perspective, there is commonality between portions of any customer document – whether
Order or Proposal.
From a tooling perspective, at this point it may make sense to switch over to a Business
Rule Management System, importing the mined rules from the rule mining tool as
described in the Integration section below.
Using a BRMS or a visual modeling tool, a Fact Model reflecting the significant business
entities and their interrelationships discovered in your existing applications is constructed.
These will link to the mined business rules and serve as a baseline for the to-be rules model.
Once this is done, the business rules are normalized to represent the desired business level
semantics:
…whereby the Customer Document Handling rules apply to both Orders and Proposals.
At this point, the generated rule grouping and sequencing are considered. One point of
attention is the triggering relationships between rules and other rules and rule sets. Since
candidate rules are often derived from a 3rd generation language application (like Cobol or
PL/I), they are automatically sequenced in a procedural manner. Transformation to a
declarative mode will eliminate procedural elements that are non-business in nature.
Once mined rules have been transformed into business rules, they are handed over to
subject matter experts (SMEs) and / or business analysts for review and approval.
Normally, SMEs will not make major changes to the rules at this point. Rule mining tools
may include rule attribution capabilities to aid the SMEs and enable them to mark up the
business rules as
• Approved or rejected;
• Reclassified to another category;
• Annotated with additional information in textual description attributes.
Rule mining tools also often offer web portals with a functional focus on predefined SME
activities. This can greatly accelerate the review and approval process.
Business rule reports are created in either hardcopy or digital formats. Rule mining tools
produce reports and diagrams depicting detailed or summary rule information within your
chosen context: hierarchy level, grouping, search result. These reports serve both as
reference in the review steps and as documentation of record.
Depending upon the adopted modernization strategy, integration requirements with other
environments will vary.
Business Rule Development
Redevelopment with a business rule approach will typically leverage a BRMS authoring
environment. These tools typically include XML import capabilities, which will be used to
define an "as-is" business rule space, allowing rule developers to selectively re-use
candidate rules deemed relevant for the target environment. This will provide valuable (and
sometimes crucial) traceability from newly deployed rules back to their legacy origins.
Conventional Development
This approach typically involves building Java and .NET applications with comprehensive
developer toolkits. Often, UML models will be used to define logical application views
prior to actual code generation.
In these environments, mined business rules can be attached as behaviors in UML classes
that leverage them. For example, an Order_Invoice class including Order_Discount as an
attribute, may also include Calculate_Order_Discount as a class behavior. This behavior
can be derived (and potentially imported) from the mined business rule performing the
same function.
BPM
Process Management Business Process Management (BPM) tools facilitate process model
creation and linkage to underlying rules and executable services. They also include the
ability to define workflow rules (using BPEL) to govern the manual and automated
transitions between activity nodes.
In this context, each activity node may be realized by business rules. Many-to-many
relationships may exist between rule sets and supported activities. Populating BPM
processes with their relevant mined "as-is" business rules can "close the loop" for business
analysts and significantly advance IT / business alignment goals.
Requirements Management
Vendor offerings also include requirement tools that enable the definition of high level use
cases, detailed flowcharts and activities for effective application development and
management. In these environments, mined business rules can be imported and attached as
either core requirements or as textual annotations to activity nodes.
SOA Enablement
Service enablement of existing applications involves code refactoring and deployment as
service capsules. The rule mining step can be invaluable in locating fine-grained services
within source code and serving up the required service components. For example, the
results of automatic rule detection for the calculation of an order discount will include all
code segments leading up to the final calculation. By creating a component slice with that
code (and its dependents) only, the order discount calculation can be redeployed as a
service.
We expect most applications to continue and maintained for many years into the future.
Having mined rules from them, it is crucial that they continue to be updated and kept
synchronized with future application changes. Rule mining tools offer maintenance and
management capabilities, including
• Automatic alignment of rules with their original code segments even when they
have moved as a result of overall source code changes;
• Audit trails for manual rule changes;
• "Changer" routines allowing for individual or mass changes, post- rule mining.
1.3.4[edit] Conclusion
A well-defined approach to business rule mining will allow for business contextualization
early on in the process. Not only will the contextualization step help frame mined rules
correctly, it will also reduce the rule mining investment to focus only on critical and
dynamic business processes of interest. Regardless of the application modernization
strategy adopted, the best practices and tool-assisted approaches described here will help
you achieve your goals at a lower cost, with less repetition and higher quality results.
1.4[edit] Footnotes
En su libro el poder de lo simple Jack Trout y Steve Rivkin mencionan
que ser considerado simple no es una ventaja, que es mucho peor ser
considerado “simplista” según ellos (y comulgo con ellos) dice: “Es
como ser considerado ingenuo, o incluso, tonto o necio”.
Fig. 1.0
Fig. 1.1
Proceos de Negocio
Definición
Un proceso de negocio describe las relaciones y las
interacciones entre los objetos de negocio y funciones
múltiples negocios, limitada y dirigida a través de reglas de
negocio. Las relaciones pueden ser estáticas o flexibles,
como pueden ser las interacciones.
Reglas de Negocio
una declaración que define o restringe algún aspecto del
negocio. Este debe ser un término o de hecho (que se describe
a continuación como una afirmación estructural), una
restricción (que se describe a continuación como una
afirmación de la acción), o una derivación. Se trata de
"atómicas", ya que no se pueden desglosar o descompuesto aún
más en las reglas de negocio más detallada. Si se reduce en
más, no habría pérdida de información importante sobre el
negocio.
Declaración de Reglas de Negocio
una declaración declarativa de la estructura o la restricción
de que la empresa impone a sí misma o ha puesto en él.
Tipo de expresión formal de
una de las gramáticas formales para la representación de
reglas de negocio.
Declaración formal de la Regla
una expresión de una regla de negocio en una gramática formal
específico.
Política
una declaración general de la dirección de una empresa
---------------------------------tgeryyt-----------------------------------------------
------------------------------------------------------------------------------------------eferte--------
-------------------------------------------fghdfghdgh-----------------------
------------------------------klj---ñokñ------------------
Las relaciones de los tipos en el nivel indica que todos los super
tipso participarán een la relcion
Escenarios empresariales
Escenarios de negocios son una técnica valiosa que puede ser
utilizado como insumo para la
el desarrollo de la arquitectura de negocio para ayudar a
identificar y comprender el funcionamiento de la
el negocio, y así obtener los requisitos del negocio y las
limitaciones que el
la arquitectura debe abordar. Escenarios de negocio se
utilizan para describir lo que debería ocurrir
cuando los eventos planificados y no planificados ocurren
Mejores prácticas
Declarativa: una regla de negocio es una declaración de la
verdad acerca de una organización. Se trata de un intento
de describir las operaciones de una organización, no un
intento de prescribir cómo una organización debe
funcionar.
Por ejemplo, una regla para una compañía aérea que los
Estados pueden actualizar a los pasajeros de primera ronda
de boletos de viaje si hay asientos disponibles y pagar el
aumento de la tarifa no implica que este acuerdo está
disponible para un solo tramo del viaje.
Distinto, independiente construcciones: Separar las cosas
que definen su negocio (las normas) de los procesos (es
decir, las estrategias y tácticas). No construir
dependencias complejas y cíclicas - simplificar y aplanar
lasconstrucciones.
Expresado en lenguaje natural: En el fin de atraer a la
audiencia más amplia, es casi siempre el mejor para
expresar las reglas de negocio en un lenguaje natural sin
el uso de un montón de jerga técnica.
Gráficos: Como alternativa, herramientas recientes
permiten una notación gráfica de reglas de negocio, en
lugar de o además de la notación del texto. Estas
notaciones basadas en semántica o modelo de evitar la
trampa de utilizar demasiado técnico o demasiadas largas
penas de texto que no se puede entender. Esto también
facilita la comprensión de la complejidad en, por ejemplo
interacción normas.
De negocios, no la tecnología, orientadas a: Por ejemplo,
las reglas de negocio de una empresa no debe ser ajeno a
un cliente bien informado.
De negocios, no la tecnología, la propiedad: Las reglas de
negocio provienen de las decisiones de negocios. Estos son
independientes de las decisiones de aplicación.
• Identificación de skateholders
• Definir sus necesidades
• Determinar el alcance del sistema
• Adquirir sus requerimientos del negocio
• Adquirir requerimientos del usuarios
• Adquirir requerimientos del sistema
• Requerimientos wde e negocio Vs reglas de negocio vs requerimioentros del producto
• Identificación del dominio de las reglas de negocio
• Identificación de las reglas de negocio
• Búsqueda de reglas de negocio
• Redacción de las reglas de negocio
• Calidad en las reglas d negocio
• Almacen de la s reglas de negocio
• Manifiebnsto agfgil delas reglas de negocio
4.
INTRODUCCION
Definición 2
Datos: Declaración que impone una restricción en la
selección, las relaciones, y la estructura de los elementos
de datos en una base de datos.
Definición 3
Temas relacionados: BR - Definiciones
La visión de proceso
Haley tiene una interesante sobre la definición de reglas de
negocio.
Definido de oracle
Disparo momento
Lo que hay que recordar es que todas
las técnicas, a excepción de la
codificación directa en la clase
EntityImpl, sólo puede ser llamado en
el momento en una fila única Entidad
está validado, o en el momento en todas
las filas de la entidad se han
comprometido (este último se produce si
aplazar la ejecución a nivel de
transacción, utilizando una
configuración en la Entidad "Agregar
regla de validación" de diálogo). Ese
es el equivalente de menoscabar la
entidad superclase métodos
validateEntity o beforeCommit.
La complejidad de la norma
Además, no las reglas de validación se
han apropiado de las normas de evento
de cambio (que conlleva una
modificación de los datos en algún otro
atributo o entidad). Puede interferir
con el ciclo de validación (ver sección
7.2 Entender el ciclo de validación).
BusinessRule
JboValidatorInterface =
MyCustomValidator nuevo ();
EntityContext
JboValidatorContext =
JboValidatorContext nuevo
(JboValidatorContext.TYP_ENTITY_OBJECT,
null, this);
businessRule.validate
(EntityContext); me parece que esto sea
menos intuitiva entonces la técnica se
describe a continuación, y usted no
tiene el valor añadido que las reglas
declarativas tienen como la
trazabilidad, la agrupación
excepciones, y permite realizar cambios
a través de MDS. Además, este código da
una advertencia del compilador, y no me
queda claro cuál es la alternativa para
el constructor es obsoleto:
constructor JboValidatorContext
(int, java.lang.Object,
java.lang.String,
oracle.jbo.AttributeDef,
java.lang.Object, java.lang.Object) ha
sido deprecatedIt funciona bien,
aunque, así que si te gusta puedes
utilizar este enfoque en lugar de la
descrita en cómo aplicar los principios
OO en EntityImpl.
MyComplexRule EntityRule =
MyComplexRuleImpl nuevo ();
myComplexRule.setEntity (this);
myComplexRule.process (); Por
supuesto, usted puede tener varias
clases de RuleImpl cada una
representando una norma diferente de la
entidad, que puede ser llamado desde
diferentes lugares de la EntityImpl.
> cambiar
Por que
El problema con la incrustación de las normas en los
programas de aplicación es el siguiente. Como y cuando estos
cambios de reglas de negocio, a continuación, cambiar los
programas de aplicación es largo y costoso. Una solución a
este problema es expresar las reglas de negocio mediante
declaración - no sólo en la modelización de la empresa, sino
también en el sistema de información computarizado.
Cuando
Donde
Como
Divisionm
Derivaciones
Las reglas de negocio (incluyendo las leyes de la naturaleza)
define como el conocimiento de una forma puede ser
transformada en conocimiento de otros, posiblemente en una
forma diferente
TEMPLATE +}
Instructions:
1. Use the following template for each business rule.
2. Capture all business rules in a single doc file.
Identifier: BR##
Description:
Detailed description of the rule. Typically written in structured English or pseudo code.
Consider using a flowchart or UML activity diagram to depict procedural logic.
Example:
Optional section. Sometimes a business rule is easier to understand when one or more
examples are provided.
Related Rules:
Optional section.
List other business rules related to this one. Word Tip: If you mark each business rule with
a heading type (e.g. Heading 1, Heading 2, …) you can then add an automatic link to the
rule by inserting a cross-reference (Insert menu, Cross-reference item, then insert a
heading). E.g.. Instructions:.
Reference(s):
Applicable references, such as explanatory documents (printed or electronic), pertinent to
this business rule.
Notes:
Any applicable notes, issues, …
Assumptions:
1. Assumption… (indicate "None" if none)
Notes:
Optional section.
1. List an "to dos", concerns to be addressed, …
2. List any important decisions made during the development of this business rule.
Proceso de Negocios
Generar Compras
Actividad del Proceso de negocio de generar Compras
Aplicar el modelo Just in time
Evento de negocios
Calendarizar Compras ->
Tarea
Realizar Compra
EJUEMPLO 1:
Healthcare
--------------------------------------------------
------------------------------
Compañía
Compañía de Seguros de Salud
Desafío
Mejorar la gestión de la tesorería y la autonomía de los
usuarios de negocio para impulsar las iniciativas de cambio
Solución
Adoptar RuleXpress y una metodología de reglas de negocio
en toda la empresa
Resultados
Reducción del 80% en tiempo de cambio de ciclo y la gestión
eficaz de las normas de aplicación a través de tecnologías
múltiples
--------------------------------------------------
------------------------------
Desafío
Solución
Resultados
EJEMPLO 2 :
--------------------------------------------------
------------------------------
Compañía
Autoridad tributaria regional
Desafío
Mejorar la precisión de los sistemas fiscales y de permitir
a los usuarios de negocio para cumplir con su responsabilidad
de administrar las normas fiscales
Solución
Utilice RuleXpress para documentar y hacer que el código de
impuestos explícitos y modernizar los sistemas fiscales
legado
Resultados
Mejora de la precisión en la recaudación de impuestos y la
reducción de complejidad de la implementación futura de un
95%
--------------------------------------------------
------------------------------
Desafío
Solución
RuleXpress ofrece:
· Buscar normas
· Términos derivados
Resultados
EJEMOPLO 3
Seguros
--------------------------------------------------
------------------------------
Compañía
La pequeña práctica de los seguros comerciales de una
empresa de seguros establecida
Desafío
Reducir la revisión manual y aumentar la confianza de los
agentes en los precios cotizados
Solución
Desarrollo de un nuevo enfoque de desarrollo de
aplicaciones basadas en las empresas dirigidas por el
desarrollo de
las reglas de negocio y el proceso de
Resultados
Una relación nueva y mejorada entre el negocio y de TI y
verdadera propiedad de las empresas
de cambio en curso
--------------------------------------------------
------------------------------
Desafío
Solución
RuleXpress ofrece:
· Open Integration
RuleXpress puede importar las reglas y las condiciones
creadas en otros entornos para poder reutilizar las
inversiones existentes, como las normas capturados en hojas
de cálculo.
Resultados
Nuestro cliente ha pasado 2 años renovando por completo su
enfoque de desarrollo de aplicaciones y la tecnología de
pila. A pesar de que las primeras aplicaciones sólo van a la
producción que ya han visto grandes beneficios, sobre todo en
la relación entre negocio y TI. Los usuarios de negocios se
han convertido en un verdadero compromiso y se sienten
responsables de sus propias aplicaciones. Ellos son los
dueños del proceso y las normas, que pueden hacer análisis de
impacto para comprender el efecto que un cambio puede tener,
y que entiendan lo que está pasando. En el pasado este tipo
de información fue enterrado en el código y lo que los
usuarios de negocios no podría realizar su propio análisis o
hacer sus propios planes. IT, mientras tanto, es capaz de
concentrarse exclusivamente en la aplicación de las reglas de
negocio. La combinación de RuleXpress y una metodología clara
y disciplinada garantiza que los desarrolladores de
aplicaciones y autores regla conseguir normas claras e
inequívocas para poner en práctica.
EJUEMPLO #$
Utilidades
--------------------------------------------------
------------------------------
Compañía
A la agencia no lucrativa que apoya la comunidad los
servicios públicos de propiedad
Desafío
Mantener los sistemas de información sincronizada con un
mercado energético en rápida evolución
Solución
Elaborar y desarrollar un sistema basado en normas
utilizando RuleXpress y un moderno sistema de normas de
gestión empresarial
Resultados
Reducción sustancial de los costos relativos a otras
organizaciones que enfrentan los mismos desafíos
--------------------------------------------------
------------------------------
Desafío
Solución
RuleXpress ofrece:
Resultados
REPRESENTACIÓN Y COBERTURA
DE LAS REGLAS DE NEGOCIO
♦ Vocabularios para acelerar el desarrollo.
♦ Múltiples representaciones de reglas.
♦ Modelado de hechos gráfi co.
♦ Conservación de la secuencia de presentación.
♦ Testeo de la consistencia de las reglas.
♦ Testeo de la colisión de reglas.
♦ Soporte de léxico.
The Business Rules Approach
Information Systems analysts have long been able to describe an enterprise in terms of
the structure of the data the enterprise uses and the organization of the functions it
p e r f o r m s . U n f o r t u n a t e l y, t h e r e i s o f t e n n e g l e c t o f t h e r u l e s ( c o n s t r a i n t s a n d c o n d i t i o n s )
under which the enterprise operates. Frequently these rules are not articulated until it is
time to convert them into program code. While rules that are represented by the
structure and functions of an enterprise have been documented to a degree, others have
not been articulated well, if at all. The Business Rules Group was organized to carry out
that articulation.
Key notions of the business rules approach are presented succinctly by the BRG's
Business Rules Manifesto. An extract from the Manifesto is presented here, to assist
those new to the approach in positioning some of the central notions of the Business
Rules Approach. This brief extract is followed by a figure that provides an overview of of
the way these key notions are reflected in the emerging standard, the Semantics of
Busi ness Vocabul ary and Busi nes s Rul es (S BV R) .
P r i m a r y R e q u i r e m e n t s , N o t S e c o n d a r y. R u l e s a r e e s s e n t i a l f o r, a n d a d i s c r e t e p a r t
of, business models and technology models.
Separate From Processes, Not Contained In Them. Rules apply across processes
and procedures. There should be one cohesive body of rules, enforced consistently
a c r o s s a l l r e l e v a n t a r e a s o f b u s i n e s s a c t i v i t y.
Deliberate Knowledge, Not A By-Product. Rules build on facts, and facts build on
c o n c e p t s a s e x p r e s s e d b y t e r m s . Te r m s e x p r e s s b u s i n e s s c o n c e p t s ; f a c t s m a k e
assertions about these concepts; rules constrain and support these facts. Rules are
basic to what the business knows about itself -- that is, to basic business knowledge.
Rules need to be nurtured, protected and managed.
F o r t h e S a k e o f t h e B u s i n e s s , N o t Te c h n o l o g y. R u l e s a r e a b o u t b u s i n e s s p r a c t i c e
and guidance; therefore, rules are motivated by business goals and objectives and are
shaped by various influences. The cost of rule enforcement must be balanced against
business risks, and against business opportunities that might otherwise be lost.
Of, By and For Business People, Not IT People. Rules should arise from
knowledgeable business people.
Managing Business Logic, Not Hardware/Softw are Platforms. Rules, and the ability
t o c h a n g e t h e m e f f e c t i v e l y, a r e f u n d a m e n t a l t o i m p r o v i n g b u s i n e s s a d a p t a b i l i t y.
A core idea of the business rules approach is the following from the Manifesto:
" R u l e s b u i l d o n f a c t s , a n d f a c t s b u i l d o n c o n c e p t s a s e x p r e s s e d b y t e r m s . Te r m s e x p r e s s
business concepts; facts make assertions about these concepts; rules constrain and
support these facts."
T h i s c o r e i d e a , o r i g i n a t i n g i n t h e B R G ' s s e m i n a l 1 9 9 5 w h i t e p a p e r, h a s b e e n c a l l e d t h e
Business Rules 'mantra'. It is often abbreviated for convenience to simply:
"Rules are based on facts, and facts are based on terms."
The figure below provides an overview of how SBVR supports the 'mantra'. It requires
separation of viewpoints as follows:
Representation (in SBVR terminology). The SBVR notions that classify the words that
people use to express their vocabulary + rules.
Meaning (in SBVR terminology). The SBVR notions that classify the underlying
meaning of the words that people use in expressing their vocabulary + rules.
C:\Documents and
Settings\All Users\Documents\Business_vs_SystemUseCases.pdf
This seminar describes the emerging business rule approach in depth. It explains what business
rules are, and why they are crucial to your company.
The business rule approach seeks better ways to communicate with end users about the business.
It represents a revolutionary new approach to defining requirements. Business rules are also key to
making your company and its information systems more adaptive in the face of rapid change.
This seminar offers practical hands-on techniques for capturing, defining and modeling business
rules and examines the latest techniques for modeling data, rules, and scripts (use cases). Key
concepts are reinforced by numerous examples and exercises.
Rules offer breakthrough innovations for building better information systems. This seminar provides
a leading-edge look at what the opportunities are and how you can exploit them. Finally, the
seminar introduces the exciting new ideas of rule independence and rule normalization and
examines breakthrough insights into procedural re-usability.
1.5.2.1What's Happening
Business rules encompass the terms, facts and rules that underlie business operations.
They represent basic knowledge the business holds in common across applications, users
and platforms.
Many business rules can be addressed successfully at the implementation level by databases, and
triggers and stored procedures, or rule engines. However, these technologies fail to address that
‘how-to’ of requirements gathering, analysis, and design. Also, they do not address these activities
in platform-in-dependent fashion.
Triggers and stored procedures offer one approach for supporting business rules; rule engines offer
another. Rule-based software generators are beginning to appear; active database systems are on
the horizon. The business rule approach offers a comprehensive "front-end" for all these
technologies.
Over the next five years, people will also recognize that OO is really a programming discipline, with
little or no connection to the knowledge that managers use in running the business (i.e. there really
is more to life than messages and methods!). The business rule approach will fill the void. It also
has convincing things to say about the problems of business adaptability and the accelerating rate
of change-problems that OO is not measuring up to in the larger sense.
This seminar provides answers. The innovative ideas it presents will enable your company
to become more adaptive by means of a business rule approach. This will permit it to
achieve accelerated rates of change-a business imperative for this decade and beyond.
*Attendees receive a 20% discount on Ronald G. Ross' "The Business Rule Book:
Classifying, Defining, & Modeling Rules."*
This is the only seminar available on business rules. Through this seminar, you will acquire in-depth
knowledge which will help position your company as a leader in this important new area. Attendees
will have the opportunity to gain practical, hands-on experience for capturing, defining and modeling
business rules.
1.5.4Benefits of Attending:
• Understand where business rules fit with business strategy, to ensure IS projects stay on
track
• Use business rules to discover events, to ensure consistency in the editing and validating of
data
• Enhance your IS methodology, to capture and develop requirements more effectively
• Discover breakthrough innovations for building better information systems
1.5.4.3Seminar Outline
Exercises
Exercises
Exercises
3. Modeling Rules
a. Basing rules on facts
b. Normalizing rules
c. Modeling rules graphically
d. Sample rules
Exercises
4. Developing Rules
a. Getting the rule
b. Getting the whole rule
c. Getting nothing but the rule
d. What makes a good rule
e. Exceptions to rules
Exercises
Exercises
Exercises
Mucho se ha escrito, y se sigue escribiendo, sobre las Reglas de Negocio (Business Rules).
Esto permite que los Procesos puedan mantenerse prácticamente sin cambios (excepto los
derivados de las mejoras introducidas en su diseño) ya que la mayor parte de los cambios se
derivan de las variaciones del entorno empresarial (mercado, políticas, estrategia, etc.), que
es justamente lo que queda definido en las Reglas de Negocio. Con este enfoque, los
cambios se introducen en las Reglas de Negocio y los Procesos quedan automáticamente
adaptados a las nuevas situaciones.
En palabras de Ronald G. Ross, uno de los más reconocidos expertos mundiales en Reglas
de Negocio:
“A business rule is simply a rule that is under business jurisdiction. Under business
jurisdiction is taken to mean that the business can enact, revise, and discontinue their
business rules as they see fit. If a rule is not under business jurisdiction in that sense, then it
is not a business rule. For example, the ‘law’ of gravity is obviously not a business rule."
Esta es una definición muy general. Pueden encontrarse otras definiciones más o menos
parecidas, pero desde la perspectiva que a nosotros interesa, que es su aplicación práctica
en un sistema de gestión empresarial por procesos (BPMS), podemos aproximar la
definición y alcance de las Reglas de Negocio con los siguientes enunciados.
1. Reglas de Negocio son los elementos individuales (atómicos) que permiten ser
definidos, delimitados y expresados de forma inteligible y que en su conjunto
componen el marco estructural, la política, la estrategia y la operativa de una
empresa u organización.
2. Podría decirse que las Reglas de Negocio se encuentran siempre presentes en la
actuación de una organización, bien de manera explícita (una política de salarios, el
horario laboral, el descuento a aplicar en función de las condiciones de la venta,
etc.) o de manera implícita no expresada (el trato cortés con los clientes, la
responsabilidad del supervisor sobre sus supervisados, etc.) siempre implicando la
participación directa o indirecta de personas. Sin embargo, el término Reglas de
Negocio queda reservado únicamente para aquellas reglas que revisten carácter
explícito y que pueden ser y son, expresadas de manera entendible,
Como ejemplo de Regla Textual, tómese esta: RN.101. Destino Inversión: Para la
concesión del Préstamo es necesario, aunque no suficiente, que la inversión se
pueda acoger a la legislación vigente sobre 'Desarrollos preferentes'. Para valorar
esta Regla, se necesita una persona que conozca la legislación vigente al respecto y
pueda analizar si la inversión prevista la cumple o no. Por tanto, no puede
automatizarse fácilmente sin la intervención humana.
Las organizaciones en general, incluyendo naturalmente las empresas, son entornos en los
que conviven a la vez, procesos o procedimientos mecánicos de funcionamiento automático
(ordenadores, maquinaria, instalaciones, etc.) y también procedimientos en los que las
personas desempeñan un papel primordial, no solo con la aportación de su
En el caso del funcionamiento empresarial por Procesos (BPMS), que es el asunto que nos
ocupa, también se da esta convivencia. Algunos procesos, o actividades dentro de los
procesos, están perfectamente definidos y son lo suficientemente repetitivos para que su
automatización sea apropiada pues ésta apenas presenta inconvenientes y sí ventajas. Pero
en otras actividades, también dentro de los procesos, la intervención humana, con su
trabajo y su toma de decisiones, es necesaria y esencial. De estas actividades, algunas
podrían también automatizarse, pero el coste de esta automatización al considerar las
consecuencias de posibles ‘errores automáticos’ en el procedimiento o la pérdida de
flexibilidad para manejar excepciones e imprevisiones, es demasiado elevado, con lo que la
automatización es indeseable.
Por tanto hay que buscar la máxima automatización, pero sin arriesgar las posibilidades de
reacción ante los imprevistos y sin que el coste económico de aquella ensombrezca los
beneficios que aporta. Esta es una sabia regla de aplicación general.
Esto ha sido tenido en cuenta en AuraPortal BPMS. El sistema provee los medios para que
la empresa pueda automatizar gran parte de los Procesos mediante Reglas de Negocio
Mecánicas, pero también permite que el empresario pueda dejar ciertas partes de los
Proceso en manos de las Reglas de Negocio Textuales para que la intervención humana
aporte mayor facilidad de uso y flexibilidad en la ejecución de los mismos.
La importante consecuencia práctica de esto es que, puesto que AuraPortal BPMS dispone
de las herramientas adecuadas para un tratamiento potente y eficaz, tanto de las Reglas de
Negocio Mecánicas como de las Textuales, es posible, e incluso aconsejable, al principio
utilizar con más frecuencia las reglas Textuales y luego, con la práctica y la consolidación
de los Modelos de los Procesos, ir migrando paulatinamente hacia la inclusión de más
reglas Mecánicas que sustituyan a las Textuales, asegurando así una transición suave de uno
a otro escenario
EL DEBE Y EL HABER
7. Consideraciones de seguridad
Estos términos se utilizan frecuentemente para
especificar el comportamiento de la seguridad
implicaciones. Los efectos sobre la seguridad de no
aplicación de un mosto o
Debe, o hacer algo que la especificación dice NO DEBE o
DEBERÍA
NO se puede hacer puede ser muy sutil. Autores del
documento que debe tomar el tiempo
de elaborar las implicaciones de seguridad de no seguir
recomendaciones y requisitos como la mayoría de los
ejecutores no se han
tenía la ventaja de la experiencia y el debate que
produjo la
pliego de condiciones.
8. Agradecimientos
Resúmen
Los imperativos del tipo definido en este memorándum deben ser usados
con cuidado y con mesura. En particular, sólo DEBEN ser utilizados
donde sea realmente necesario para la interoperación o para limitar
un comportamiento potencialmente dañino (p.ej., limitando
retransmisiones). Por ejemplo, no deben ser usados para intentar
imponer un método concreto a los implementadores cuando el método no
sea necesario para la interoperabilidad.
7. Consideraciones de seguridad
8. Agradecimientos
http://www.rfc-es.org/rfc/rfc2119-es.txt
El repositorio –
Yo no creo que sea el aspecto más importante.
No creo que la posibilidad de reutilización se está
realizando.
No creo que las actuales herramientas de facilitación de la
re-uso es limitado.
El aspecto más importante de un repositorio es la
reutilización de conocimiento, no sólo las normas. Los tipos
de conocimiento que son más fáciles de volver a utilizar son:
Otra manera de ver esto es que los modelos más que las reglas
son intercambiables. Se olvida que las reglas lógicas son muy
reutilizables, pero está en conformidad con la regla del
80/20. En BPM, por ejemplo, el modelo es compartida a través
de los procesos. Con la gestión de decisiones, el modelo
también debe ser compartida a través de las decisiones. La
forma más fácil de compartir a través de las normas de
decisiones son las que son verdaderas, no las que determinan
qué hacer.
GLOSARIO
Acceptance criteria
A prioritised list of criteria that the final product(s) must meet before the customer will
accept
them; a measurable definition of what must be done for the final product to be
acceptable.
Business Case
Information that describes the justification for buying the new software. It provides the
reasons (and answers the question ‘Why?’) for the project. It is updated at key points.
Process
That which must be done to bring about a particular outcome, in terms of information
to be
gathered, decisions to be made and results that must be achieved.
Project
A temporary organisation that is created for the purpose of delivering one or more
business
products according to a specified Business Case.
Quality
The totality of features and characteristics of a product or service that bear on its
ability to
satisfy stated and implied needs. Also defined as ‘fitness for purpose’ or ‘conforms to
requirements’.
Stakeholders
Parties with an interest in the execution and outcome of a project. They would include
business streams affected by or dependent on the outcome of a project.
2.Requisito funcional
2.1.1De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda
El núcleo del requisito es la descripción del comportamiento requerido, que debe ser clara y
concisa. Este comportamiento puede provenir de reglas organizacionales o del negocio, o
ser descubiertas por interacción con usuarios, inversores y otros expertos en la
organización.
2.2Libros [editar]
1. Introducción
.--------------------
Las reglas de negocio
"Las reglas de negocio descripción de las operaciones, las
definiciones y restricciones que se aplican a una
organización en la consecución de sus objetivos. Estas normas
se utilizan para ayudar a la organización para alcanzar mejor
los objetivos, la comunicación entre directivos y agentes, la
comunicación entre la organización y los terceros
interesados, demostrar el cumplimiento de las obligaciones
legales, de forma más eficiente, automatizar las operaciones,
realizar análisis sobre las prácticas actuales, etc "[2]. Las
reglas de negocio puede ser visto como un conjunto de
prácticas comerciales, la definición de las implementaciones
reales - la lógica de negocio. Aplicación de la lógica de
tal, a menudo puede simplificarse mediante el uso de
herramientas especializadas - Idiomas de reglas de negocio y
los motores de reglas de negocio.
1. Introducción
Unificado de El Object Management Group's Modeling Language
(UML), la versión de especificación 1.1 sugiere varios
formatos diferentes para la representación de un caso de uso
[UML97]. Aunque la forma más común de representar un caso de
uso ha sido en texto sin formato, la guía de la semántica de
UML también identifica descripciones de los casos el uso
alternativo en forma de operaciones, diagramas de actividad y
el estado de las máquinas. Otras técnicas de descripción de
comportamiento, tales como pre-y post condiciones, también
son permitidos.
-----------------------..
Diccionario
Es una representación gráfica de los pasos que se siguen en toda una secuencia de
actividades, dentro de un proceso o un procedimiento, identificándolos mediante símbolos de
acuerdo con su naturaleza; incluye, además, toda la información que se considera necesaria para
el análisis, tal como distancias recorridas, cantidad considerada y tiempo requerido. Con fines
analíticos y como ayuda para descubrir y eliminar ineficiencias, es conveniente clasificar las
acciones que tienen lugar durante un proceso dado en cinco clasificaciones. Estas se conocen bajo
los términos de operaciones, transportes, inspecciones, retrasos o demoras y almacenajes. Las
siguientes definiciones en la tabla 5.1, cubren el significado de estas clasificaciones en la mayoría
de las condiciones encontradas en los trabajos de diagramado de procesos.
Es una representación gráfica de los pasos que se siguen en toda una secuencia de actividades, dentro
de un proceso o un procedimiento, identificándolos mediante símbolos de acuerdo con su naturaleza;
incluye, además, toda la información que se considera necesaria para el análisis, tal como distancias
recorridas, cantidad considerada y tiempo requerido.
Con fines analíticos y como ayuda para descubrir y eliminar ineficiencias, es conveniente clasificar las
acciones que tienen lugar durante un proceso dado en cinco clasificaciones. Estas se conocen bajo los
términos de operaciones, transportes, inspecciones, retrasos o demoras y almacenajes.
--------------------.,-.--------------------
En este artículo, podrás diseñar un marco de reglas de
negocio usando Java y XML. Usted aprenderá lo que constituye
un buen marco de las normas de diseño de negocio y pasar un
ejemplo que muestra cómo utilizar el marco.
C:\Documents and
Settings\All Users\Documents\Define Business Rules - Task Guidelines.doc
Dominios
---------------gfsdgf
Desde los últimos años, las organizaciones tratan de
desarrollar sus sistemas de software con casos de uso
impulsada y objeto de procesos orientados al desarrollo. Esta
práctica no les permite sincronizar sus TI con sus objetivos
de negocio y las normas con el fin de reaccionar a los
cambios de manera rápida y coherente.
Fsd-fasd------------------------
http://www.w3.org/2005/rules/wg/wiki/Rule-
based_Service_Level_Agreements_%28SLA%29_and_Web_Services
ELEMENTOS GÏA
Elements of Guidance
Checklist A Checklist is a specific type of guidance that identifies a series of items that
need to be completed or verified. Checklists are often used in reviews such as walkthroughs
or inspections.
Concept A Concept is a specific type of guidance that outlines key ideas associated with
basic principles underlying the referenced item. Concepts normally address more general
topics than Guidelines and span across several work product and/or activities.
Estimate (metric kind) An Estimate is a specific type of Guidance that provides sizing
measures, or standards for sizing the work effort associated with performing a particular
piece of work and instructions for their successful use. It may be comprised of estimation
considerations and estimation metrics.
Estimation Considerations (metric kind) Estimation Considerations qualify the usage
and application of estimation metrics in the development of an actual estimate.
Estimating Metric (metric kind) Estimation Metric describes a metric or measure that is
associated with an element and which is used to calculate the size of the work effort as well
as a range of potential labor.
Guideline A Guideline is a specific type of guidance that provides additional detail on how
to perform a particular activity or grouping of activities (e.g. grouped together as iterations)
or that provides additional detail, rules, and recommendations on work products and their
properties. Amongst others, it can include details about best practices and different
approaches for doing work, how to use particular types of work products, information on
different subtypes and variants of the work product and how they evolve throughout a
lifecycle, discussions on skills the performing roles should acquire or improve upon,
measurements for progress and maturity, etc.
Practice A Practice represents a proven way or strategy of doing work to achieve a goal
that has a positive impact on work product or process quality. Practices are defined
orthogonal to methods and processes. They could summarize aspects that impact many
different parts of a method or specific processes. Examples for practices would be "Manage
Risks", "Continuously verify quality", "Architecture-centric and component-based
development", etc.
Report A Report is a predefined template of a result that is generated on the basis of other
work products as an output from some form of tool automation. An example for a report
would be a use case model survey, which is generated by extracting diagram information
from a graphical model and textual information from documents and combines these two
types of information into a report.
Reusable Asset A Reusable Asset provides a solution to a problem for a given context. The
asset may have a variability point, which is a location in the asset that may have a value
provided or customized by the asset consumer. The asset has rules for usage which are the
instructions describing how the asset should be used.
Supporting Material Supporting Materials is catch all for other types of guidance not
specifically defined elsewhere. It can be related to all kinds of Process Elements, i.e.
including other guidance elements.
Template A Template is a specific type of guidance that provides for a work product a
predefined table of contents, sections, packages, and/or headings, a standardized format, as
well as descriptions how the sections and packages are supposed to be used and completed.
Templates cannot only be provided for documents, but also for conceptual models or
physical data stores.
Term Definition Term Definitions define concepts and are used to build up the Glossary.
They are not directly related to Process Elements, but their relationship is being derived
when the Term is used in the Process Elements description text.
Tool Mentor A Tool Mentor is a specific type of guidance that shows how to use a specific
tool to accomplish some piece of work a Work Product either in the context of or
independent from an Activity.
Whitepaper Whitepapers are a special Concept guidance that has been externally reviewed
or published and can be read and understood in isolation of other process elements and
guidance.
Elementos de la Orientación
Rferencias bibliograficas
XYZ 1
9. D. Rosca, S. Greenspan, C. Wild, H. Reubenstein, K. y M.
Maly Feblowitz. La aplicación de un mecanismo de apoyo a las
decisiones a las reglas de negocio Lifecycle10th Knowledge-
Based Software Engineering Conference (KBSE95), Boston, MA
(1995) 9],
XYZ2 H. Herbst, Business Rule Oriented Conceptual Modelling, PhD Thesis, Physica-
Verlag, 1996.
REF xxyz 4
Ref 5 http://www.w3c.es/prensa/2005/nota050427_RuleLanguage
Reglas de Negocio y el Proceso Racional
Periódicamente me preguntan por poner las reglas de negocio en el Proceso Racional
Unificado o RUP. RUP y el Proceso Unificado de empresa están diseñados para aplicar
UML y las mejores prácticas de una manera formal. , Formalmente no administrar las
reglas de negocio, pero los considera parte de los casos de uso o de los requisitos. Para
el diseño de servicios de decisión con éxito, usted necesita para administrar las reglas
de negocio de forma más coherente. RUP establece seis mejores prácticas que las
reglas de negocio realmente de apoyo:
Agregar una regla de negocios o una decisión junto con la actividad de modelado
Modelado de Negocios que hace hincapié en la recopilación y organización de las
reglas de negocio. Esto sustituye a un enfoque singular sobre los casos de uso con una
visión más equilibrada de los casos de uso como medio de descubrimiento de regla,
pero no un lugar para gestionar ellos [véase más arriba no no en requisitos de
normas]. Esta actividad también tiene muy comprimida, las interacciones entre el
modelado de reglas y análisis / diseño / aplicación. Es necesario gestionar estas "reglas
de origen", y asignar estos a los casos de uso y requisitos de diseño que está
documentando. Normas de origen son por lo general en la lengua de sus usuarios que
el uso - tanto en términos de estar en Inglés, por ejemplo, y en términos de usar frases
de negocios y la terminología. La gestión eficaz de los términos y el vocabulario de
estas normas hará que sea más fácil marcarlos y más fácil de ubicarlas en los
artefactos de análisis adicionales. En general, las normas de origen debe mantenerse
en un nivel alto. I blogged recientemente acerca de un gran puesto en el uso de casos
de uso y diagramas de estado para encontrar las reglas de negocio por Scott, que ha
publicado algunos atinados comentarios aquí. También examinó un gran libro sobre
casos de uso y las normas de aquí.
Identificar formalmente los servicios de decisión como los componentes que aplicar las
reglas de negocio y gestión de estos como un tipo de componente. Los servicios de
decisión deberá tener objeto de normas específicas (que las normas está escrito
formalmente para actuar contra los objetos en su sistema) que conducen a la decisión.
A medida que desarrolla su objeto o modelo de datos, usted puede comenzar a
desarrollar las normas que se ejecutan en esos datos. Estas normas deben ser
gestionados en un repositorio, versionados y estructurado para permitir la
reutilización a través de servicios de decisión. Estas reglas de negocio se asignarán de
nuevo a las normas de origen, aunque no suele ser de una manera simple, y se puede
recolectar en conjuntos de reglas.
Usted tendrá que desarrollar un proceso de mantenimiento por separado fuera de su
imperio proceso ordinario, especialmente si los usuarios de negocio son el
mantenimiento de algunas de las reglas en su Decisión de servicio. Aunque tendrá que
pasar por muchas de las pruebas habituales y las medidas de control de calidad, de
manera realista, necesitará un proceso diferente que el plazo será más corto y los
cambios más frecuentes de lo que las expectativas de un típico proyecto de TI.
Tipos de reglas
En general, existen tres tipos de normas. La primera es la
regla de derivación [Francisco de 2003]. La regla de
derivación transforma la información recibida en los valores
devueltos. Por ejemplo, los descuentos se puede calcular
mediante un algoritmo determinado en función del tamaño de un
orden, promoción especial, o para un cliente valioso. Este
tipo de regla está sujeta a cambios y por lo tanto deben ser
aislados por lo que puede ser manipulada.
Creo que podemos suponer con seguridad que la norma tal como
se indica en realidad es una forma abreviada. Una versión más
completa y exacta que sea, puede usar esta puerta de entrada,
pero debe ser cerrado detrás de usted. Si quisiéramos ser muy
completo, que podría explicar la motivación básica del
Estado, añadiendo, Fire Door.
--------------------------dfgsldfkgjdfkl
motor de reglas de negocio
Un motor de reglas de negocio es un sistema de software que
ejecuta una o más reglas de negocio en un entorno de
producción en tiempo de ejecución. Las normas pueden provenir
de la regulación legal ( "Un empleado puede ser despedido por
cualquier razón o sin razón, pero no por una razón ilegal"),
política de la empresa ( "Todos los clientes que gastan más
de $ 100 de una sola vez recibirán un descuento del 10%" ), o
de otras fuentes.
Harvesting business rules from a legacy application has many benefits, from simple documentation to
application modernization. Most approaches to business rule mining recover rules from the code in a bottom-
up fashion. This creates difficulties in classifying and understanding the context in which the rules are used.
This article suggests a practical approach for collecting rules in a process context. Process information is
collected top-down, rules are collected bottom-up, but there is a way to connect processes and rules such that
the analyst can create a better picture of the business functions of the application.
Harvesting business rules from a legacy application has many benefits. In the code of a traditional legacy
application, the business and technical aspects are in most cases mixed together in a way that makes it very
hard to distinguish the technical mechanisms from the implementation of the company’s business rules and
processes. Collecting the real business rules in a methodical and (if possible) exhaustive manner will render
multiple advantages:
• Business rules may simply serve as documentation of the application, useful both for those who
maintain the application and for the end-users.
• In a more complex scenario, business rules collected in a well-organized repository may serve as a
means of communication between the IT people and the end-users. For example, if the rule
repository has accurate information on the location of the rule implementation in the code, the
developers may quickly locate the code that would be impacted by a rule change requested by
business users.
• The collection of business rules is also useful if the application is implemented in a new
environment. The rules serve as documentation as well as a checklist, ensuring that no rules are
left behind.
Classification of Rules
10 razones por que son indispensables los casos de uso
10 reasons why use cases are indispensable to your software development project
REF http://blogs.techrepublic.com.com/programming-and-
development/?p=544&tag=nl.e606
Well-written use case narratives (or simply “use cases”) offer the analysis, development,
and testing teams an invaluable guidebook. A use case (different from a UML use case
diagram) is a formalized story that describes how someone procedurally interacts with an
existing or proposed system and they should be part of every project managers’ permanent
tool set.
Imagine flying to an unfamiliar foreign country where you plan to rent a car and tour the
sights. Most people wouldn’t consider starting this trip without a good guidebook. Despite
the obvious value of a guidebook’s roadmaps and narratives, we information technologists
too often embark on software development projects without them. As a result, development
teams often wander far from the project objectives - at considerable expense and delay.
Use case narratives were most notably popularized in Writing Effective Use Cases, by
Alistair Cockburn.
What does a use case look like? The document, Customer gets cash from an ATM, available
in the download version of this post, represents a detailed description of a business process.
The structure of this sample use case reflects a framework I’ve designed and used in several
large projects. While the structure of my use cases differs somewhat from Cockburn’s, it
accommodates what my analysis teams have generally needed to capture process
requirements.
The TechRepublic download version of this blog post is in the PDF format and includes the
example use case.
2.410 reasons
I routinely encourage analysis teams to develop use cases. Here are ten reasons why they
are part of my permanent toolset.
The process of writing and revising use cases produces three important outcomes in the
analysis team — clarity, consensus, and commitment. Remarkably, it is common for
stakeholders to be uncertain about how a process they own actually works! Writing a use
case helps stakeholders align the narrative with the details of an existing process.
In a recent project, it became clear that stakeholders could not agree about the specifics of
several core processes. However, consensus came quickly as the team wrote and revised
use cases. For many stakeholders, these written documents offer a foothold on a sometimes
bewildering mountain of complex business processes.
Remarkably, use cases often help stakeholders reach common agreement on “best practice”
processes as well. In a facilitated group setting, divergent perspectives are welcomed,
understood, and appreciated. As a by-product of this agreement, team members inevitably
commit to support improved processes to both management and peers.
I always have the analysis team start a use case by developing the “Main Course of Events”
(see the sample use case). As the group develops a coherent and ordered set of process
steps, team members tend to volunteer statements that begin with the words “what about…”
- a clue to previously unidentified “Alternative Paths” to a successful outcome. The
“Exception Paths” often arise in a similar way. More of these become obvious when the
team considers what happens if any step in the “Main Course” fails.
As the facilitator of team meetings, carefully listen for any jargon used by stakeholders.
Write these terms down in front of the group and ask for a definition for each one. Later,
you’ll add these definitions into the project glossary. Also, listen for issues as they arise. Is
a process step fuzzy? Is there an area that needs more research, or an item on which team
members disagree? Write these down as well and later include them in a project issue log.
Constraints on the project may limit resources and/or the project timeline. As a result, the
analysis team may need to prioritize development work, or separate project deliverables
into phases. You can help the analysis team by creating a catalog of the use case titles, and
arranging them into some meaningful order (e.g., by sub-system or umbrella process). With
this catalog, the analysis team can prioritize the use cases. They may decide that some fall
outside the project scope, or that some are not needed in the first project phase. Either way,
you have given the stakeholders an opportunity to declare which functions they need the
most, or which ones they need first.
When software is being designed to automate aspects of an existing system, the analysis
team usually begins by writing “as is” use cases to describe the current business processes.
While this effort is time consuming, the result is valuable. Besides revealing the details of
an existing business process (including business rules, alternative paths, and exception
paths), you will create a launching pad for the team’s imagination. As they are writing the
use cases, they often discover an improved process, recognize unnecessary steps, or reach
agreement on “best operational practices”.
The “as is” use cases may also allow the system architect to propose high-level process
flow diagrams that represent how the new system could work. While the first attempts may
not be viable, iterative review and revision by the analysis team may generate a workable
architecture for the new system.
Developers may view a set of use cases horizontally. For example, one use case requires a
customer lookup function. Another use case requires a similar function but with customer
data sorted in a different order. The clever development team can find such patterns within
a set of use cases. Patterns are often discovered in the “Business Rules” section of use cases
as well. Developers may transform these patterns into universal software objects.
As another aid to developers, use cases also reveal operational context. The “Stakeholders
Goals”, “Pre-Conditions”, “Assumptions”, and “Post-Conditions” give developers a sense
of how the software will be used. By reading these sections, the developer understands
what the role identified in the use case is trying to accomplish, and what motivates him or
her.
8. Prioritize work
Although the analysis team may have prioritized and winnowed the use cases, the
development team views them from a far different perspective. As a good development
teams writes code, they search for coding efficiencies. While the analysis team may want
12 use cases completed in phase one, the technical manager and the development team may
see cost-savings in delivering phase one software for the 12 use cases, plus two more from
phase two that are cheaper to build as part of phase one. Of course, the analysis team and
the development should jointly consider the effect of this change.
Some years ago, I was asked to join a troubled project in which the system design phase
was nearly complete. Unfortunately, detailed functional requirements were no where to be
seen, and the developers had already begun writing code! In order to catch up, I taught a
team of functional users to write use cases themselves. Although we completed the
narratives quickly, the developers largely ignored our use cases.
That condition changed, however, after the developers installed their first software release.
It was clear to us that critical features were missing. The rooky analysis team and I
compared the delivered software to our use cases. Although we created a long list of
missing features, we challenged the developers to close the gaps rapidly. The next
installation was acceptable.
While use cases significantly differ from test cases, the former may be used to derive the
latter. The “Assumptions”, “Pre-Conditions”, and “Post-Condition”, “Main Course”,
“Alternative Paths”, “Exception Paths”, and “Business Rules” sections are all source
material for creating good test scripts. Bundles of use cases organized into system-wide
process flows become a source for writing comprehensive end-to-end test scripts. As an
added bonus, the testing team develops test scripts from the use cases as the development
team begins its work. The test scripts are now ready for use as developers complete
programs.
2.5Lessons Learned
While writing use cases may seem time consuming and tedious, the result is a foundation
for work by the analysis team, the development team, and the testing team. Use cases
provide a valuable return on the analysis team’s investment in time and resources.
2,4 10 razones
Rutinariamente animar a los equipos de análisis para
desarrollar casos de uso. Aquí van diez razones por las que
son parte de mi conjunto de herramientas permanente.
2.4.1 Los casos de uso ayudan al equipo de análisis ...
1. Mejorar la comunicación entre los miembros del equipo
Los esfuerzos de colaboración refuerza el éxito de cualquier
equipo. Como los miembros del equipo de trabajo para
describir los procesos de negocios, casos de uso proporcionar
un repositorio de conocimiento de los miembros del equipo de
negocios. En un documento escrito, cada caso de uso genera
debate significativo dentro del grupo. El axioma, "el todo es
mayor que la suma de las partes", se aplica aquí. Discusión
en grupo expone en los puntos de vista en profundidad que de
otro modo permanecerían ocultos. Con los casos de uso, el
equipo de captura estas perspectivas, mientras que la
identificación de los objetivos de negocio relacionados, las
condiciones y problemas. El resultado es una historia
completa y significativa acerca de cada proceso de negocio.
2. Alentar a un acuerdo común acerca de los requisitos del
sistema
El proceso de redacción y revisión de casos de uso produce
tres resultados importantes en el equipo de análisis - la
claridad, consenso y compromiso. Sorprendentemente, es común
que las partes interesadas a tener dudas sobre cómo un
proceso que poseen realmente funciona! Escribir un caso de
uso ayuda a las partes interesadas alinear la narración con
los detalles de un proceso existente.
En un proyecto reciente, se hizo evidente que las partes
interesadas no pudieron ponerse de acuerdo sobre los detalles
de los procesos básicos de varios. Sin embargo, el consenso
no se hizo esperar ya que el equipo escribió y revisó los
casos de uso. Para muchos participantes, estos documentos
escritos ofrecen un punto de apoyo en una montaña a veces
desconcertante de procesos de negocio complejos.
Sorprendentemente, los casos de uso con frecuencia ayudan a
las partes interesadas lleguen a un acuerdo común sobre las
"mejores prácticas" procesos. En un ambiente de grupo
facilitado, perspectivas divergentes son bienvenidas,
entendido y apreciado. Como un subproducto de este acuerdo,
los miembros del equipo, inevitablemente, se comprometen a
apoyar los procesos de mejora tanto para la dirección y los
compañeros.
3. Alternativas de proceso revela, excepciones proceso, los
términos no definidos, y las cuestiones pendientes
Siempre tengo el equipo de análisis de iniciar un caso de uso
mediante el desarrollo del Curso "principal de los
acontecimientos" (véase el caso de uso de la muestra). A
medida que el grupo desarrolla un conjunto coherente y
ordenado de los pasos del proceso, los miembros del equipo
suelen hacerse las declaraciones que comienzan con las
palabras "¿qué pasa ..." - una pista previamente no
identificados "Alternative Paths" a un resultado exitoso. Los
"Caminos de Excepción" surgen a menudo en una manera similar.
Más de estos a ser evidente cuando el equipo considera que lo
que ocurre si cada paso en la "Main Course" falla.
Como facilitador de reuniones de equipo, para escuchar
atentamente la jerga utilizada por los interesados. Escriba
estos términos en el frente del grupo y solicitar una
definición para cada uno. Más tarde, vamos a añadir estas
definiciones en el glosario del proyecto. Además, la escucha
de las cuestiones que puedan surgir. Es un paso en el proceso
borroso? ¿Hay un área que necesita más investigación, o un
elemento en el que los miembros del equipo no están de
acuerdo? Anotar éstos, así y luego incluirlos en un registro
de edición del proyecto.
4. Expone lo que es el alcance del proyecto fuera de
Restricciones en el proyecto podrán limitar los recursos y /
o los plazos del proyecto. Como resultado, el equipo de
análisis puede ser necesario dar prioridad a la labor de
desarrollo, o las prestaciones del proyecto en fases
separadas. Usted puede ayudar al equipo de análisis mediante
la creación de un catálogo de los títulos de casos de uso, y
la organización de ellos en un orden significativo (por
ejemplo, por sub-sistema o proceso de coordinación). Con este
catálogo, el equipo de análisis puede dar prioridad a los
casos de uso. Pueden decidir que algunos quedan fuera del
alcance del proyecto, o que algunos no son necesarios en la
primera fase del proyecto. De cualquier manera, usted ha dado
a las partes interesadas la oportunidad de declarar que las
funciones que más necesitan, o que los que necesitan en
primer lugar.
5. Transformar los procesos manuales en procesos
automatizados
Cuando el software es diseñado para automatizar los aspectos
de un sistema existente, el equipo de análisis por lo general
comienza por escrito "como es" casos de uso para describir
los procesos de negocio actuales. Aunque este esfuerzo es
mucho tiempo, el resultado es valioso. Además de revelar los
detalles de un proceso de negocio existentes (incluyendo las
reglas de negocio, las rutas alternativas y caminos de
excepción), se creará una plataforma de lanzamiento para la
imaginación del equipo. Como que están escribiendo los casos
de uso, a menudo descubren un proceso de mejora, reconocer
los pasos innecesarios, o llegar a un acuerdo sobre las
"mejores prácticas operativas".
El "tal como es" casos de uso también puede permitir que el
arquitecto del sistema de proponer proceso de alto nivel de
los diagramas de flujo que representan cómo el nuevo sistema
podría funcionar. Aunque los primeros intentos no puede ser
viable, la revisión iterativo y revisión por el equipo de
análisis puede generar una estructura viable para el nuevo
sistema.
2.4.2 Los casos de uso ayudan al equipo de desarrollo ...
6. Entender los procesos de negocio
Los desarrolladores de software a menudo carecen de una
comprensión del negocio del cliente. Es fácil olvidar que los
sistemas de software debe ayudar a la gente de negocios que
hagan su trabajo - de manera eficaz, eficiente y económica.
Alternativas para lograr estos objetivos, el equipo de
desarrollo debe comprender no sólo el proceso de negocio debe
ser compatible con el software, sino también el proceso "y
las excepciones. Los casos de uso de esta información con un
lenguaje claro y estructurado que los desarrolladores puedan
comprender fácilmente. Los casos de uso también ofrecen una
perspectiva valiosa sobre los objetivos de los actores
empresariales, los supuestos y normas de funcionamiento.
Estas características proporcionan a los desarrolladores una
base sólida para el desarrollo de soluciones rentables a los
retos empresariales.
7. Reconocer patrones y contextos en los requisitos
funcionales
Los desarrolladores pueden ver un conjunto de casos de uso en
horizontal. Por ejemplo, un caso de uso requiere de una
función de búsqueda de los clientes. Otro caso de uso
requiere una función similar, pero con datos de los clientes
clasificados en un orden diferente. El equipo de desarrollo
inteligente puede encontrar patrones en el plazo de un
conjunto de casos de uso. Patrones se han descubierto en las
reglas de negocio "," sección de casos de uso también. Los
desarrolladores pueden transformar estos patrones en los
objetos de software universal.
Como otro de ayuda a los desarrolladores, los casos de uso
también revelan contexto operacional. Los "Objetivos de las
partes interesadas", "pre-condiciones", "Hipótesis" y "Post-
condiciones" dar a los desarrolladores una idea de cómo el
software se utilizará. Al leer estas secciones, el
desarrollador entiende cuál es el papel identificados en el
caso de uso está tratando de lograr, y lo que motiva a él o
ella.
8. Priorizar el trabajo
Aunque el equipo de análisis puede tener prioridad y se
selecciona en los casos de uso, el equipo de desarrollo de
puntos de vista desde una perspectiva muy diferente. Como los
equipos de desarrollo bien escribe el código, que la búsqueda
para la codificación de la eficiencia. Si bien el equipo de
análisis puede querer 12 casos de uso terminado en la primera
fase, el director técnico y el equipo de desarrollo pueden
ver ahorros de costos en la entrega de la primera fase de
software para los 12 casos de uso, además de otros dos de la
segunda fase que son más baratas de construir, como parte de
la primera fase. Por supuesto, el equipo de análisis y la
elaboración conjunta debe considerar el efecto de este
cambio.
2.4.3 Los casos de uso ayudan al equipo de pruebas ...
9. Descubre las diferencias entre los requisitos y el
software entregado
Hace algunos años, se me pidió participar en un proyecto con
problemas en los que la fase de diseño del sistema era casi
completa. Lamentablemente, detallada los requisitos
funcionales no estaban donde se ve, y los desarrolladores ya
había comenzado a escribir código! Con el fin de ponerse al
día, me enseñó un equipo de los usuarios funcionales para
escribir casos de uso de sí mismos. Aunque hemos completado
las descripciones de forma rápida, los desarrolladores en
gran medida ignorado nuestras casos de uso.
Esta condición cambió, sin embargo, después de los
desarrolladores de software instalado su liberación en primer
lugar. Es claro para nosotros que las características
críticas estaban desaparecidos. El equipo de análisis y
comparación rooky el software entregado a nuestros casos de
uso. A pesar de que hemos creado una larga lista de
características que faltan, desafiamos a los desarrolladores
para cerrar las brechas rápidamente. La próxima instalación
era aceptable.
10. Asegúrese de que el software entregado funciona
correctamente
Si bien los casos de uso difieren significativamente de los
casos de prueba, la primera puede ser utilizada para obtener
el último. Las "hipótesis", "pre-condiciones", y "post-
Estado", "Main Course", "Alternative Paths", "Excepción
Caminos", y "Reglas de Negocio" se encuentran todos los
materiales de base para la creación de scripts de prueba
buena. Paquetes de casos de uso organizan en proceso en todo
el sistema de flujos de convertirse en una fuente para la
escritura completo e integral a scripts de prueba final. Como
un bono adicional, el equipo de pruebas desarrolla scripts de
prueba de los casos de uso como el equipo de desarrollo
comienza su trabajo. Los scripts de prueba ya están listos
para su uso como desarrolladores de programas completos.
2.5 Lecciones aprendidas
Mientras escribe los casos de uso puede parecer largo y
tedioso, el resultado es una base para el trabajo por el
equipo de análisis, el equipo de desarrollo, y el equipo de
pruebas. Los casos de uso proporcionar un retorno de valor de
la inversión del equipo de análisis en el tiempo de
Business rules are not requirements. Yet they are often gathered at the same time as
requirements, from the same sources, by the same business analysts. And unfortunately,
often documented in the same artifacts. In this article we look at some of the ways that
business rules are commonly hidden inside use cases.
As we’ve discussed before, business rules need to be separated from requirements. James
Taylor and I continue to explore how best to isolate rules from requirements. To quickly
summarize (and dramatically oversimplify) one of the points from James’ book, Smart
Enough Systems, isolating the implementation of business rules allows you to update the
way your business runs on your software much more quickly. And the first step to driving
this isolation at the implementation layer is to isolate rules from requirements at the
documentation layer.
In our earlier article, we touched briefly on how business rules are used to define decisions
within a use case or process flow. David Wright wrote an article, The Business Rules
Approach, where he identifies five classes of business rules:
These types of business rules can easily be hidden in different elements of a use case.
When we look at the structure of a formal use case, we see several areas where business
rules can be hidden.
Description
Since the description acts as a summary or overview of the entire use case, any of the
different types of business rules might be captured within it. Looking at an example from
one of our old articles:
A pilot performs an FAA mandated list of equipment and operational inspections prior to
every flight. All inspections must pass before the flight is allowed to take off per corporate
policy.
“All inspections must pass…” is a constraint, and therefore a business rule. “Prior to every
flight” is also a constraint. It would be better to write the description as follows:
A pilot performs an FAA mandated list of equipment and operational inspections [see FAA-
1] prior to flights.
We’ve removed both business rules from the description, and added an explicit reference to
the FAA mandated list. If the list of inspections defined by the FAA should change, we
should not have to update our use case.
Triggers
Very often, these are action enabler rules. A trigger of “Student submits college
application” is a trigger for the “Evaluate student application” use case. Although you could
possibly argue that this is a business rule, there doesn’t seem to be much value in making
the distinction. However, a trigger could also be “It is Friday at 5pm” for the use case
“Process pending orders.” This represents a company-specific business decision to process
orders at the end of the week. The order-processing use case would not change if the
frequency were changed to every day, or every other week. The trigger really represents an
implicit decision – “Is it time to process pending orders?” Using language that is more
correct for a trigger, we would write:
This would allow us to change the way our business operates more quickly. We could start
processing on any frequency – or even start processing whenever more than 10 orders have
queued up, or whenever outstanding orders represent $1000 in revenue (or profits). The key
point is that by abstracting out the decision, Is it time yet?, we again can change how we
run our business without having to update and re-validate the use case.
Preconditions
Business rules that represent constraints very often show up as preconditions to a use case.
Since preconditions describe “what must be true” before the use case starts, this is
understandable. Imagine we were writing a use case named “Process New Car Loan
Application.” An obvious precondition might be that the amount to be borrowed has been
resolved for the new car.
This would reduce labor, by only processing loan applications (which include running
credit checks, etc), after a buyer has been locked in to a price, their trade-in value has been
agreed to, and any deposit has been defined. However, this represents a linear process. An
interesting business decision might be to immediately process a loan application as soon as
the buyer agrees to start negotiations. The car dealer could use a conservatively estimated
amount to get approval from the financing institution for a loan for “up to amount X.”
Then, once negotiations have been completed, the only step remaining would be to fill in
the exact amount and get the buyer’s signature. A much improved shopping experience for
the new car buyer.
A maximum amount for the loan has been identified [See BR033, Determining loan-
application amount].
And then, within that business rule we can define heuristics like “Subtract Kelly Blue Book
value of indicated trade-in from 5% below the sticker price” or use the average selling price
for the particular model car + 5%, or any of a number of rules. Those rules can easily be
changed without affecting the loan-application use case.
There are many opportunities within the normal course of a use case to hide business rules.
Every point in the use case that could cause branching to an alternate or exception flow
represents a decision. Each of those decisions represents the combination of one or more
business rules. To be more precise, each decision represents a set of rules that are applied
together to reach a conclusion (stay in the normal flow, or branch to another flow).
A use case named “Review conversation transcript” for a CIA analyst would have a normal
course that probably documents that the transcript has been reviewed, and follows some
archiving procedure. If the transcript identifies a “red flag” word or phrase like
“Blackbriar” or “Touchstone”, then an alternate flow would be initiated. [Yes, I did watch
the Bourne Ultimatum this weekend.] The trigger for this alternate flow could be written as:
Then this business rule could be defined as a lookup into a database, it could be filtered –
so that counter-terrorism analysts look for different words and phrases than people looking
for drug dealers. This allows the “review a transcript” use case to remain stable while the
rules for identifying onerous phrases are modified on a regular basis. This also allows the
“review a transcript” use case to be changed without impacting the phrase-identification
business rules.
3.4Key Element
The key element of this reworking of use cases is to reference the sets of business rules that
make up individual decisions, constraints, and action enablers. Those rules are maintained
in separate documents. These other documents may be distinct documents, top-level objects
within a requirements repository, or rule sets managed in a rules repository.
Most importantly, the rules are not hidden within the use case. Hiding the rules in this way
makes it more difficult for developers to interpret the documents. It makes it all but
impossible for the developers to abstract the rules into abstract decision services. It also
slows down the approval process of the requirements and the rules – both initially, and
when managing changes.
We’ve written in the past about why it is important to gather and manage requirements. In
short, you avoid some costly mistakes, and fix others before they become too expensive.
We’ve also started exploring how business requirements and business rules live and play
together. But why should we bother to separate business rules from requirements? One
reason is to increase your company’s agility.
There are some significant benefits to separating business rules from requirements, and we
learn many of them in our interview with James Taylor from a couple weeks ago. James’
new book, Smart (Enough) Systems, focuses on the benefits of automating decisions, but
some of those benefits can be achieved to a lesser extent, just by isolating the business rules
that would then ideally be automated. The main benefit that comes to mind is the increased
agility of the company when it comes to changing their rules and processes. By isolating
the business rules, they become easier to change and manage.
David Wright recently wrote an article at RQNG titled The Business Rules Approach. In it,
he also points to the speed with which a company can change rules – not only as a benefit
of managing business rules separately, but as a need to adapt and respond to today’s
markets.
There are two main ways in which agility is increased when separating business rules from
requirements. First, the requirements management process will take less time. Second, the
company can implement changes to their solution more quickly.
One best practice in writing requirements is to write concise requirements. You can’t just
write the requirements with fewer words – that might lead to ambiguity. But you can
dramatically simplify the writing, reviewing, and interpreting of requirements by isolating
the business rules that represent decisions within a requirements document.
As an example, a process flow might include a decision – “Do we have the needed
paperwork to approve the loan?” And that decision might represent a series of rules:
• If the applicant’s credit rating is above 700, we only need a valid driver’s license
and SSN.
• If the applicant’s credit rating is between 600 and 700, we need a recent credit
check, driver’s license, and SSN.
• If the applicant’s credit rating is below 600, we need a cosigner on the loan.
• If a co-signer is required, the co-signer’s credit rating must be above 600.
• If the applicant’s credit rating is below 600, we must run a new credit check, and
have a valid driver’s license and SSN.
• If the co-signer’s credit rating is below 700, we must have a recent credit check for
the co-signer, as well as a valid driver’s license and SSN.
• If the co-signer’s credit rating is above 700, we only need a valid driver’s license
and SSN for the co-signer.
• If a recent (within 6 months of application date) is not available, a new one must be
run.
In a process flow diagram, we could create a series of decision boxes – always requiring the
applicant’s SSN and driver’s license, sometimes requiring a credit check (and some of those
times requiring the credit check to be new), and sometimes requiring a co-signer. We would
then have more branches for the co-signer.
This flow diagram would be pretty complicated. This can be simplified by embedding a
decision tree into the requirements documents. However, you still are applying the
(potentially) heavyweight requirements approval and validation process to this decision
tree. You are also asking your developers to review this decision tree and determine how to
implement it. A great developer will see when it makes sense to abstract these decisions
from the code, and a less-great developer will embed them. In either situation, you’re
asking your developer to spend time thinking about this abstraction – and thinking about
how mutable the particular decisions are.
As an analyst, you are better informed about the mutability of the decisions. By
documenting the decision as a single decision in the requirements document (”Do we have
the needed paperwork?”) that references the enumerated business rules. It is also easier to
review the rules and validate them when they are isolated. Business people who don’t have
backgrounds designing software do find it easier to review these steps when presented in
the context of a decision – and it is easier to grab the context of the decision from a simpler
process flow diagram.
Even if you don’t automate the decision, you still make it much easier to review changes. If
the thresholds change from 700 and 600 to 650 and 550, it is trivial to update the isolated
business rules. It is also an easier process to approve those changes when you are only
updating and reviewing the business rules – and not a broader requirements document.
Developers abstract “magic numbers” like 700 and 600 (in this example) into variables and
constants when they embed them into code. We are doing the same thing by isolating the
business rules from the requirements (which then reference the rules).
What about changes that are more structural in nature? Imagine that we redefine the criteria
– eliminating the 700+ rules, and changing the 600 rule to 650 – and always require a new
credit check for co-signers. Then we also decide to add a new document – say proof of
residence, or proof of employment. If we were managing this within our requirements
document, it would take extra time to validate – and possibly re-implement the solution.
With a solution like James proposes in his book, the business analyst could make the
changes directly into the rules-processing engine and the software would not even need to
be modified. In either case, the approval and change process is faster.