Các vấn đề đề cập đến trong chương này: Nhận dạng và mô tả các chức năng của hai loại phần mềm cơ bản; vai trò chính của hệ điều hành, tính năng của một số hệ điều hành thông dụng; làm thế nào mà các phần mềm ứng dụng hỗ trợ được cho cá nhân, nhóm, và các mục tiêu của doanh nghiệp; nhận dạng ba cách tiếp cận cơ bản để phát triển phần mềm ứng dụng, các ý kiến tán thành và phản đối.
CHƯƠNG Phần mềm Phần mềm hệ thống Và Phần mềm ứng dụng Các vấn đề đề cập đến chương nầy Nhận dạng mô tả chức hai loại phần mềm Vai trị hệ điều hành, tính số hệ điều hành thông dụng Làm mà phần mềm ứng dụng hỗ trợ cho cá nhân, nhóm, mục tiêu doanh nghiệp Nhận dạng ba cách tiếp cận để phát triển phần mềm ứng dụng, ý kiến tán thành phản đối Sơ lược phát triển ngơn ngữ lập trình, phân biệt năm giai đoạn phát triển ngơn ngữ lập trình Case study – Cơng ty điện tử Flextronic • Flextronic công ty đa quốc gia chuyên thiết kế, sản xuất giao hàng cho công ty khách hàng suốt hai mươi tám năm bốn lục địa Đầu nảo Flextronic nằm San Jose California Singapore • Cơng ty thiết lập mạng nhằm tạo dễ dàng hoạt động thị trường để cung cấp dịch vụ hàng đầu cho khách hàng mình, đồng thời kiểm sốt cách hiệu hoạt động công ty Case study – Cơng ty điện tử Flextronic • Flextronic ký hợp đồng chế tạo sản phẩm điện tử cho công ty khác, từ máy trò chới Xbox cho Microsoft đến điện thoại di động cho hãng Ecrison • Flextronic chuyên gia lỉnh vực mạng, viển thông, máy tính, tư vấn điện tử thiết bị y khoa Khách hàng cơng ty gồm CiscoSystem, Ecrison, Hewlet-Packard, Microsoft, Nokia Phillips Đối thủ Flextronics Solectron, SCI Systems, Celestica • Năm 2004 lợi nhuận công ty vượt 12 tỉ USD số công nhân viên vượt 70.00 người Case study – Cơng ty điện tử Flextronic • Do phải ký hợp đồng sản xuất, công ty cần số hoạt động đặt giá đấu thầu cho nhiều phận hợp đồng khách hàng Để xử lý trôi chãy hoạt động đấu thầu phức tạp, ban đầu Flextronics sử dụng gói phần mềm định giá trực tuyến có tên QuoteWin để định giá điện tử Khi sử dụng quen phần mềm, Flextronic đạt số kết ấn tượng, cơng ty định cài đặt cho tồn hệ thống để đơn giản hố hợp lý hố tiến trình đấu thầu, ngồi cịn tạo qn tồn thể phận Case study – Cơng ty điện tử Flextronic • Phần mềm QuoteWin giúp đơn giản hoá tiết kiệm thời cần thiết cho việc định giá cách truyền thông tin cho nhà cung cấp khách hàng qua mạng hoàn tất văn dự thầu, thực tế, thao tác nầy cần vài phút để thu thập liệu giá cho hợp đồng • Kết Flextronics rút ngắn thời gian trung bình để chuẩn bị cho việc định giá từ ba tuần lễ xuống hai tuần Hệ thống QuoteWin cịn trì độ xác cho liệu định giá công việc Case study – Cơng ty điện tử Flextronic Tính khả dụng liệu lưu trữ cộng với công cụ tạo báo cáo tiện dụng phần mềm cho phép nhà quản lý doanh nghiệp phân tích cách xuyên suốt công tác định giá theo phương pháp "what-if" Ghi phương pháp phân tích What-if (what-if analysis) Phương pháp phân tích "what-if" (cái xảy ra-nếu) cung cấp cho nhà kinh doanh cán chuyên nghiệp phương tiện hiệu để thăm dò tác dụng chiến lược khác nhau, ví dụ "Lợi nhuận nào, đầu tư thêm 10.000 USD vào cho quảng cáo, giả sử xu hướng trước đúng?" 1- Tổng quan phần mềm • Một chức quan trọng phần mềm thị cho phần cứng làm việc Như nói chương 1, phần mềm chương trình điều khiển phần cứng máy tính Chương trình máy tính chuỗi thị cho máy tính • Có hai loại phần mềm bản, phần mềm hệ thống (systems software) phần mềm ứng dụng (application software) 1- Phần mềm hệ thống phần mềm ứng dụng Phần mềm hệ thống Phần mềm hệ thống tập hợp nhiều chương trình thiết kế để kết hợp hoạt động chức phần cứng với chương trình khác hệ thống máy tính Mỗi gói phần mềm thiết kế riêng cho xử lý trung tâm (CPU) lớp phần cứng (class of hardware) mà thơi Có hai loại phần mềm hệ thống hệ điều hành phần mềm tiện ích hệ thống Phần mềm hệ thống Một số Hệ điều hành Windows Vista (64 bit), XP,2000 (32 bit) • Windows ME, 98, 95 (16 bit) 3.1,CE • DOS (MS-DOS, DR-DOS, PC-DOS) • Mac OS X • Unix (Solaris, FreeBSD, SCO UNIX) • Linux Tính chất Hệ điều hành • Palm OS •Mullti-User (Nhiều người sử dụng) • BeOS •Multi-Processing (Đa xử lý) •Multi-Tasking ( Đa nhiệm) •Real-Time (Chạy thời gian thực) Tập hợp cấu hình phần cứng gói phần mềm hệ thống gọi tảng hệ thống máy tính (computer system 10 platform) Biên dịch (Compiler) Lập trình viên viết chương trình nguồn (source code) ngơn ngữ cấp cao, chương trình nguồn nầy phải trải qua số bước trước trở thành chương trình khả thi (executable program) Bước biến đổi thị (instructions) thành mã đối tượng (object code) nhờ vào trình biên dịch (compiler) Bước cuối để tạo chương trình khả thi chuyển mã đối tượng sang cho trình liên kết (linker) Trình liên kết phối hợp đơn vị chương trình (module) gán trị thực cho ký hiệu (symbolic) để tạo mã máy (machine code) 46 Biên dịch (Compiler) 47 Phiên dịch (Interpreter) Trình phiên dịch dịch thị ngôn ngữ cấp cao sang dạng trung gian để chạy Trình phiên dịch có lợi chỗ chương trình khơng cần tốn thời gian biên dịch mà chạy chương trình Do trình phiên dịch đơi dùng phát triển chương trình, lập trình viên muốn thêm vào chương trình đoạn chương trình nhỏ muốn nhanh chóng chạy thử Ngơn ngữ sử dụng trình phiên dịch thường dùng để dạy học cho phép học viên tương tác với ngơn ngữ lúc lập trình 48 Chọn lựa ngơn ngữ lập trình ? Khi chọn lựa ngôn ngữ lập trình để dùng cho chương trình cụ thể tốt nên cân đối chức đặc trưng ngôn ngữ giá cả, kiểm soát mức độ phức tạp phát sinh - Hợp ngữ giúp điều khiển phần cứng, đạt tốc độ tối đa - Java có tính linh động, chạy nhiều hệ điều hành, nhiều phần cứng, dùng trường đại học, thiết bị cầm tay… - C## ngôn ngữ lập trình hướng đối tượng theo kiểu trực quan 3.49 © 2003 by Prentice Hall Lưu hành phần mềm phương hướng Do phần mềm phần quan trọng hệ thống máy tính ngày nay, nên vấn đề lỗi lập trình (bug), quyền, cập nhật hỗ trợ toàn cầu cho phần mềm quan tâm nhiều 3.50 © 2003 by Prentice Hall Lưu hành phần mềm phương hướng Lỗi lập trình – Software bugs •Lỗi lập trình khiếm khuyết chương trình máy tính làm cho chương trình, hệ thống chạy bị lỗi, cho kết sai đổ so với dự kiến •Các nhà cung cấp máy tính phần mềm cho người thiết kế lập trình cho phần cứng, phần mềm nên lỗi lập trình khơng thể tránh khỏi, 1000 dịng lệnh có từ đến 15 lỗi •Hầu hết lỗi lập trình ngày có nhiều phiên phần mềm công ty sản xuất tung sớm tối đa thay chờ cho tất lỗi lập trình xác định gở bỏ phiên củ 3.51 © 2003 by Prentice Hall Lưu hành phần mềm phương hướng Tác hại lỗi lập trình gây Hãng máy tính Toshiba gây lỗi phần mềm Bios phiên 1.7 đời máy tính xách tay 5005 Satellite làm cho xử lý Pentium III 1.1 GHz chạy chậm phải xử lý tính toán nặng Hay lỗi lập trình khiến cho hàng nghìn thuê bao điện thoại hảng Bell Canada Millenium Ontario Quebec gọi miển phí sáu ngày Hãng điện thoại tiếng Nhật NTT DoCoMo dã phải ngừng bán thu hồi gần 420.000 thiết bị truy cập Internet cầm tay "i-mode" kiểu SO503i lỗi phần mềm 3.52 © 2003 by Prentice Hall Lưu hành phần mềm phương hướng Giãm thiểu ảnh hưởng lỗi lập trình gây Đăng ký phần mềm với nhà sản xuất để nhận cảnh báo lỗi, sửa lỗi Đọc kỷ hướng dẫn sử dụng phần mềm Truy cập phần hỗ trợ khách hàng trang Web nhà sản xuất để tải sửa lỗi Cài đặt cập nhật phần mềm Trước báo lỗi cho nhà sản xuất, bạn chắn tái tạo lại tình gây lỗi Khi xác định chắn tình bị lỗi phần mềm, gọi điện thoại hay báo lỗi cho nhà sản xuất Không mua phần mềm vòng n ăm kể từ phát hành, chờ lỗi phần mềm phát sửa lỗi 3.53 © 2003 by Prentice Hall Phần mềm mã nguồn mở Open source software •Phần mềm mã nguồn mỡ phần mềm cung cấp miển phí, dạng mà dễ dàng sửa đổi theo ý Người dùng tải mã nguồn tự xây dựng phần mềm riêng mình, người phát triển phần mềm tạo phiên khả thi (executable versions) từ mã nguồn nầy •Phần mềm mã nguồn mỡ tạo từ hợp tác nhà lập trình dùng Internet để liên lạc, hợp tác với nhằm chống lại thống trị hãng phần mềm lớn •Các gói phần mềm mã nguồn m thụng dng: Linux, Apache, Sendmail, Perl ã 3.54 â 2003 by Prentice Hall Phần mềm mã nguồn mở Tại dùng phần mềm mã nguồn mỡ Phần mềm mã nguồn mỡ thường đáng tin cậy phần mềm thương mại Việc giải lỗi thực vòng vài kể từ lúc phát Với mã nguồn mỡ hàng nghìn người truy cập sử dụng, hội khám phá giải lỗi trước lỗi gây tác hại lớn nhiều gói phần mềm truyền thống Người dùng phần mềm mã nguồn mỡ thơng dụng có câu trả lời cho vấn đề vòng vài gởi yêu cầu trợ giúp kỹ thuật diễn đàn (forum) thích hợp 3.55 © 2003 by Prentice Hall Phần mềm mã nguồn mở Hỗ trợ cho người dùng phần mềm mã nguồn mỡ •Do cộng đồng sử dụng phần mềm mã nguồn mỡ hoạt động Internet, nên bạn phải lên Internet để tìm kiếm trợ giúp •Bạn vào trang trao đổi kiến thức cộng đồng sử dụng phần mềm liên hệ với người dùng khác để yêu cầu giúp giải trở ngại •Một cách khác để có trợ giúp gởi u cầu đến cơng ty có dịch vụ hỗ trợ phần mềm nầy Red Hat hỗ trợ Linux, C2Net hỗ trợ Apache, công ty Sendmail hỗ trợ phần mềm Sendmail… Các công ty nầy cung cấp hỗ trợ với chất l ượng cao có thu phí 3.56 © 2003 by Prentice Hall Phần mềm mã nguồn mở Chống độc quyền phần mềm Pháp luật số nước có biện pháp giới hạn lạm dụng độc quyền Một luật quan trọng áp đặt cho công ty Mỹ luật chống độc quyền tư pháp Mỹ số tiểu bang áp dụng cho Microsoft Luật pháp Mỹ buộc Microsof phải công bố thông tin kỹ thuật hệ điều hành Windows, phải mềm dẽo nhà sản xuất máy tính PC có quyền định cài đặt hệ điều hành phần tự chọn vào máy tính sản xuất Các cơng ty AOL, Netscape, InterTrust technologies kiện Microsoft vi phạm quyền Qua kiện tụng trên, cho thấy đối thủ phần mềm sử dụng hoạt động luật pháp chiến lược cạnh tranh 3.57 © 2003 by Prentice Hall Phần mềm mã nguồn mở Bản quyền phần mềm Thông thường, công ty sản xuất phần mềm muốn đăng ký quyền cho phần mềm để chốt lại lợi nhuận, hay để khuyến khích khách hàng sử dụng phiên phần mềm nhằm giảm thiểu hỗ trợ cho sản phẩm lỗi thời Có nhiều loại quyền phục vụ cho mục tiêu nầy - Bản quyền vào mức độ sử dụng (Usage-based License) - Bản quyền khả xử lý máy tính (Capacitybased License) - Bản quyền đăng ký (Subscription Licensing) 3.58 © 2003 by Prentice Hall Nâng cấp phần mềm Các công ty phần mềm thường định kỳ duyệt lại chương trình tung thị trường phiên Đơi phiên nầy cung cấp cho người dùng nhiều tính tăng cường có giá trị, có phần mềm phiên dùng mã nguồn phức tạp lại cung cấp tính tăng cường hữu dụng Ngồi ra, phần mềm nâng cấp có nhiều lỗi lập trình Thay đổi nâng cấp phần mềm làm cho công ty hay tổ chức phải đầu tư nhiều tiền Giải pháp nên mua phần mềm nầy thật có tính quan trọng Thông thường cần nâng cấp sửa lỗi tăng cường phiên củ phí tổn cho việc nâng cấp rẽ mua nhiều 59 Kết luận Kết nối thành công chức doanh nghiệp có nghĩa phải có nhu cầu doanh nghiệp trước, cơng nghệ đáp ứng nhu cầu nầy sau Sử dụng phần mềm cần cân nhắc định hình lại để phản ánh thực tế nầy Tuy nhiên cố gắng thực phần mềm hỗ trợ hoạch định doanh nghiệp việc lớn lao khó khăn, đường dẫn đến thành cơng có nhiều may rủi 60 ... tính • Có hai loại phần mềm bản, phần mềm hệ thống (systems software) phần mềm ứng dụng (application software) 1- Phần mềm hệ thống phần mềm ứng dụng Phần mềm hệ thống Phần mềm hệ thống tập hợp nhiều... Backup MyPC Các phần mềm tiện ích viết để chạy hệ điều hành định đó, hoạt động khơng hệ điều hành khác 26 1- Phần mềm hệ thống phần mềm ứng dụng Phần mềm ứng dụng Phần mềm ứng dụng gồm ch ương... dụng – Phần mềm ứng dụng nhóm Phần mềm ứng dụng nhóm phần mềm giúp hay nhiều nhóm người làm việc chung với hiệu Loại phần mềm nầy cịn có tên gọi khác đầy đủ ý nghỉa "Phần mềm Cộng tác tin học"