Cathedral of Learning at University of Pittsburgh (source: www.umc.pitt.edu) SEI Training Materials Vehicle as long as Communication Early Design Decisions Architecture Structure
Carnes, Jennifer, Managing Editor has reference to this Academic Journal, PHwiki organized this Journal Software Architecture Training at SEI my recollection in addition to comments Ning Chen, Ph.D. Professor Department of Computer Science Cali as long as nia State University, Fullerton SEI (Software Engineering Institute) at Carnegie Mellon University source: www.sei.cmu.edu Cathedral of Learning at University of Pittsburgh (source: www.umc.pitt.edu)
This Particular University is Related to this Particular Journal
SEI Training Materials The materials used in training are copyrighted by SEI in addition to distribution is limited to attendees only. Book from which the training is based Available to everyone if you buy one. What is Software Architecture My underst in addition to ing of the SEIs approach: Be as long as e one defines Software Architecture, one needs to define two additional terms – Enterprise Architecture in addition to System Architecture. My comments: I like this idea that Software Architecture is a subset of System Architecture in addition to System Architecture is a subset of Enterprise Architecture. What is Software Architecture (continued) One of the SEIs definitions: The software architecture of a program or computing system is the structure or structures of the system, which comprise the software elements, the externally visible properties of those elements, in addition to the relationships among them. (source: Software Architecture in Practice second edition)
Why is Software Architecture Important SEI: 1. It provides a vehicle as long as communication among stakeholders. 2. It is the manifestation of the earliest designs about a system. 3. It is transferable, reusable abstraction of a system. My comments: There are disputes on how one defines the term Software Architecture. Not many people dispute the usage of a software architecture. Vehicle as long as Communication SEI: 1. Negotiating with users. 2. Keeping the customer in as long as med of progress. 3. Implementing management decisions in addition to allocations. 4. Architects in addition to implementers use the architecture to guide development. My comments: The word Software Architect is gaining popularity. It is important to realize that a software architect involves more than just software. Early Design Decisions SEI: Architecture allows predicting system qualities without waiting until the system is developed or deployed. My comments: SEI actually comes up with a lot of good arguments as long as early design decisions.
Transferable, Reusable Abstraction SEI: 1. Architecture supports building systems using large, independently developed components. 2. Architecture enables template-based development. My comments: This is easier said than done. Nevertheless, everyone agrees that this is the thing to come. By the way, in my opinion, J2EE is a good starting point. Architecture Structure SEI: Architecture structure can be divided into three types: 1. module structures, 2.component-connector structures, 3. allocation structures. My comments: This probably is one of the most important concepts you want to know. Architecture Structure Modules: uses, decomposition, layers, class/generalization, etc. Component- in addition to -Connector: client-server, concurrency, process, share-data, etc. Allocation: work assignment, deployment, implementation, etc.
Architecture Business Cycle (ABC) source: Software Architecture in Practice second edition SEI: I think I have learned enough. Can I design a software architecture now Q. My stakeholders h in addition to ed me the requirements already in addition to I have a pretty good underst in addition to ing of the system. Can I start designing my software architecture now A. SEIs answer: Not yet. You need to know two more things be as long as e you can start: Quality Attributes in addition to Patterns/tactics. Quality Attribute (this is one of the SEIs babies. You may want to pay great attention to it) Some general quality attributes: availability, modifiability, per as long as mance, security, testability, usability, etc. SEI: Architecture is critical to the realization of quality attributes. My interpretation: if, as long as example, the availability is the must-have quality attribute of your system, then you had better to come up with an architecture that shoots as long as that quality. In other words, the architectural design is driven by the desired quality attributes.
Quality Attribute (this is one of the SEIs babies. You may want to pay great attention to it) SEI: In a traditional system development quality attributes are rarely captured in requirements specifications. They are often vaguely understood in addition to weakly articulated. What should we do SEIs answer: QAW (SEI Quality Attribute Workshop) SEI QAW steps 1. QAW presentation in addition to introductions 2. Business/Mission presentation 3. Architectural plan presentation 4. Identification of architectural drivers 5. Scenario brainstorming 6. Scenario consolidation 7. Scenario prioritization 8. Scenario refinement (Iterate above as necessary with broader stakeholder community) SEI came up with a quality scenario consisting six parts: 1. Source, 2. Stimulus, 3 Artifact, 4. Environment, 5. Response, 6. Response Measure. My comments on SEI QAW Dont ever underestimate this one-page QAW description. Based on what I heard, QAW is a big money-making machine as long as SEI. If you ask SEI to do a QAW as long as you, it will cost you a-leg- in addition to -an-arm. My analogy: high-cost marriage counseling: almost everyone knows what is the source of difficulty in marriage in addition to you just cant fix them by yourself.
Patterns SEI: An architectural pattern 1. is found repeatedly in practice, 2. is package of design decisions, 3. has known properties that permit reuse, 4. describes a class of architectures. My comments: dont mix the concept of patterns in addition to the usage of patterns. Sometimes dealing with one thing at a time will make things much easier. Example: pipe- in addition to -filter Tactics SEI: Tactics are the building blocks of design from which architectural patterns are created. Pattern tactics relationship: Any pattern implements several different tactics, often to promote various quality attributes. Each implementation of a given pattern involves unique choices of tactics. Tactics (continued) SEI: Tactics example as long as availability: ping/echo My explanation: If the system you are designing requires high availability, then you may want to use the ping/echo tactic/pattern as one of the building blocks of your software architecture.
Tactics (continued) source: Software Architecture in Practice second edition SEI came up with a mapping between the well-known tactics in addition to the quality attributes. I guess, finally I can start designing an architecture as long as my system. Right SEI: Not quite yet. You need to learn one more buzzword SEIs ADD What is ADD ADD st in addition to s as long as Attribute-Driven Design SEIs Attribute-Driven Design SEI: The Attribute-Driven Design (ADD) method, developed by the SEI, is an approach to define a software architecture that bases the decomposition process on the quality attributes the software must fill. ADD follows a recursive decomposition process where, at each stage in the decomposition, tactics in addition to architectural patterns are chosen to satisfy a set of quality attribute scenarios.
SEIs Attribute-Driven Design (continued) My interpretation: The idea is quite interesting. The attribute-driven architecture goes the following way. First break (decompose) the system to small workable parts. Get quality attributes from your boss. Find some suitable patterns/tactics from your pattern catalog (just consider this is a pattern yellow book). Repeat the process if necessary. My thoughts: Un as long as tunately My SEI instructor as long as some reason flew through this portion without working out a detailed example. It is highly possible that applying ADD to a non-trivial real-world problem is not that straight as long as ward. Conclusion: Want to become a Software Architect My in as long as mal survey: about 30 people from industry attended this workshop. Half of them said they belonged to the Software Architecture Department in their organizations. About 20% of them actually have the job title of Software Architect. Conclusion: Want to become a Software Architect Will the job title of Software Architect become abundant My thoughts: No one has a crystal ball in addition to it is still hard to say whether industry will seek lots of Software Architects in the near future. Nonetheless, I have seen the transition from programmer to Software Engineer. It is not that unusually now to find a Software Architecture Department in a mid-size organization.
Conclusion: Want to become a Software Architect What should I do to prepare myself You may want to play follow the leader game. SEI apparently is one of the major mover- in addition to -shakers. You many want to ride the SEI train. You may want to improve your people/communication skills Software Architecture involves lots people-related activities. Your technology skill alone is not enough. You had better be good at the people skill too.
Carnes, Jennifer Managing Editor
Carnes, Jennifer is from United States and they belong to Copper Area News Publishers and they are from Kearny, United States got related to this Particular Journal. and Carnes, Jennifer deal with the subjects like Local News
Journal Ratings by Cleary College
This Particular Journal got reviewed and rated by Cleary College and short form of this particular Institution is US and gave this Journal an Excellent Rating.