tell me how the software should *behave*, not how the behavior was *implemented*
ie. describe the changes in this commit from the behavioral perspective rather than implementation details
What is the project behavior, in this snapshot?
What did the programmers, in order to produce this snapshot?
which also aligns well with the 'micro goal' or incremental deliverables approaches of most agile methodologies
helps to focus a goal to be reached
Without preemptive comments, I often went on coding, always asking myself: “Should I commit now? Have I reached a stable state which I could consider a good commit?“
Baseline Diagram Comparison
Conduct a visual diagram comparison between your current diagram and a previous baseline .
Personal Information Window
See how the Personal Information Window in Enterprise Architect can help you organize your daily tasks and workflow.
Working Sets
As you perform work on your model, you open various windows, diagrams and views. Working Sets allow you to return to these same views in a later work session.
Business Rules
A car rental system is used to illustrate how to generate executable business rules using Enterprise Architect.
Menu Customization
Quickly and easily suppress individual menu items or entire categories of commands to create custom menu layouts.
Floating and Dockable Windows
Save the position and layout of Floating and Dockable Windows using a Working Set in the Personal Information Window.
Build and Debug a Java Application
Set up Enterprise Architect to build and debug a Java Application, using a VEA sample project.
Sequence Diagrams
Learn how to create a simple Sequence diagram. The video also illustrates how to bring your Sequence diagram to life using model simulation.
HTML Report Generation
This brief introduction illustrates how to automatically generate a HTML Report using Enterprise Architect.
Basic Use Case Demonstration
A guide to constructing a Use Case model in under 30 seconds, including use cases, notes and issues.
Traceability within Enterprise Architect
This video examines Traceability and discusses how to use Enterprise Architect to conduct an Impact Analysis.
Requirements Reporting
A brief overview of requirements reporting in Enterprise Architect. Topics include document generation in web and RTF formats, report customization and virtual documents, including Model and Master documents.
Requirements Traceability
An examination of requirements traceability in Enterprise Architect. Topics include traceability views, tracing to external artifacts, conducting an impact analysis, viewing the Relationship Matrix and using Enterprise Architect's Auditing capabilities.
Requirements Modeling
A brief overview of requirements modeling in Enterprise Architect. Topics include requirements capture and definition, custom properties, tabular editing, auto-naming and screen prototypes.
Installing EA
An introductory walk through and discussion of Enterprise Architect in the Software Development Lifecycle.
Enterprise Architect 7.5 Overview
An overview of Enterprise Architect features released with version 7.5.
Introduction to Enterprise Architect
An introductory walk through and discussion of Enterprise Architect in the Software Development Lifecycle.
Brief Overview
The 10 minute guide to Enterprise Architect, from Requirements Management and Business Process Modeling to MDA and Code Engineering.
MDG Technologies allow users to extend Enterprise Architect's modeling capabilities to specific domains and notations. MDG Technologies seamlessly plug into Enterprise Architect to provide additional toolboxes, UML profiles, patterns, templates and other modeling resources.
Free MDG Technology downloads for Enterprise Architect:
EJB
MDG Technology for Enterprise Java Beans allows the user to model EJB entities and EJB sessions, complete with UML profiles for modeling EJB, EJB patterns and Code Management.
(requires Enterprise Architect 4.1 or later)
ICONIX AGILE DDT
ICONIX Agile Developer - Design-Driven Testing (DDT) streamlines the ICONIX modeling process, providing:
Convenient modeling of robustness diagrams
Automatic generation of sequence diagram structures from robustness diagrams
Transformation of robustness control elements to test diagrams
Transformation of sequence diagram elements to test diagrams
Transformation of requirement diagrams to test diagrams
Transformation between test cases and test classes. (JUnit & NUnit)
Built-in model validation rules for ICONIX robustness diagrams
(requires Enterprise Architect 7.5 or later)
Testing
MDG Technology for Testing helps users to rapidly model a wide range of testing procedures including component testing, SUT, Test Cases and more.
(requires Enterprise Architect 4.1 or later)
Instructions for loading an MDG Technology
EXE file:
Download and run the .exe file to install the MDG technology.
Open Enterprise Architect.
Select from the Main Menu Add-Ins | XYZ Technology | Load.
Built-in MDG Technologies:
Most of the MDG Technologies provided by Sparx Systems are built into Enterprise Architect directly. Depending on your edition of Enterprise Architect, some or all of the following MDG Technologies will be available:
CDI managed beans. The @EJB annotation is removed and @Inject is used instead
Annotating the boundary (Cart) with the @Named annotation makes the Cart immediately visible for expression language (EL) expressions in JSP and JSF
@Named annotation takes the simple name of the annotated class, puts the first character in lowercase, and exposes it directly to the JSF pages (or JSP). The Cart bean can be accessed directly, without any backed or managed beans, by the JSF pages: <h:commandButton value="Check out!" action="#{cart.checkout}" />
If there is a need for abstraction, the class can be turned into an interface (or abstract class)
local implementation (with CDI events
@Inject
Event<String> event;
event.fire("Order proceeded!");
remote implementation:
javax.enterprise.event.Event belongs to the CDI-implementation
class Event can be considered to be a lightweight alternative to the java.beans.PropertyChangeSupport class
@Inject
Event<String> event;
event.fire("Order proceeded!");
event can be received by any managed bean and also by EJB beans
provide a method with a single @Observes annotated parameter
@Observes String event
there is no real event, just the payload:
The during attribute in the @Observes annotation allows you to select in which transactional phase the event gets delivered. The default setting is IN_PROGRESS, which causes an immediate event delivery regardless of the transaction outcome. The AFTER_SUCCESS configuration causes the delivery to occur only after successful transaction completion
Although CDI events work only inside a single process (in the default case, CDI is extensible), they are perfectly suitable for decoupling packages from modules
The method checkout() starts a transaction that gets "reused" by the OrderSystem and CustomerNotification session beans
The SHOW PROFILES and
SHOW PROFILE statements display
profiling information that indicates resource usage for
statements executed during the course of the current session.
asks the user for multiple pieces of hard data that should have been
previously collected
send the password reset information to some
out-of-band side-channel
such as a (possibly different) email address or an SMS text number, etc. to be used in Step 3.
Step 2) Verify Security Questions
application verifies that each piece of data is correct for the given username
If anything is incorrect, or if the username is not recognized, the second page displays a generic error message such as “Sorry, invalid data”. If all submitted data is correct, Step 2 should display at least two of the user’s pre-established personal security questions, along with input fields for the answers.
Avoid sending the username as a parameter
Do not provide a drop-down list
server-side session
user's email account may have already been compromised
However, those locks limit concurrency and scalability when
multiple transactions are executing insert statements at the
same time
For INSERT statements where the
number of rows to be inserted is known at the beginning of
processing the statement, InnoDB quickly
allocates the required number of auto-increment values without
taking any lock, but only if there is no concurrent session
already holding the table-level AUTO-INC lock
(because that other statement will be allocating auto-increment
values one-by-one as it proceeds)
obtains
auto-increment values under the control of a mutex (a
light-weight lock) that is not held until
the statement completes, but only for the duration of the
allocation process
recovery scenarios when SQL statements are
replayed from the binary log
Using auto-increment with replication
set
innodb_autoinc_lock_mode to
0 or 1 and use the same value on the master and its slaves
Auto-increment values are not ensured to be the same on the
slaves as on the master if you use
innodb_autoinc_lock_mode =
2 (“interleaved”) or configurations where the
master and slaves do not use the same lock mode