53
1 TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN

1 gioi thieu httt

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 1 gioi thieu httt

11

T NG QUAN V H Ổ Ề ỆTH NG THÔNG TINỐ

Page 2: 1 gioi thieu httt

22

T NG QUAN V H TH NG THÔNG TINỔ Ề Ệ Ố Khái niệm cơ bản về hệ thống (System) Tổ chức (Organization) Dữ liệu (Data) và thông tin (information) Thông tin và các mức ra quyết định quản lý

(Management decision making) Định nghĩa hệ thống thông tin (Information

Systems) Phân loạI IS

Các IS phân loại theo mức quản lý tổ chức.

Page 3: 1 gioi thieu httt

33

System A

Subsystem B

SubsystemC

SubsystemE

SubsystemD

BoundaryInterface

Environment of System A

Khái ni m c b n v h th ngệ ơ ả ề ệ ố

"Một hệ thống là một tập hợp các thành phần liên quan với nhau và phối hợp hoạt động cùng với nhau nhằm đạt được một mục tiêu cụ thể" (Lee)

Page 4: 1 gioi thieu httt

44

T ch c (Organization)ổ ứ Tổ chức là một hệ thống

Tổ chức kinh tế: xí nghiệp, công ty, … Tổ chức xã hội: bệnh viện, câu lạc bộ, …

Sales

IT

HRIPurchasing

TrainingMôi trường hoạt động của tổ chức

Page 5: 1 gioi thieu httt

55

D li u và thông tinữ ệ Dữ liệu (data):

"Data is the raw input from which information is provided” (Lucey) Là các dữ kiện, các sự kiện, các giao dịch thô, rời rạc, ...

Thông tin (information):“Information is data that have been processed in such a way as to

be useful to the recipient.” (Lucey)

Thông tin là tài nguyên của tổ chức, và có vai trò quan trọng quyết định sự thành công của tổ chức. Thông tin được tạo ra và truy xuất ngày càng tăng Yêu cầu quản lý thông tin hiệu quả. Xử lý để tạo ra các thông tin mới có giá trị hơn

Page 6: 1 gioi thieu httt

66

Information Systems (IS) Một hệ thống thông tin:

Là các phương tiện có thể nhận dữ liệu (input), lưu trữ và xử lý dữ liệu, để tạo ra thông tin (output) cho mục đích hỗ trợ ra quyết định.

Có thể xử lý bằng tay hoặc máy tính.

Hệ thống thông tin của tổ chức gồm: Một cơ sở thông tin (information base) mà bao gồm

một hay nhiều nguồn thông tin khác; Một tập các xử lý mà được thực hiện bởi người hay

máy để truy xuất, cập nhập và xử lý thông tin. Ví dụ: Một hệ thống thư viện có cơ sở thông tin là

sách, loại sách, …; các xử lý là tìm, mượn, trả sách, …

Page 7: 1 gioi thieu httt

77

H th ng thông tin t đ ng hóa ệ ố ự ộ Hệ thống thông tin tự động hóa (Computerized

Information Systems) bao gồm: Một hay nhiều cơ sở dữ liệu (databases) hay tập tin

(files) lưu trữ cở sở thông tin. Một hay nhiều chương trình ứng dụng (Application

programs) để truy xuất và cập nhật cơ sở thông tin bằng máy tính.

Một hay nhiều giao diện người dùng (user interface) cho các nhóm người dùng khác nhau.

Computerized Information System = Databases + Applications + Interfaces

Page 8: 1 gioi thieu httt

88

Thông tin cần thiết cho doanh nghiệp và giúp ra quyết định ở nhiều mức quản lý khác nhau trong tổ chức

Anthony’s Pyramid: cấu trúc quản lý của tổ chức

Operational

Tactical

Strategic

Large time horizon

Small time horizon

Summary data

Detail data

Unstructured problems

Structured problems

Thông tin và các c p qu n lýấ ả

Page 9: 1 gioi thieu httt

99

Transaction Processing Systems

BankingSystems EPOS Systems

Healthcare Systems

Insurance SystemsLeisure Industry

Page 10: 1 gioi thieu httt

1010

Real-Time Systems

Automated Production Control

Control Systems

Security Systems

Page 11: 1 gioi thieu httt

1111

Management Information Systems

0

10

20

30

40

50

60

70

80

90

1st Qtr 2nd Qtr 3rd Qtr 4th Qtr

East

West

North

Decision Support Systems

OfficeAutomationSystems

Knowledge Based Systems

Executive Information Systems

Page 12: 1 gioi thieu httt

12

Best Practices of Software Engineering

Page 13: 1 gioi thieu httt

13

Objectives: Best Practices Identify symptoms of software development

problems. Explain the Best Practices. Present the Rational Unified Process (RUP)

within the context of the Best Practices.

Page 14: 1 gioi thieu httt

1414

M c đích c a công ngh ph n m mụ ủ ệ ầ ề Nhằm tạo ra sản phẩm phần mềm có chất lượng

Với ít nỗ lực (tiến trình phát triển dễ dàng) Với ít chi phí và thời gian

Chất lượng phần mềm (Quality Software) bao gồm: Tính đáng tin cậy (Reliable) Tính dễ dùng (Reusable) Tinh tế (Robust): có các chức năng hiệu quả Dễ bảo trì (Maintainable) Tính Hiệu quả (Efficient) Thân thiện người dùng (Userfriendly) …

Page 15: 1 gioi thieu httt

1515

B n ch t vi c phát tri n ph n m mả ấ ệ ể ầ ề Phần mềm là sản phẩm của hoạt động phát triển một

cách sáng tạo của các “nghệ sĩ lành nghề” Phần mềm được phát triển, chứ không phải sản xuất. Ngay cả với công nghệ thành phần (Component technology),

phần mềm được xây dựng bằng cách lắp ghép các thành phần thì xử lý lắp ghép này cũng là nghệ thuật.

Cho bất kỳ hệ thống nào, luôn cần phải tạo ra một mô hình quan niệm của giải pháp cuối cùng thỏa mãn các yêu cầu của khách hàng. Đó là kết quả của nhiệm vụ phân tích yêu cầu và thiết kế hệ

thống. Độc lập với cài đặt.

Page 16: 1 gioi thieu httt

1616

Con ng i liên quan (Stakeholders)ườ Khách hàng (Customers): Users và System owners

Các nguyên nhân dẫn đến thất bại của dự án phần mềm liên quan đến khách hàng:

Yêu cầu khách hàng bị hiểu sai và hay thu thập không đầy đủ

Yêu cầu khách hàng thay đổi quá thường xuyên. Khách hàng không giao đầy đủ các tài nguyên cho dự án. Khách hàng không hợp tác với người phát triển. Mong đợi không thực tế của khách hàng. Khách hàng không cần đến hệ thống nữa.

Người phát triển (Developers): Analysts, Designers, Programmers “Thiết kế tốt được tạo từ những nhà thiết kế tốt”

Page 17: 1 gioi thieu httt

17

Symptoms of Software Development Problems

User or business needs not met Requirements not addressed Modules not integrating Difficulties with maintenance Late discovery of flaws Poor quality of end-user experience Poor performance under load No coordinated team effort Build-and-release issues

Page 18: 1 gioi thieu httt

18

Trace Symptoms to Root Causes

Needs not met

Requirements churn

Modules don’t fit

Hard to maintain

Late discovery

Poor quality

Poor performance

Colliding developers

Build-and-release

Insufficient requirements

Ambiguous communications

Brittle architectures

Overwhelming complexity

Undetected inconsistencies

Poor testing

Subjective assessment

Waterfall development

Uncontrolled change

Insufficient automation

Symptoms Root Causes Best Practices

Ambiguous communications

Undetected inconsistencies

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Model Visually (UML)

Continuously Verify Quality

Modules do not fit

Page 19: 1 gioi thieu httt

19

Best Practices Reinforce Each Other

Best PracticesBest Practices

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Validates architectural decisions early on

Addresses complexity of design/implementation incrementally

Measures quality early and often

Evolves baselines incrementally

Ensures users are involved as requirements evolve

Page 20: 1 gioi thieu httt

20

Practice 1: Develop Iteratively

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 21: 1 gioi thieu httt

21

Waterfall Development Characteristics Delays confirmation of

critical risk resolution. Measures progress by

assessing work-products that are poor predictors of time-to-completion.

Delays and aggregates integration and testing.

Precludes early deployment.

Frequently results in major unplanned iterations.

Code and Test

Design

Subsystem Integration

System Test

Waterfall Process

Requirements

Analysis

Planning

Page 22: 1 gioi thieu httt

22

Iterative Development Characteristics Resolves major risks before making large investments. Enables early user feedback. Makes testing and integration continuous. Focuses project short-term objective milestones. Makes possible deployment of partial implementations.

T I M ET I M E

Iteration 1 Iteration 2 Iteration 3 P

RD

CI

T

PR

DC

IT

PR

DC

IT

Page 23: 1 gioi thieu httt

23

Develop Iteratively Iterative development produces an executable

1. InitialPlanning

2. Planning

3. Requirements4. Analysis & Design

5. Implementation

7. Deployment

6. Test

8. Evaluation

ManagementEnvironment

(on-going)

Each iteration results in an executable release

Page 24: 1 gioi thieu httt

24

Risk Profiles

TimeTime

Ris

k

Waterfall Risk

Iterative Risk

Risk ReductionRisk Reduction

Page 25: 1 gioi thieu httt

25

Practice 2: Manage Requirements

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 26: 1 gioi thieu httt

26

Managing Requirements Ensures that you

solve the right problem build the right system

by taking a systematic approach to Understanding the problem. Eliciting, organizing, and documenting

the requirements. Managing the changing requirements of a

software application.

Page 27: 1 gioi thieu httt

27

Practice 3: Use Component Architectures

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityManage Change

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityManage Change

Page 28: 1 gioi thieu httt

28

Use Component Architectures Software architecture needs to be:

Component-based Resilient Reuse or customize

components Select from commercially

available components Evolve existing software

incrementally

Meets current and future requirements

Improves extensibility Enables reuse Encapsulates system

dependencies

Page 29: 1 gioi thieu httt

29

Purpose of a Component-Based Architecture Basis for reuse

Component Architecture

Basis for project management Planning Staffing Delivery

Intellectual control Manage complexity Maintain integrity System-

software

Middleware

Business-specific

Application-specific

Component-based architecture with

layers

Page 30: 1 gioi thieu httt

30

Practice 4: Model Visually (UML)

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 31: 1 gioi thieu httt

31

Model Visually (UML) Captures structure and behavior Shows how system elements fit together Keeps design and implementation consistent Hides or exposes details as appropriate Promotes unambiguous communication

The UML provides one language for all practitioners.

Page 32: 1 gioi thieu httt

32

Visual Modeling with the Unified Modeling Language

Dynamic Diagrams

Multiple viewsPrecise syntax and semantics

ActivityDiagrams

Models

Static Diagrams

SequenceDiagrams

CommunicationDiagrams

State MachineDiagrams

DeploymentDiagrams

ComponentDiagrams

ObjectDiagrams

ClassDiagramsUse-Case

Diagrams

Page 33: 1 gioi thieu httt

3333

Activity Diagram – L c đ ho t đ ng ượ ồ ạ ộ Activity diagrams được dùng để miêu tả dòng công việc Ví dụ: Một lược đồ hoạt động trình bày một quy trình

nghiệp vụ đơn giản để xuất hóa đơn và thanh toán

Print Invoice

Send Invoice

Wait For Payment

Process Payment

Page 34: 1 gioi thieu httt

3434

Use Case Diagram

Use Case

Actor

Use Case Diagram

B

<<extend>>

A

<<include>>

a1

Generalization

Page 35: 1 gioi thieu httt

3535

Class Diagram

Personal Customer

creditCard#

Customer

name

address

creditRating()

{if Order.customer.creditRating

is "poor" then

Order.isPrepaid

must be true}

Employee

Corporate Customer

contactName

creditRating

creditLimit

remind()

billForMonth()

0..1

0..n

0..1

0..n

sales rep

Order

dateReceived

isPrepaid

number : String

price : Money

dispatch()

close()

10..n 10..n

Product

Order Line

quantity : Integer

price : Money

isSatisfied : Boolean

1..n

1

1..n

1

10..n 10..n

Page 36: 1 gioi thieu httt

3636

Sequence Diagram – L c đ tu n tượ ồ ầ ựOrder Entry

windowOrder Order Line Stock Item Reorder Item Delivery Item

prepare()

*prepare()hasStock:=check()

[hasStock]remove()

needsReorder:=needsToReorder()

[needsReorder]new

[hasStock] new

X

Page 37: 1 gioi thieu httt

3737

Collaboration Diagram – L c đ c ng tácượ ồ ộ

aReorderItem : Reorder Item

:Order Entry Window

anOrder : Order

anOrderLine : Order Line

aDeliveryItem : Delivery Item

aStockItem : Stock Item

5: needsReorder := needToReorder()

1: prepare()

2: *[for all order lines]: prepare()

7: [hasStock]: new

3: hasStock := check

4: [hasStock]: remove()

6: [needsReorder]:new

Page 38: 1 gioi thieu httt

3838

Statechart Diagram – L c đ tr ng tháiượ ồ ạ

Cancelled

[All items checked &&all items available]

Delivered

[All items checked && some items not in stock]

Item received[Some items not in stock]

Item received[all items available]

Cancelled

Checking

do/ check item

Waiting

Dispatching

do/ initiate delivery

Cancelled

[Not all items checked/get next item

Page 39: 1 gioi thieu httt

3939

Component Diagram – L c đ thành ph nượ ồ ầ Lược đồ thành phần trình bày hệ thống được tổ chức

thành các thành phần cộng tác với nhau như thế nào; Các thành phần được xây dựng từ các đối tượng

Call Centre Interface

Order Management

Customer Management

Database Management

Page 40: 1 gioi thieu httt

40

Practice 5: Continuously Verify Quality

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 41: 1 gioi thieu httt

41

Continuously Verify Quality

CostCost

TransitionConstructionElaborationInception

Cost to Repair Software Cost of Lost Opportunities Cost of Lost Customers

Software problems are100 to 1000 times more costly

to find and repair after deployment

Page 42: 1 gioi thieu httt

42

Test Dimensions of Quality

ReliabilityReliabilityTest the application Test the application for consistent and for consistent and predictable behavior.predictable behavior.

PerformancePerformanceTest online response Test online response

under average and under average and peak loading.peak loading.

FunctionalityFunctionalityTest the accurate Test the accurate workings of each workings of each usage scenario.usage scenario.

UsabilityUsabilityTest the application Test the application

from the from the perspective of perspective of convenience to convenience to

end-user.end-user.

SupportabilitySupportabilityTest the ability to Test the ability to

maintain and support maintain and support the application under the application under

production use.production use.

Page 43: 1 gioi thieu httt

43

UML Model and

Implementation

Tests

Iteration 1Iteration 1

Test Suite 1Test Suite 1

Iteration 2Iteration 2

Test Suite 2Test Suite 2

Iteration 3Iteration 3

Test Suite 3Test Suite 3

Test Each Iteration

Test Suite 4Test Suite 4

Iteration 4Iteration 4

Page 44: 1 gioi thieu httt

44

Practice 6: Manage Change

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Develop IterativelyManage Requirements

Use Component Architectures

Model Visually (UML)Continuously Verify Quality

Manage Change

Page 45: 1 gioi thieu httt

45

Change requests come from many sources throughout the product lifecycle.

Change Request Management Concepts

Help DeskUser input

Coders inputTesters input

Customer andUser input

Marketing

New Feature

NewRequirement

Bug

ApprovedDecisionProcessChange

Control Board(CCB)

Single Channel for Approval

ChangeRequest (CR)

Reqt

Design

Code

Test

Maint

Weinberg, ‘95

Page 46: 1 gioi thieu httt

46

WorkspaceManagement

Process Integration

Parallel Development

Build Management

Configuration Management is more than just check-in and check-out

Manage Change To avoid confusion, have:

Secure workspaces for each developer Automated integration/build management Parallel development

Page 47: 1 gioi thieu httt

47

Manage Change (continued) Unified Change Management (UCM) involves:

Management across the lifecycle System Project management

Activity-based management Tasks Defects Enhancements

Progress tracking Charts Reports

Page 48: 1 gioi thieu httt

48

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Manage Change

Rational Unified Process Implements Best Practices

Best PracticesProcess Made Practical

Page 49: 1 gioi thieu httt

49

Achieving Best Practices Iterative approach Guidance for

activities and artifacts

Process focus on architecture

Use cases that drive design and implementation

Models that abstract the system

Page 50: 1 gioi thieu httt

50

A Team-Based Definition of Process

A process defines Who is doing What, When, and How, in order to reach a certain goal.

New or changed

requirements

New or changed

system

Software EngineeringProcess

Page 51: 1 gioi thieu httt

51

Process Structure - Lifecycle Phases The Rational Unified Process has four phases:

Inception – Define the scope of the project Elaboration – Plan the project; specify features and

baseline architecture Construction – Build the product Transition – Transition the product into the end-user

community

Inception Elaboration Construction Transition

Time

Page 52: 1 gioi thieu httt

52

Bringing It All Together: The Iterative Approach

Disciplines group activities logically.

In an iteration, you walk through all disciplines.

Page 53: 1 gioi thieu httt

53

Summary Best Practices guide software engineering by

addressing root causes. Best Practices reinforce each other. Process guides a team on who does what,

when, and how. The Rational Unified Process is a means of

achieving Best Practices.