500 likes | 1.24k Views
Chapter 1 The Architecture Business Cycle. Alan Layton Donna Smith September 24, 2009 MMIS 6298. Part One – Envisioning Architecture. Review of forces and influences that are a part of creation of a system
E N D
Chapter 1The Architecture Business Cycle Alan Layton Donna Smith September 24, 2009 MMIS 6298
Part One – Envisioning Architecture • Review of forces and influences that are a part of creation of a system • Design – steps taken to be sure the system will function correctly and produce the expected results • Architecture – includes design but also concerned with longer range issues
Part One – Envisioning Architecture • Architecture – influences the organization that required it • “Dance” between the architecture and the organization • Help each other grow, evolve, take on larger roles
Part One – Envisioning Architecture • Chapter 1 – Architecture Business Cycle (ABC) • “Dance” between architecture & organization • Chapter 2 – Software Architecture • Definition • Software Engineering & Tools • Chapter 3 – Case Study • Illustrates how architecture solved requirements of avionics system that required long-term modifiability
The Swedish Ship Vasa • To be world’s most formidable war ship • Commissioned by GustavusAldolphus • To be used to end the war between Sweden and Poland in 1620s • Stats • 70 m long • carry 64 heavy guns • 2 gun decks
The Swedish Ship Vasa • Illustrates Architecture Business Cycle
Chapter 1 – Architecture Business Cycle (ABC) • Architecture – crucial part of design process • Software Architecture: structure or structures of the system made of software elements, externally visible properties of those elements, and relationships among them • Chapter 2 – further define architecture • Encompasses the structures of large systems • Tool for communication, reasoning, analysis, and growth for systems
Chapter 1 – Architecture Business Cycle (ABC) Software Architecture Influences
Where Do Architectures Come From? • Architectures --> result of business and technical decisions • Requirements define some of the properties of the final system, but not all • Failure to satisfy other constraints could result in problems just like poor functionality
Where Do Architectures Come From? • Influences of Stakeholders on Architect • System Stakeholders • Developing Organization • Background and Experience of Architect • Technical Environment
System Stakeholders • All different concerns • Behavior at runtime • Hardware performance • Easily customizable • Short time to market • Goals of individual stakeholders may be contradictory • Requirements document usually not capture all of details • Fill in blanks • Mediate conflicts
Developing Organization • 3 Classes of Influence • Immediate Business Investment • Assets like existing architectures and products based on them • Long-term Business Investment Infrastructure • Pursue strategic goals – system = means of extending infrastructure • Organizational Structure • Can shape software architecture • Development of some subsystems may be contracted due to specialized expertise
Background & Expertise of Architects • Good results with one architectural approach, good chance will try same approach again • Bad results with an architectural approach, reluctant to try again • Choices also derived from educational experiences
Technical Environment • Environment present when architecture designed will influence new architecture • Can include • Standard industry practices • Software engineering techniques prevalent in community
Ramifications of Influences on Architecture • Influences come variety of sources • Early engagement of stakeholders • Understand constraints of task • Manage expectations • Negotiate priorities • Make trade-offs • Need more than just technical skills • Diplomacy • Negotiation • Communication skills
Architectures Affect Factors that Influence Them • Relationships between business goals, product requirements, architects’ experience, architectures, and fielded systems form cycle with feedback loops
How Cycle Works • Architecture affects structure of developing organization • Architecture can affect goals of developing organization • Can affect customer requirements for next system • Process of system building will affect architect’s experience with subsequent systems • Sometimes will influence and sometimes change software engineering culture
Software Processes and the ABC • Software process – term used to describe organization, ritualization, and management of software development activities • Activities include • Creating business case for system • Understanding requirements • Creating or selecting architecture • Documenting & communicating architecture • Analyzing or evaluating architecture • Implementing system based on architecture • Ensuring implementation conforms to architecture
What Makes “Good” Architecture? • No inherently good or bad Architecture • Architectures are either more or less fit for some stated purpose • Architectures must be evaluated • Architecture should follow basic guidelines
“Good” Architecture GuidelinesProcess Recommendations • Identify leader • Start with : • Functional requirements • Articulated agreement • Be well documented • Circulated to stakeholders • Analyzed for applicable quantitative measures • Lend itself to Incremental implementation • Result in specific set of resource contention area
“Good” Architecture GuidelinesStructural Recommendations • Features well-defined modules • Has well-defined interface for each module • Has quality attributes from well-known tactics • Be independent of specific commercial product version • Separate data producing from data consuming modules • Features well-defined processes • Designed to: • Easily changed processes • Simple interaction pattern
Chapter 1Summary • Architecture is more that the result of the functional requirements • Architecture is the collection of: • Architects background and experience • Sponsoring organization’s goals • Architecture Business Cycle • Architecture guidelines to promote • Best possible design for system • System success
Q1 – Organization and Architecture • Nature of organization affects architecture developed • Current skill set of IT personnel • Budget and current equipment • Thiele ERP and CMMS system • Architectures affect nature of organization • Prior to ERP and CMMS departments functioned as individual units and not systems not connected • Business processes and departments changed as result of implementation
Q2 – Business Goals and Architecture • What business goals drive creation of new software architectures? • Low budget products • High maintenance products • Lack of competition through acquisition