Có 42% - hienlth.weebly.comhienlth.weebly.com/uploads/1/6/9/3/16936172/ooad_c02.pdfRất nhiều...

20

Transcript of Có 42% - hienlth.weebly.comhienlth.weebly.com/uploads/1/6/9/3/16936172/ooad_c02.pdfRất nhiều...

Các dự án phần mềm:

Có 42% - 53% dự án bị hủy bỏ trước khi hoàn tất

Chỉ khoảng 30% dự án được đánh giá thành công

Rất nhiều trong số còn lại hoặc hoàn thành trễ hoặc

chi phí tăng cao

Có nhiều dự án thất bại thuộc về các tổ chức lớn.

Windows 1.0 và Windows 95 của tập đoàn Microsoft là 2

ví dụ về dự án trễ tiến độ

Chưa chắc càng nhiều người tham gia dự án phần mềm

thì tốc độ dự án sẽ càng tăng nhanh

3

Một công ty về bất động sản dự định nhờ 1 công ty phần mềm xây

dựng hệ thống quản lý dữ liệu đất đai. Trong bản kế hoạch dự án, công

ty phần mềm ước tính chi phí vào khoảng $800,000 và kéo dài trong

khoảng 8 tháng.

Dự án kéo dài đến 2 năm vì thời gian phân tích yêu cầu mất

khoảng 9 tháng thay vì theo dự định là 1.5 tháng. Công ty bất động sản

mở thêm 10 chi nhánh. Ba tuần sau đó, ban quản trị công ty phần mềm

quyết định hủy bỏ dự án. Tổng chi phí dự án là $2,000,000

Câu hỏi thảo luận nhóm (nhóm 4 người):

Tại sao dự án lại thất bại?

Tại sao công ty phần mềm chọn dự án nhưng rồi lại quyết định hủy

bỏ?

Điều gì cần phải làm để ngăn chặn thảm họa này?

4

Từ phía người dùng: “Vapourware”: phần mềm không tồn tại, chỉ tồn tại trên giấy tờ

“Dreadful to use”: phần mềm khó sử dụng bao gồm: giao diện không

phù hợp, những thông báo khó hiểu, không có hướng dẫn, thời gian

đáp ứng chậm, không đáng tin cậy

“Useless”: phần mềm không đáp ứng được nhu cầu sử dụng của

người dùng

Từ phía khách hàng: “Cost outweigh benefit”: chi phí vượt quá lợi nhuận

“Late delivery & everything’s changed”: hoàn tất dự án muộn

“Messy installation”: quá trình cài đặt phức tạp

Từ phía nhà phát triển: “Requirements always change”

“Not enough time & money”

“No experience in application domain”

5

6

Type of

failureReason for failure Comment

Quality

problems

• The wrong

problem

• Neglect of context

• Incorrect analysis

• The wrong reason

• System conflicts with business

stragegy

• Organization culture may be

ignored

• Team is poorly skilled

• Technology pull or political push

Productivity

problems

• Requirement drift

• External events

• Not feasible in

implementation

• Poor project

control

• Users change their minds

• New legislation

• May not be known until the project

has started

• Inexperienced project manager

Building an information system is similar to

building a house

Start with a basic idea (Planning)

Transform idea into a simple drawing that is

shown to the customer and refined (Analysis)

Design a set of blueprints that presents much

more detail information (Design)

Build the house following the blueprints

(Implementation)

7

Đây là công việc nền tảng nhằm trả lời câu hỏi tại sao phải

xây dựng hệ thống và sẽ xây dựng hệ thống như thế nào

Gồm 2 giai đoạn:

Project Initation (khởi động dự án): business value

business need system request (official) feasibility

analysis xét duyệt bởi IS approval committee

Project Management (lập kế hoạch dự án): Ban quản lý dự

án (project manager) sẽ tạo project plan bao gồm:

▪ kế hoạch làm việc (workplan)

▪ nhân sự

▪ 1 số công nghệ và yêu cầu cần thiết

8

Đây là công việc nhằm trả lời câu hỏi ai sẽ sử dụng hệ

thống, hệ thống sẽ làm gì, hệ thống sẽ sử dụng ở đâu

và khi nào. Gồm 3 bước:

Xây dựng chiến lược phân tích

Thu thập yêu cầu (requirement gathering) business

analysis model

Tạo system proposal (bao gồm system concept,

analysis model) đưa cho hội đồng (key maker) xét

duyệt

9

Đây là công việc nhằm trả lời câu hỏi hệ thống sẽ thực thi như thế nào ở mức độ phần cứng, phần mềm, kiến trúc mạng, giao diện màn hình, các form và report, CSDL, … Gồm có 5 bước:

Xây dựng chiến lược thiết kế

Architecture design

Interface design

Database and file specification

Program design Kết thúc công việc này là tạo ra bản system specification

phục vụ cho việc hiện thực hệ thống Quá trình feasibility analysis và project plan sẽ được xem lại

và kiểm tra

10

Đây là giai đoạn hệ thống được xây dựng và hiện thực.

Gồm 3 bước:

System contruction: build & test

Installation

Support plan

11

12

(Phương pháp phát triển phần mềm)

A methodology is a formalized approach to

implementing the SDLC (i.e., it is a list of steps

and deliverables)

Quá trình diễn ra tuần tự từ công việc này đến công việc kia

Ưu điểm: các quá trình diễn ra đòi hỏi các quá trình trước nó

phải hoàn thành 1 cách kỹ lưỡng

13

Nhằm thu hẹp thời gian thiết kế và hiện thực hệ thống sau khi

kết thúc quá trình phân tích bằng cách thực hiện công việc

thiết kế tổng quan rồi phân thành những dự án nhỏ và cuối

cùng là tổng hợp lại

14

Chia nhỏ thành nhiều phiên bản khác nhau. Mỗi phiên bản

được phát triển tuần tự.

15

• Phiên bản đầu sẽ

chứa những yêu

cầu cần thiết nhất.

• Các phiên bản tiếp

theo sẽ hoàn

thành các yêu cầu

còn lại

Công việc phân tích, thiết kế, hiện thực được thực hiện gần

như đồng thời để tạo ra System Prototype (chương trình mẫu)

dùng để demo cho người dùng.

Quá trình trên sẽ lặp đi lặp lại cho đến khi nào người dùng

đồng ý System Prototype. Nhóm phát triển sẽ hoàn thiện hệ

thống dựa trên System Prototype đồng ý đó.

16

Tương tự như phương pháp Prototyping

Tuy nhiên, nhóm phát triển sẽ xây dựng Design Prototype dùng để

demo những vấn đề cần làm sáng tỏ với người dùng. Khi các vấn đề

đã được làm rõ, nhóm phát triển sẽ sang công việc thiết kế và hiện

thực hệ thống thực

17

Nhóm phát triển luôn giao tiếp, tiếp nhận phản hồi từ phía

khách hàng, người dùng

Quá trình phân tích, thiết kế và hiện thực gần như diễn ra

đồng thời

18

Mỗi nhóm thảo luận và đánh dấu chéo (X) vào

những phương pháp mà nhóm cho là phù hợp

với trường hợp cụ thể đó

19

Structured RAD Agile

Waterfall Parallel Phased PrototypingThrowaway

PrototypingXP

User requirement

không rõ

Sử dụng công nghệ

mới

Độ phức tạp của hệ

thống lớn

Hệ thống đòi hỏi độ

tin cậy cao

Cần phát triển nhanh

Cần xác định thời

gian hoàn thành

20

StructuredRAD

(Rapid App Dev)Agile

Waterfall Parallel Phased PrototypingThrowaway

PrototypingXP

User requirement

không rõPoor Poor Good Excellent Excellent Excellent

Sử dụng công

nghệ mớiPoor Poor Good Poor Excellent Poor/Good

Độ phức tạp của

hệ thống lớnGood Good Good Poor Excellent Poor

Hệ thống đòi hỏi

độ tin cậy caoGood Good Good Poor Excellent Poor/Good

Cần phát triển

nhanhPoor Good Excellent Excellent Good Excellent

Cần xác định thời

gian hoàn thànhPoor Poor Excellent Excellent Good Good

(bảng chi mang tính chất tham khảo)

21