Software Architecture - SFU computer science
Download
Report
Transcript Software Architecture - SFU computer science
Supporting Collaboration
Managing Information
Resources
Data, Information and Knowledge
Data
Facts devoid of meaning or intent
e.g. structured data in DB
Information
Data that has meaning (data in context)
Content: term for the Web age
Information presented electronically in a variety of media: charts, text,
voice, sound, graphics etc.
Knowledge
Information with direction or intent
The Three-level Database Model
The three-level database model
Level 1: the conceptual level
Level 2: the logical level
Logical views of an organizations data as under the control of
the DBAs
Level 3: the physical level
Containing the various "user views" of the corporate data that
each application program uses
Specifying the way the data is physically stored
Advantages
Level 2 absorbs changes made at level 3
Data only needs to be stored once in level 2
Different programs can draw on it and vary the relationships
among the data
Getting Corporate Data into Shape
The Problem: management can not get consistent
view across the enterprise
The Cause: an application-driven chaos
Incompatible data definitions from application to application
Getting applications running as quickly as possible
The Solution: a data-driven approach
ERP is one of the main driving force for getting data into
shape in many companies
What is Data Warehouse?
“A data warehouse is a subject-oriented,
integrated, time-variant, and nonvolatile
collection of data in support of management’s
decision-making process.”—W. H. Inmon
Data Warehouse vs. Heterogeneous DBMS
Traditional heterogeneous DB integration: A query driven
approach
Data warehouse: update-driven, high performance
Build wrappers/mediators on top of heterogeneous databases
Information from heterogeneous sources is integrated in advance
and stored in warehouses for direct query and analysis
Why have a separate data warehouse
Promote the high performance of both systems
An OLAP operation needs no concurrent transaction support
Structures, content and uses of data are different in two systems
Document Management
Estimated that 90% of an organization’s information
is in documents rather than structured databases
Types of Documents
Contracts and Agreements
Reports
Manuals and Handbooks
Correspondence
Memos
Drawings and Blueprints
…
Content Management
Traditional “homegrown“ content
management
The Webmaster was the
publishing bottle neck
3 phases of content
management life cycle
Input-process-output
XML & Web Content Management
XML is used to put tags on data giving that data
meaning
Computers use the meanings to manipulate the data
and perform work
Use of XML moves Web content from being in a
human-only readable format to being in a
computer-readable format
The content can be passed to back-end transaction
processing systems and cause an action to take place
e.g. ordering a book or configuring a new computer
Manipulating the content to work with transaction applications
– the basis for e-commerce
Managing Operations
Main Shift in the Operations Viewpoint
What’s New in Operations?
Companies have "cleaned their operational house"
More operations managers are managing outward
Y2K problem moved company from a survival mode to a
planning mode
CIOs does not relinquish responsibility for operations
Ensure their people are properly managing relationships
Operations are being "simplified"
Centralizing applications in one place rather than distribute
them on PCs
Server based computing (thin client)
Certain operations are being offloaded
e.g. Microsoft offloaded webcasts to Netpodium
Outsourcing IS Function
Outsourcing means turning over a firm's
computer operations, network operations, or
other IT function to a vendor for a specified time
The focus of CIOs in operations is changing
In the past, ensuring they had the in-house expertise
to keep systems and networks up and tuning
Now, determining where best to perform the various
kinds of operations
In house or with a third party and manage it accordingly
The Driving Forces Behind Outsourcing
70% of US economy had global competition in
1970s
Companies had to focus on core business, which led
to huge amount of merger and acquisition activity
Companies were priced based on their shareholder
value
Focus and value
Management must stress value, they must consider
outsourcing in all their nonstrategic functions
Outsourcing
Transitional outsourcing
Best-of-breed outsourcing
Shared services
Business Process Outsourcing (BPO)
E-business outsourcing
Utility Computing
The Balance Between Security and Risk
Information Security is a balancing act between
ease of access to information and protecting that
information from increasing threats
The Information Security Manager must
Constantly bear in mind the organization's appetite for
risk
Assess where the "appropriate" balance lies
Be prepared to press their case "strenuously" when
they believe the risk is not within acceptable bounds.
Security's Six Pillars
A secure system should provide:
Nonrepudiation – a transaction cannot be denied by any of
the parties to it
Confidentiality – data or services are protected from
unauthorized access
Integrity – data or services are delivered as intended
Assurance – (authentication) the parties to the transaction
are who they say they are
Availability - the system will be available for legitimate use;
no DOS.
Auditing – the system tracks activities within it at levels
sufficient to reconstruct them
Technologies for Developing
Systems
The Evolution of System Development
Web services & SOA…
Integrated product lines
Component-based systems
Software architecture
Packages
RDBMS & SQL
Software development environments
Inheritance
1980
Abstract data types objects
Programming-in-the-large
Information hiding
NATO SE conference 1970
Separate compilation
Subroutines
1950
1990
High-level
languages
Sequence of
instructions
Architectural
elements
Modules, system
organization
Data structures,
algorithm, objects
1960
2000
The Spiral Model
Structured System Development
Some elements of the structured system
development
Hand coding in third generation language
"Structured programming" development methodology
DBMS
Development of mostly mainframe applications
Various automated, but not well integrated software
tools
User participation mainly in require definition and
installation phases
th
4
Generation Language (4GL)
A programming language closer to human
languages than 3GL
4GL specifies the purpose without details on
procedures
E.g. SQL
SELECT NAME, SCORE FROM STUDENT
Internet-based Systems
Internet-based systems must be:
Scalable
Reliable
Integrated with systems of customers or business
partners
Three cornerstones for Internet-based systems
Application servers
Java
Web service
System Integration
Three traditional integration approaches
DBMSs
Enterprise Resource Planning (ERP)
A data-centered approach, allowing applications to
share data stored in a single or distributed database
An application-centered approach, all applications come
from a single vendor and are specifically designed to
communicate with each other
Middleware
A third-party approach, applications communicate with
each other through a third-party translation software
The Traditional Project Management
Triangle
The three competing
constraints
Increased scope typically
means increased time and
increased cost
A tight time constraint could
mean increased costs and
reduced scope
A tight budget could mean
increased time and reduced
scope
SCOPE
QUALITY
COST
TIME
Supporting Decision Making
Technologies Supporting Decision Making
Computer technologies that support decision
making
Decision support system (DSSs)
Data mining
Executive information systems (EISs)
Expert systems (ESs)
Agent-based modeling
Multidisciplinary foundations for DS technologies
Database research, artificial intelligence, statistical
inference, human-computer interaction, simulation
methods, software engineering etc.
DSS Architecture (1)
Knowledge Discovery (KDD) Process
Data mining—core of
knowledge discovery
process
Pattern Evaluation
Data Mining
Task-relevant Data
Data Warehouse
Data Cleaning
Data Integration
Databases
Selection
Architecture: A Typical Data Mining System
Graphical User Interface
Pattern Evaluation
Data Mining Engine
Database or Data
Warehouse Server
data cleaning, integration, and selection
Data World-Wide Other Info
Database Warehouse
Web
Repositories
KnowledgeBase
Architecture of an ES
Description
of a problem
Inference
Engine
User
User
Interface
Advice and
explanation
Knowledge
Base
Knowledge Representation
In AI, the primary aim of knowledge
representation is to store knowledge so that
programs can process it and achieve the
verisimilitude of human intelligence
The representation theory has its origin in cognitive
science
Knowledge can be represented in a number of
ways
Case-based reasoning
Artificial neural networks
Stored as rules
Agent-based Modeling
Simulate the behavior that emerges from the
decisions of a large number of distinct
individuals
Computer generated agents, each making
decisions typical of the decisions an individual
would make in the real world
Trying to understand the mysteries of why
businesses, markets, consumers, and other
complex systems behave as they do
Supporting Collaboration &
Knowledge Work
Organization Structure
---Demise of Hierarchy
Command-and-control
hierarchical bureaucracies
Coordinated, collaborative
self-managed groups
Characteristics of Groups (1)
Collaboration is all about getting work done in a
group rather than individually
Characteristics that differentiate groups include:
Membership
Some groups are open, some are closed.
Interaction
Some groups are loosely coupled (salespeople with their own
territories)
Others work closely together (project team)
Characteristics of Groups (2)
Hierarchy
Location
Some members are co-located, some are dispersed
Time
Some groups have a chain of command (tiers of committees)
Some groups are short-lived, some are ongoing
Some group member works full time on the group's work,
other groups only require intermittent work
These characteristics illustrate that providing
computer-based support for groups is not
uniform
From inter-company groups to global teams
Community of Practice (2)
Three characteristics of CoPs are crucial
The domain
The community
An CoP has an identity defined by a shared domain of
interest.
CoP members engage in joint activities and discussions,
help each other, and share information
The practice
Members of a community of practice are practitioners.
They develop a shared repertoire of resources:
experiences, stories, tools, ways of addressing recurring
problems—in short a shared practice
Group Activities and Supporting Tech
Group activities
Communication and interaction
Decision making and problem solving
Communication: transmitting information from one person to
others
Interaction: back-and-forth communication over time
Group members reach a decision or form a consensus
Supporting tech
Communication: email, office systems
Collaboration: CSCW (Groupware)
Decision making: GDSS
The CSCW Matrix
Companies Want to Manage Knowledge (1)
Controversial views on knowledge
management
Knowledge can be captured in computer systems
Knowledge can not be captured in a machine, it
only exists inside a person’s head
Information VS. knowledge
Knowledge management is a misnomer
Knowledge cannot be managed, but only shared
The more people are connected, the more they exchange
ideas, the more their knowledge spreads and can thus be
leveraged
Companies Want to Manage Knowledge (2)
Tacit and explicit knowledge
Tacit knowledge exists within a person's mind and is
private and unique to each person
Explicit knowledge has been articulated, codified, and
made public
Effective knowledge management requires
transferring knowledge between these two
states
Nurturing, cultivating and harvesting knowledge
Knowledge management knowledge sharing
CoPs and Knowledge Management
Traditional knowledge management captures
only the most explicit forms of knowledge
Tacit knowledge is more related with day-to-day
activities and how work is done in practice
Communities are the critical building blocks of a
knowledge-based company
People, not processes, do the work
Learning is about work, work is about learning, and
both are social
Organizations are webs of participation