Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant...
-
Upload
ruth-brooks -
Category
Documents
-
view
219 -
download
2
Transcript of Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant...
![Page 1: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/1.jpg)
Lecture 11
Enterprise
Systems
Development( CSC447)
COMSATS Islamabad
Muhammad Usman, Assistant Professor
![Page 2: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/2.jpg)
Software Architecture
![Page 3: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/3.jpg)
Software Architecture
You employ stone, wood and concrete, and with these materials you build houses and palaces. That is construction. Ingenuity at
work. But suddenly you touch my heart, you do me good, I am happy and I say “ That is
beautiful.” That is Architecture.
-Le Corbusier 1923
![Page 4: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/4.jpg)
4
Antecedents of Software Architecture
![Page 5: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/5.jpg)
5
![Page 6: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/6.jpg)
6
![Page 7: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/7.jpg)
7
![Page 8: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/8.jpg)
8
![Page 9: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/9.jpg)
Software Architecture in Context
![Page 10: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/10.jpg)
10
A computer system
![Page 11: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/11.jpg)
11
A computer system in isolation…
In space, no-one can hear you
?
![Page 12: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/12.jpg)
12
Stakeholders…
Architect
Operator
Supplier CEO
Technician Developer
Sysadmin
Consumer
QA
BillGatesCustomer CEO
![Page 13: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/13.jpg)
13
Other systems…
EnrolmentsStudent Labs
Networkinginfrastructure
AccountingManagement
reporting
Payroll
![Page 14: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/14.jpg)
14
Opportunities and risks…
Sell a lot of systems
Go to IPO
Late to market
Sell a few systems
Deliver a poor performer
Build a reputation
Tax issues
Misjudge the market
BillGates
![Page 15: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/15.jpg)
15
Constraints and enablers…
Operatingsystem
Standards Policies
Regulations
Faster processor
Legacy systems
Lots ofJava developers
Not manydatabase developers
Ethics andenvironment
![Page 16: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/16.jpg)
16
It’s complicated.
![Page 17: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/17.jpg)
17
What is the role of architecture?
Leaning tower image from Gary Feuerstein.Other images from The Big Ball of Mud, by Yoder and Foote.
??
![Page 18: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/18.jpg)
18
Development lifecycle
Preliminaryrequirements
analysis
Design ofarchitecture and
system core
Developa version
Deliver aversion
Elicitcustomerfeedback
Incorporatecustomerfeedback
Softwareconcept
Architecture plays a vital role in establishing the structure of the system, early in the development
lifecycle
The evolutionary delivery lifecycle model(Rapid Development, Steve McConnell)
Architecture sets system structure
First iteration implements system core
![Page 19: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/19.jpg)
19
System lifetime
Architecture is about decisions that affect the whole lifetime of the system
Inception
Development
Deployment
Maintenance
Alteration
Legacyoperation
Vision
Death
Operation
![Page 20: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/20.jpg)
20
The Architecture Business Cycle
![Page 21: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/21.jpg)
21
Architectural Influences
• Stakeholders– each stakeholder has different concerns & goals, some
contradictory
• Development Organization– immediate business, long-term business, and organizational
(staff skills, schedule, & budget)
• Background & Experience of the Architects– repeat good results, avoid duplicating disasters
• The Technical Environment– standard industry practices or common SE techniques
![Page 22: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/22.jpg)
22
Stakeholders
ManagementStakeholder
Marketing
MaintenanceOrganization
End Users
CustomersArchitect
Lower Cost!
New Features! Faster!
Compete!
Performance!Reliability!
Security!Behavior!
Extensibility!Maintainability!
Deliver on Time!
Don’t Keep Changing!
![Page 23: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/23.jpg)
23
Trade-offs
Architect
Performance Security
Maintainability Reliability
Current Cost Future Cost
![Page 24: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/24.jpg)
What is a good definition ofSoftware Architecture?
![Page 25: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/25.jpg)
25
Software Architecture Definition
• The software architecture is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements and the relationships among them
![Page 26: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/26.jpg)
26
Software Architecture Defines
• The Software Elements – Abstraction of the system
• Omits some information
• And relationships between elements– Relationships typically are interfaces– Architecture talks about the public interfaces
![Page 27: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/27.jpg)
27
Other Definitions of Software Architecture
• Perry and Wolf– Software Architecture = { Elements, Form, Rationale }– what how why
• Shaw and Garlan– Software architecture [is a level of design that] involves
• the description of elements from which systems are built, • interactions among those elements, • patterns that guide their composition, and • constraints on these patterns.
• Kruchten– Software architecture deals with the design and implementation
of the high-level structure of software.– Architecture deals with abstraction, decomposition, composition,
style, and aesthetics.
![Page 28: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/28.jpg)
28
Other Definitions of Software Architecture
• Organizational structure of a system or component (IEEE Standard Glossary of Software Engineering Terminology 1990)
• IEEE 1471-2000– Software architecture is the fundamental
organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution
![Page 29: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/29.jpg)
29
![Page 30: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/30.jpg)
30
![Page 31: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/31.jpg)
31
What type of requirements drive architectural design?
Answer: Quality attribute requirements are the primary drivers for architecture design.
![Page 32: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/32.jpg)
32
![Page 33: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/33.jpg)
33
![Page 34: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/34.jpg)
34
Architecture and Functionality
• Functionality is largely orthogonal to quality attribute requirements.
• Functionality is the ability of a system to do the work it was intended to do.
• Systems are decomposed into elements to achieve a variety of purposes other than function.– Architectural choices promote certain
qualities as well as implement the desired functionality.
![Page 35: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/35.jpg)
35
Effects of Architectural Decisionson Quality Attributes
• The degree to which a system meets it’s quality attribute requirements is dependent on architectural decisions.
• A change in structure improving one quality often affects the other qualities.
• Architecture is critical to the realization of quality attributes.
• These product qualities should be designed into the architecture.
• Architecture can only permit, not guarantee, any quality attribute.
![Page 36: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/36.jpg)
36
Role of the Software Architect
Architect
Balance Stakeholder
Concerns
Manage Complexity
Functional Requirements
Communicate!Balance Quality
Attributes
Bring Technology
Report Results
![Page 37: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/37.jpg)
37
Systems Structure(s)
• Systems have more than one structure– Module structure– Interaction structure– Deployment structure
• Every system has an architecture
• Behavior is part of the architecture– Behavior allows component interaction to be
specified
![Page 38: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/38.jpg)
38
Structures and Views
From: http://www.wordinfo.info/words/index/info/view_unit/1/?letter=B&spage=3
![Page 39: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/39.jpg)
39
Structures and Views
• Modules – Functional decomposition & uses information– Class structure (generalization) & Layers
• Component-and-Connector– Runtime components– Concurrency and shared data models
• Allocation– Deployment, Implementation, work
assignments
![Page 40: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/40.jpg)
40
Types of Views
Architect
Module
Runtime
Allocation
How to express each view. What is each
view useful for?
![Page 41: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/41.jpg)
41
Integrating the Views
From: http://www.wordinfo.info/words/index/info/view_unit/1/?letter=B&spage=3
![Page 42: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/42.jpg)
42
Behavioral Modeling
![Page 43: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/43.jpg)
43
Views
• Systems are composed of many structures– Code units, their decompositions
and dependencies– Processes and how they interact– How software is deployed on
hardware– And others
• A view is a representation of a structure, that is, a representation of a set of system elements and the relations associated with them.
![Page 44: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/44.jpg)
44
SEI Architectural Viewtypes
• Module Viewtypes describe how the system is to be structured as a set of units of implementation.
• Component and Connector (C&C) Viewtypes describe how the system is to be structured as a set of interacting runtime elements.
• Allocation Viewtypes describe how the system relates to non-software structures in its enviroment.
A viewtype defines the element types and relationship types used to describe the software architecture from a particular perspective.
![Page 45: Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f055503460f94c19717/html5/thumbnails/45.jpg)
45
Reference
• Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, Second Edition (2006), Addison-Wesley.
• Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, j., Little, R., Nord, R. and Stafford, J., Documenting Software Architectures: Views and Beyond, 2002, Addison-Wesley. Documenting Software Architectures