Download presentation
Presentation is loading. Please wait.
1
CSCI 578 Software Architectures
Exam #1 Review
2
Materials you are responsible for
Chapters 1-7 in the text book All lecture material through intro to Architectural Analysis (Week 8) Homework #1 and #2
3
Exam Closed book, closed note Format Write in answers
No multiple choice
4
Material Review Canonical elements of software architecture Component
computation Connector communication/coordination Configuration topology and constraints
5
Material Review Architectural styles Architectural patterns
Codify key constraints and architectural elements (components, connectors, configurations) found effective used in a family of software systems over a given time period Architectural patterns A set of architectural design decisions that are applicable to a recurring design problem, and parameterized to account for different software development contexts in which that problem appears. Compared to styles, architectural patterns are at a coarser level of granularity (design decisions versus actual architectural elements) and are inherently more domain specific
6
Material Review Examples of Architectural Styles
Client/Server, P2P, Object Oriented, Layered, Data-Flow, Pipe and Filter, Blackboard, Rule Based Examples of Architectural Patterns 3-tier (Stage-Logic-Display), MVC, Sense Compute Control Methods of evaluating design methods like styles and patterns Vocabulary, structural patterns, computational model, invariants, common examples, disadvantages, specializations Methods of design Greenfield design (entirely fresh start, no baggage) Analogy searching, Brainstorming, Literature searching, Morphological Charts, Removing Mental Blocks, Insight from requirements/implementation
7
Material Review Software Connectors Benefits of first-class connectors
Taxonomy 4 main roles Communication, Conversion, Facilitation, Coordination 8 main types Event, Stream, Procedure Call, Arbitrator, Data Access, Distributor, Linkage, Adaptor Benefits of first-class connectors Software evolution, separation of concerns, modularity, pluggability
8
Material Review Architectural Modeling How to choose what to model?
An architectural model is an artifact that captures some or all of the design decisions that comprise a system’s architecture Architectural modeling is the reification and documentation of those design decisions How to choose what to model? Cost/Benefit Decision What do we model? Structure (Architectural element), static/dynamic behaviors, functional/non-functional aspects, Views/Viewpoints
9
Material Review Architectural Modeling Important things to “get right”
Consistency, Accuracy/Precision, Ambiguity How do we evaluate modeling techniques? Scope/Purpose, Basic Elements, Style, Static/Dynamic Aspects, Dynamic Modeling, Non-functional aspects, ambiguity, accuracy/precision, viewpoints, view consistency Modeling approaches Generic, early ADLs, style-specific and domain-specific languages, extensible ADLs
10
Material Review Architectural Modeling Generic approaches Early ADLs
Natural language, informal graphical tools (Powerpoint), semi-formal graphical tools with semantics (UML) Early ADLs Darwin, Rapide, Wright Domain/Style-specific ADLs Koala, Weaves, AADL Extensible Architecture Description Languages xADL, ACME, ADML
11
Material Review Architectural Visualization
An architectural visualization defines how architectural models are depicted, and how stakeholders interact with those depictions Two key aspects here: Depiction is a picture or other visual representation of design decisions Interaction mechanisms allow stakeholders to interact with design decisions in terms of the depiction
12
Material Review Viz Model Viz Model Viz Model Viz Viz Model Model
One (canonical) visualization (common) Viz Model Viz Model Viz Viz Model Model Many visualizations for one model (common) One visualization bringing together many models (uncommon)
13
Material Review Kinds of Architectural Visualizations
Textual (XML in a text editor, natural language, etc.) Graphical (boxes, lines, etc.) Hybrid (combine elements of textual and graphical) Effect (depict the results or effects of design decisions, not direct design decisions) How do we evaluate architectural visualizations? Scope/Purpose, Basic Type, depiction, interaction, fidelity, consistency, comprehensibility, dynamism, view coordination, aesthetics, extensibility
14
Material Review Architectural Analysis
The activity of discovering important system properties using the system’s architectural models. Early, useful answers about relevant architectural aspects Available prior to system’s construction Formal/Informal Largely dependent on the underlying architectural model’s expressivity Concerns Goals, Scope, Primary architectural concern, level of formality, Type, Level of automation, System stakeholders
15
Material Review Architectural analysis Completeness Consistency
Does the architectural analysis take all the system elements (components/connectors/etc.) into account? Does it take the other aspects (requirements, etc.) into account? Consistency Do the results of analysis on one subset of a software system produce non contradictory results with respect to the analysis of another (perhaps non-disjoint) subset? Name, Interface, Behavior, Interaction, Refinement Compatibility Do the results of analysis conform to the expected properties/results of the specific domain, style, or reference architecture? Correctness Does the architectural analysis really represent properties of the full system specification? Does the system implementation represent the predicted analysis?
16
Material Review Architectural analysis Scope Techniques for analysis
Component/Connector System/Subsystem Data Refinement/Abstraction levels Comparing architectures/analysis Techniques for analysis Inspection-based, Model-based, Simulation-based
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.