Enterprise ArchitectureVisual Modeling PlatformHigh Value, End-To-End ModelingSpeed, Stability and PerformanceBusiness SimulationEnd-to-End TraceabilityModel, Manage and Trace RequirementsManage ComplexityPowerful Document GenerationGeneration and Reverse Engineering of Source CodeVisualize your Applications-
Advanced Model Driven Architecture
-
Debugging, Compiling and Visualizing Executing Code Automation - Harness the PowerPowerful Database ModelingSystems Engineering and SimulationBusiness Process Modeling
|
|
|
Software Architecture
There is no doubt that the world is becoming increasingly
dependent on software. Software is an essential element of the
ubiquitous cell phone, as well as complex air traffic control systems.
In fact, many of the innovations that we now take for granted --
including organizations such as eBay or Amazon -- simply wouldn't exist
if it weren't for software. Even traditional organizations, such as
those found in the finance, retail, and public sectors, depend heavily
on software. In this day and age, it's difficult to find an organization
that isn't, in some way, in the software business.
In order for such innovations and organizations to survive, the
software they depend on must provide the required capability, be of
sufficient quality, be available when promised, and be delivered at an
acceptable price.
All these characteristics are influenced by the architecture of
the software, the subject of this article. My focus here is on
"software-intensive systems," which the IEEE defines as follows:
A software-intensive system is any system where software
contributes essential influences to the design, construction,
deployment, and evolution of the system as a whole. [from IEEE 1471. See
the "Architecture defined" section below.]
In this article, the term "architecture," when unqualified, is
synonymous with the term "software architecture." Although this article
focuses on software-intensive systems, it is important to remember that a
software-intensive system still needs hardware in order to execute and
that certain qualities, such as reliability or performance, are achieved
through a combination of software and hardware. The hardware aspect of
the total solution cannot therefore be ignored. This is discussed in
more detail later in this article.
|
|
|
Computer Science and Engineering
- ActionScript
- Ada
- C and C++
- C#
- Java
- Delphi
- Verilog
- PHP
- VHDL
- Python
- System C
- VB.Net
- Visual Basic
- and more...
Electronics & Communication Engineering
·
Communication lab
· Digital Lab
· Electronics
Circuits Labs
· Microprocessor and Micro controller Lab
Mechanical Engineering
Electrical Engineering
|
|