Click here to load reader
Upload
cast
View
5.839
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Analyzing the structural quality of complex, multi-tier, multi-technology applications is monstrous task yet crucially to ensure systems don't fail. Enterprise architects need a reliable, automated solution to enforce architectures the ensure efficiency and stability of business critical applications.
Citation preview
CAST ARCHITECTURE CHECKER
Even the most beautiful architecture can be ruined by a single line of code. Gartner Research
2 CAST Confidential
Co
nfi
de
nti
al
Architectural Challenges
The integration of systems, applications into products
and services provides most of the differentiated value
in today's marketplace. Simultaneously integration
challenges represent the primary sources of
uncertainty, complexity, and cost of developing and
maintaining systems. The ability to monitor system
adherence to architecture is central to successful
system modifications and ensuring system integrity.
Architectural challenges:
• Complexity - As systems evolve its complexity
increases unless work is done to maintain or
reduce it.
• Ivory tower - Grand designs are thrust from above
with little implementation guidance.
• Developer / Architect Disconnect - Developer’s
don’t understand the architecture and architects
don’t understand the code - and there’s no check
that implementation matches the design.
• Big architecture upfront in an agile world - Trying
to do everything upfront when an evolutionary
approach is needed.
“There are two ways of
constructing a software
design: One way is to make
it so simple that there are
obviously no deficiencies,
and the other way is to make
it so complicated that there
are no obvious deficiencies.
The first method is far more
difficult.”
C.A.R. Hoare
3 CAST Confidential
Co
nfi
de
nti
al
Protects design patterns from degradation
Developers lack of understanding of architectural
decisions and design patterns contributes to
architectural drift over time. Lack of visibility into
the implementation prevent objective assessment
of architecture state versus its intended design.
Creates more secure systems
50% of security problems result from design flaws.
You cannot find design defects by staring at code -
higher-level architectural risk analysis and checks
are essential to building secure systems.
Reduces the impact of architectural defects
Architectural defects or multi-component code
Defects (MCD) require changes to multiple
components. Although they consist of less than
10% of known defects they require 20 times more
changes to remediate – accounting over 50% of all
remediation effort. Eliminating MCDs represents
the single greatest opportunity to reduce technical
debt.
(Gary McGraw in Build Security In)
Li, et al., ( 2011). Characteristics of multi-component defects and architectural hotspots: A large system case study. Empirical Software Engineering, 16 (5), 667-702.
“Most software today
is very much like an
Egyptian pyramid with
millions of bricks piled on
top of each other, with no
structural integrity, but
just done by brute force
and thousands of slaves.”
Alan Kay
Value of Visibility into Architecture
4 CAST Confidential
Co
nfi
de
nti
al
CAST Architecture Checker allows you describe the
layers and dependencies of a system to enable an
automated verification of the implementation
against its design.
Through a visual interface you can describe the
architecture, system dependencies and define rules
that are used to verify the architecture.
As part of the CAST Application Intelligence
Platform, Architecture Checker enhances
architectural analysis with code quality metrics and
application health scores along with the compliance
feedback of the actual applications construction.
Architecture conformance ensures that the system:
Provides the required functionality.
Adheres to the stated standards including syntax
and semantic rules specified.
Adheres to the stated architectural principles
such as open source.
Is implemented as designed and verifies code
reuse and frameworks.
CAST Architecture Checker
5 CAST Confidential
Co
nfi
de
nti
al
Visually Define Critical Applications
Access library of layers or
objects to describe your
application.
A Layer is a list of conditions generated from a CAST analysis. Drag and drop from the Layer & Sets menu to define the various layers and their relationships.
Drag and drop library components
to define application layers.
6 CAST Confidential
Co
nfi
de
nti
al
Define authorized or
forbidden dependencies
Define Application Layers and Dependencies
Depending on your requirement, you can describe an application by defining authorized dependencies between layers or define forbidden dependencies.
7 CAST Confidential
Co
nfi
de
nti
al
Interactive Architecture Compliance Checking
The architectural description
becomes a CAST Quality Rule.
The rule is used to verify the
application each time a CAST
analysis is performed.
Reports of rule compliance informs adoption of frameworks and reuse practices.
8 CAST Confidential
Co
nfi
de
nti
al
Select the Red links to view a
list of violations. You can see
both the caller and the called
object as well the source code.
Frameworks have taken a huge place in IT
appl. Dev Still this not well mastered by IT
& SI teams, thus need for strong checks
Automated Compliance Against Design
End-to-end analysis of different languages, technologies and roles is mandatory for objective and effective architectural analysis.
9 CAST Confidential
Co
nfi
de
nti
al
Visibility - IT leaders in large organizations must be
certain that the software architectural design is
being implemented and adhered to. But in an era
when more developers are deploying and coding
faster than ever, architectural reviews need to
happen at the speed of your development teams’
deployment.
Define architectural guidelines at the beginning of
your project. Then perform consistent checks with
each new iteration to ensure compliance.
Avoid Risk – Catching architectural errors early
will reduce the cost and risk of outages in the
short term while reducing the maintenance
effort of the system over its lifespan.
Communicate – Documenting and sharing
architectural dependencies while including real
time feedback to development teams leads to
high quality and high performing systems.
Automated Architectural Compliance
“He that will not
apply new remedies
must expect new
evils; for time is the
greatest innovator. ”
Francis Bacon
10 CAST Confidential
Co
nfi
de
nti
al
About CAST
“Out of clutter
find simplicity.”
Albert Einstein
CAST is a pioneer and world leader in Software
Analysis and Measurement, with unique
technology resulting from more than $100
million in R&D investment. CAST introduces
fact-based transparency into application
development and sourcing to transform it
into a management discipline. More than 250
companies across all industry sectors and
geographies rely on CAST to prevent business
disruption while reducing hard IT costs.
CAST is an integral part of software delivery
and maintenance at the world's leading IT
service providers such as IBM and Capgemini.
Founded in 1990, CAST is listed on NYSE-
Euronext (Euronext: CAS) and serves IT intensive
enterprises worldwide with a network of offices
in North America, Europe and India. For more
information, visit www.castsoftware.com