Skip to content

Instantly share code, notes, and snippets.

@ducnh1022
Last active March 28, 2016 09:44
Show Gist options
  • Save ducnh1022/ab4017b9ffe42f370cc9 to your computer and use it in GitHub Desktop.
Save ducnh1022/ab4017b9ffe42f370cc9 to your computer and use it in GitHub Desktop.
Software
Architecture
fundamental
define guideline
communicate with stakeholder
cross-cutting concern
manage uncertainty
conceptual intergrity
what kind of storage, how modules interact, where recovery system
meet specific requirements, constrain
how to combine set of interelated components
minimizing dependencies -> changes cant propagate
component communication
collective of architecture pattern -> successful used structure
non-functional requirement -> how app provides the required functionality
3 constrain: technical, bussiness, quality attributes
Abstraction = must be abstract to understand, component = blackbox, bunch of black boxes
Architecture view = 4 + 1 = logical, process, physical, development view
Architecture and Tech
architect must make early decision
prototyping of key architectural component
architectural pattern reduce risk
map between logical architectural pattern with concrete tech
Software architect thi lam gi -> make high level design choice, dictate technical standard,
Liason
Software engineering
risk management
tech knowledge
skill: bussiness, personal, relationship, technical
Quality Attribute: part on non functional-> how functional requirement is achieved
=> this app must be scalable, scale range must be from 100-> 1000 machine without install anything more
Performance: throughput, response time, deadline
Scalability: request load, silmutaneous connection, datasize, deployment
Modifiability: how ez to change app -> new functional and non functional requirement
Security: authen, autho, encrypt, intergrity, non repudation
Availability: ready?,
Intergration: useful? in broader context
Cloud computing
Saas = payment prcuremennt HR Applications Supply Chain Comerce Analytics
Paas = Middleware, Dev Tools, Runtimes
IaaS = Servers Storage Networking
Kind of clound: Private, Community, Public, Hybrid
Middleware
'glue' that connect diverse computer system
more functional set of API
locate in network
provide interaction
independent from net service
reliable available
scale up without losing function
Services = data management, communication, distribution, object management, application co-op presentation, system management
Service oriented architecture
client server design
loosly couple
distributed deploy, reuse, compose, interoperate
saas
pay as you go
easy config
shorter release cycle
intergration protocol
issue: privacy, security, reliability, robustness
MDE
metamodel = model describe model
4 layers: metameta model, meta model, model, user object
Software Products Line
reduce effort, increase productivity by produce engineering families of products
generic solution, related product, universal platform, synthezing system
Product Line Architecture = standardize, maximize reuse potential => common function, variation point
Component Base Development =
Domain = area of expertise = Problem space = Consumer electronic , Compilers, Videogames
Product Line = Boeing 747 family, Redmi Note, Samsung Note,...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment