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