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.
Trang 1Phần mềm
Trang 2Cá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.
Sơ lược về sự phát triển của ngôn ngữ lập trình, và phân biệt năm giai đoạn phát triển ngôn ngữ lập trình
Trang 3Case study – Công ty điện tử Flextronic
• Flextronic là một công ty đa quốc gia chuyên thiết
kế, sản xuất và giao hàng cho các công ty khách hàng trong suốt hai mươi tám năm tại bốn lục địa Đầu nảo của Flextronic nằm tại San Jose California và Singapore
• Công ty đã thiết lập mạng nhằm tạo sự dễ dàng hoạt động trong thị trường để cung cấp các dịch vụ hàng đầu cho khách hàng của mình, đồng thời kiểm soát một cách hiệu quả các hoạt động của công ty
Trang 4Case study – Công ty điện tử Flextronic
• Flextronic ký hợp đồng chế tạo mọi sản phẩm điện tử cho các 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 là chuyên gia trong các lỉnh vực mạng, viển
thông, máy tính, tư vấn điện tử và thiết bị y khoa Khách hàng chính của công ty gồm CiscoSystem, Ecrison, Hewlet-Packard, Microsoft, Nokia và Phillips Đối thủ chính của Flextronics là Solectron, SCI Systems, và Celestica
• Năm 2004 lợi nhuận của công ty vượt quá 12 tỉ USD và số công nhân viên vượt quá 70.00 người.
Trang 5Case study – Công ty điện tử Flextronic
• Do phải ký hợp đồng sản xuất, công ty cần một số các hoạt động đặt giá và đấu thầu cho nhiều bộ phận của một hợp đồng khách hàng Để xử lý trôi chãy các 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 là QuoteWin để định giá bằng điện tử Khi đã sử dụng quen phần mềm, Flextronic đạt được một số kết quả rất ấn tượng , vì vậy công ty quyết định cài đặt cho toàn hệ thống để đơn giản hoá và hợp lý hoá tiến trình đấu thầu, ngoài ra còn tạo được sự nhất quán trong toàn thể các bộ phận của mình
Trang 6Case study – Công ty điện tử Flextronic
• Phần mềm QuoteWin giúp đơn giản hoá và tiết kiệm được thời giờ cần thiết cho việc định giá bằng cách truyền thông tin cho nhà cung cấp và khách hàng qua mạng khi hoàn tất các văn bản dự thầu, trong thực tế, thao tác nầy chỉ cần vài phút để thu thập dữ liệu về giá cả cho hợp đồng
• Kết quả là Flextronics đã rút ngắn được thời gian trung bình để chuẩn bị cho việc định giá từ ba tuần lễ xuống còn hai tuần Hệ thống QuoteWin còn duy trì được độ chính xác cho dữ liệu định giá đối với từng công việc
Trang 7Case study – Công ty điện tử Flextronic
Tính khả dụng của dữ liệu lưu trữ cộng với các công cụ tạo báo cáo tiện dụng trong phần mềm cho phép các nhà quản lý doanh nghiệp phân tích một cách xuyên suốt mỗi công tác định giá theo phương pháp "what-if".
Ghi chú về 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 gì sẽ xảy ra-nếu) cung cấp cho các nhà kinh doanh và các cán bộ chuyên nghiệp một phương tiện rất hiệu quả để thăm dò tác dụng của những chiến lược khác nhau, ví dụ "Lợi nhuận sẽ như thế nào, nếu đầu tư thêm 10.000 USD vào cho quảng cáo, giả sử các xu hướng trước đây vẫn còn đúng?".
Trang 8• Có hai loại phần mềm cơ bản, đó là phần mềm hệ thống (systems software) và phần mềm ứng dụng (application software).
Trang 9Mỗi gói phần mềm được thiết kế riêng cho một bộ xử lý trung tâm (CPU) và một lớp phần cứng (class of hardware)
mà thôi.
Có hai loại phần mềm hệ thống là hệ điều hành và phần mềm tiện ích hệ thống
Trang 10Phần mềm hệ thống
Một số các 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)
Tính chất của Hệ điều hành
•Mullti-User (Nhiều người sử dụng)
•Multi-Processing (Đa xử lý)
•Multi-Tasking ( Đa nhiệm)
•Real-Time (Chạy trong thời gian thực)
Trang 11Các chức năng của hệ điều hành
Hệ điều hành giử vai trò trung tâm trong toàn bộ các hoạt động của hệ thống máy tính Sau khi máy tính khởi động ,các bộ phận của hệ
điều hành cần thiết được tải vào bộ nhớ Hệ điều hành thực hiện các chức năng sau:
Thực hiện các chức năng tổng quát của phần cứng
Cung cấp giao diện giữa chương trình với người dùng
Cung cấp các mức độ độc lập của phần cứng
Quản lý bộ nhớ
Cung cấp khả năng xử lý
Cung cấp khả năng nối mạng
Điều khiển truy cập các tài nguyên của hệ thống
Quản lý tập tin, thư mục
Trang 12Chức năng của hệ điều hành
Thực hiện chức năng tổng quát phần cứng
Mọi chương trình ứng dụng đều phải thực hiện một số công việc được định trước, chẳng hạn như :
Nhận dữ liệu nhập từ bàn phím hay từ các thiết bị nhập khác
Truy xuất dữ liệu từ đĩa
Lưu trữ dữ liệu vào đĩa
In dữ liệu ra máy in hay hiển thị ra màn hình…
Mỗi chức năng trong số các công việc cơ bản trên đều cần nhiều tập chỉ thị chi tiết để hoàn tất
Hệ điều hành biến đổi các chỉ thị đơn giản thành ra các tập hợp chỉ thị cần dùng cho phần cứng Hệ điều hành tác động như là trung gian giữa chương trình ứng dụng và phần cứng
Trang 13Chức năng của hệ điều hành
Giao diện với người dùng
Một trong những chức năng quan trọng nhất của bất kỳ hệ điều hành nào là cung cấp giao diện với người sử dụng Giao diện với người dùng cho phép các cá nhân truy cập và ra lệnh vào hệ thống máy tính.
Giao diện theo chế độ dòng lệnh (Command line)
Trong giao diện theo chế độ dòng lệnh, máy tính cần được cung cấp lệnh ở dạng dòng văn bản để thực hiện các hoạt động cơ bản.
Ví dụ: RENAME C:\DONHANG.TXT DATHANG.TXT
Giao diện theo chế độ đồ hoạ (graphical user interface)
Giao diện theo chế độ đồ hoạ dùng các hình ảnh (thường gọi là biểu tượng, icons) và trình đơn (menu) hiển thị trên màn hình để gởi các lệnh cần thi hành đến hệ thống máy tính
Trang 14Chức năng của hệ điều hành
Giao diện với người dùng
Chương trình ứng dụng chạy trên một hệ điều hành bằng cách gởi các yêu cầu đến hệ điều hành thông qua giao diện lập trình ứng dụng (API- Application Program Interface) Lập trình viên có thể dùng APIs để tạo ra các phần mềm ứng dụng mà không cần phải hiểu biết bên trong hệ điều hành hoạt động ra sao.
Giả sử một hãng sản xuất máy tính thiết kế một phần cứng mới chạy nhanh hơn máy có phần cứng củ Nếu máy mới nầy cài cùng
hệ điều hành với máy củ, và hệ điều hành nầy được thiết kế để chạy được trên phần cứng mới, thì phần mềm ứng dụng sẽ chạy trên phần cứng mới mà không cần thay đổi gì cả, hay thay đổi rất
ít Nếu không có APIs, thì lập trình viên sẽ phải viết lại toàn bộ chương trình ứng dụng để có được ưu điểm của phần cứng mới là chạy nhanh hơn.
Trang 15Chức năng của hệ điều hành Quản lý bộ nhớ
Mục đích của việc quản lý bộ nhớ là kiểm soát truy cập bộ nhớ và tối
ưu hoá bộ nhớ hửu dụng Một số hệ điều hành có tính năng quản lý
bộ nhớ để giúp máy tính chạy các chương trình ứng dụng nhanh hơn
và hiệu quả hơn.
Chương trình quản lý bộ nhớ biến đổi các yêu cầu dữ liệu và lệnh của người dùng sang thành các vị trí vật lý, nơi chứa dữ liệu và chỉ thị Máy tính chỉ hiểu được dữ liệu dưới dạng thức vật lý, nghĩa là vị trí của dữ liệu trong bộ nhớ hay trong đĩa, và kỹ thuật cần để truy cập dữ liệu nầy
Tính năng quản lý bộ nhớ của các hệ điều hành hiện nay rất cần để bảo đảm cung cấp nhiều vùng trong bộ nhớ nhất cho các chương trình ứng dụng mà không động chạm đến các chức năng quan trọng khác của hệ điều hành, hay động chạm đến các chương trình khác.
Trang 16Chức năng của hệ điều hành Các kiểu xử lý
Quản lý mọi hoạt động xử lý là một tính năng của chương trình quản lý tác vụ (task management) trong các hệ điều hành hiện nay Chương trình quản lý tác vụ cấp phát các tài nguyên trên máy tính để bảo đảm các tài nguyên nầy được sử dụng tốt nhất
Chế độ chạy đa nhiệm (multitasking)
Chạy theo chế độ đa nhiệm nghĩa là cho phép một người dùng trên máy tính chạy cùng lúc nhiều chương trình ứng dụng hoặc chạy nền
Chia sẻ thời gian (Time-sharing)
Chia sẻ thời gian cho phép nhiều người dùng một hệ thống máy tính trong cùng một thời điểm
Trang 17Chức năng của hệ điều hành Khả năng mạng
Hệ điều hành còn cung cấp cho người dùng các tính năng và khả năng giúp người dùng kết nối với mạng máy tính
Ví dụ như người dùng máy tính Apple có thể truy cập mạng nhờ vào tính năng Apple share được cài sẳn,
Hay người dùng hệ điều hành Microsoft Windows được cung cấp sẳn khả năng truy cập mạng Internet.
Trang 18Hệ điều hành dành cho máy tính cá nhân
Các hệ điều hành cho máy tính cá nhân trước đây rất cơ bản
Tuy nhiên, trong vài năm sau nầy người ta đã phát triển nhiều hệ điều hành cao cấp, các hệ điều hành nầy đã đưa vào các tính năng mà trước đây chỉ có trong các hệ điều hành trên máy lớn.
Trang 20Hệ điều hành Linux
Linux là hệ điều hành được phát triển bản quyền GNU (General Public License), và mã nguồn của hệ điều hành nầy được cấp miển phí cho mọi người
Tuy nhiên, điều nầy không có nghỉa là Linux và các tổ hợp của
hệ đều miển phí, các công ty và nhà lập trình có thể phải trả tiền khi nào mã nguồn vẫn còn giá trị Linux thực ra chỉ là phần lỏi của hệ điều hành (kenel), phần điều khiển phần cứng, quản lý tập tin, phân chia xử lý…
Một vài tổ hợp của Linux cũng đã được sử dụng, với các trình ứng dụng để tạo ra một hệ điều hành hoàn chỉnh Mỗi tổ hợp nầy được gọi là một phân bổ của Linux (distribution of Linux)
Trang 21Hệ điều hành Unix
Unix là hệ điều hành mạnh, đầu tiên do hãng AT&T viết cho các máy tính cở trung Unix có thể chạy được trên nhiều kiểu hệ thống máy tính và kiểu nền, từ máy tính cá nhân cho đến máy tính lớn Unix cũng giúp việc dời chương trình và dữ liệu giữa các máy tính dễ dàng hơn, hay việc kết nối giữa máy tính lớn và máy tính cá nhân để chia sẻ các tài nguyên cũng đơn giản hơn Unix cũng được xem là có giao diện với người dùng rất phức tạp do dùng các lệnh lạ và khó hiểu, vì thế nên các nhà phát triển phần mềm đã cung cấp các trình tiện ích giao diện (shells) như Motif from Open SystemsFoundation và Open Look của hãng Sun Microsystems
Trang 22Hệ điều hành dành cho doanh nghiệp
Solaris : hệ điều hành Unix do hãng Sun tạo ra quản lý được các máy chủ có đến 64 bộ xử lý
Netware : hệ đđiều hành mạng do công ty Novel tạo ra, hỗ trợ người dùng đầu cuối sử dụng Windows, Machintosh và Unix.OS/390 : Do hãng IBM giới thiệu vào năm 1990, chạy trên máy
tính IBM S/390 để quản lý thông tin, giao dịch phần lớn các hệ nền khác nhau, rất ổn định
MPE/iX : Hệ điều hành khổng lồ dùng cho nhiều công việc kinh doanh khác nhau, như xử lý giao tác trực tuyến (on-line transaction processing) và các ứng dụng Web
Trang 23Hệ điều hành dành cho các thiết bị tiêu dùng
Consumer appliance operating systems)
Windows Mobile : Dùng cho máy tính bỏ túi, điện thoại thông minh, và các phương tiện cầm tay (Portable media center) Các phiên bản Pocket PC 2002, Windows Mobile 2003, 2003 SE, 5.0
Windows CE.Net : Windows CE.Net là bước quyết định đưa hãng Microsoft tiến gần hơn đến viển cảnh truy cập Web và các dịch vụ Web mọi lúc mọi nơi của mình Đây là "hệ điều hành nhúng" (embeded operating systems) dùng cho các thiết bị di động, như là điện thoại thông minh, PDAs, hệ điều hành còn được dùng cho các các thiết bị khác như máy chụp ảnh, quay phim kỹ thuật số, thiết bị bắt sóng truyền hình kỹ thuật số (TV set-top boxes) và các máy tính trên xe hơi
Trang 24Hệ điều hành dành cho các thiết bị tiêu dùng
Consumer appliance operating systems)
Palm OS : Chiến lược của hãng sản xuất thiết bị cầm tay Palm là tung
ra hệ điều hành Palm OS, và mở rộng các thiết bị Palm PDA để quản
lý nhiều mục tiêu, công việc hơn
Công ty đã thêm vào Palm Os nhiều tính năng cho phép giao lưu tốt hơn với máy tính để bàn, và người dùng dễ dàng thêm vào thiết bị các chương trình ứng dụng.
Palm đã đăng ký bản quyền hệ điều hành của mình với các nhà sản xuất chip chính như Intel, Motorola, và Texas Instruments để các hãng nầy sử dụng hệ điều hành của Palm trên các loại thiết bị cầm tay, từ máy tính bỏ túi cho đến các điện thoại di động, hay ngay cả trong các đồng hồ đeo tay dùng công nghệ wrist (công nghệ ít tiêu tốn điện năng, một viên pin có thể chạy đồng hồ trong 10 năm) Hai hãng điện thoại di động hàng đầu là Nokia và Motorola đã có kế hoạch sử dụng hệ điều hành Palm OS trên một số điện thoại di động của mình
Trang 25Phần mềm tiện ích hệ thống
Các chương trình tiện ích được dùng để tổng hợp và sắp xếp các tập dữ liệu, kiểm soát các chương trình đang chạy , nén và giải nén các tập tin được gởi qua mạng để tiết kiệm dung lượng
và thời gian, và một số các chức năng quan trọng khác Chương trình tiện ích thường được cài sẳn trên máy tính, một
số chương trình khác cần phải mua và cài đặt thêm vào hệ thống
Một số lớn các phần mềm tiện ích quản lý mạng và hệ thống dùng điều khiển phần cứng và hiệu năng mạng, hay bật báo động khi máy tính Web server bị hư hoặc mạng có vấn đề Mặc
dù phần mềm tiện ích hệ thống có nhiều chức năng hửu dụng, nhưng điều chúng ta thật sự cần là xác định chính xác nguyên nhân làm hư hệ thống
Trang 26Phần mềm tiện ích hệ thống – Utility Software
Ví dụ về phần mềm tiện ích hệ thống
• Phần mềm diệt Virus (Anti-virus software)
• Norton, McAfee, Sophos, Trend Micro
• Phần mềm quản lý tập tin (File Management)
• PKZip, WinZip, Norton SystemWorks
• Phần mềm tiện ích đĩa (Disk Utilities)
• PartitionMagic, System Commander
• Sao chép dự phòng (Backup)
• Retrospect, Backup MyPC
Các phần mềm tiện ích được viết để chạy dưới hệ điều hành nhất định nào đó, và có thể hoạt động không đúng trên các hệ điều hành khác
Trang 27có ảnh hưởng rất mạnh đến tiến trình thêm giá trị cho công việc kinh doanh bởi vì phần mềm được thiết kế cho các hoạt động và chức năng riêng biệt của từng tổ chức
Việc thực hiện và sử dụng phần mềm ứng dụng có hiệu quả
sẽ giúp cho các hoạt động trong doanh nghiệp đạt được hiệu quả cao và hỗ trợ được các mục tiêu của doanh nghiệp
Trang 28Chương trình ứng dụng được thiết kế để chạy riêng cho
một số hệ điều hành nhất định và không chạy đúng trên
các hệ điều hành khác.
Trang 29Phần mềm ứng dụng - Application Software
Phần mềm ứng dụng dành riêng : là phần mềm giải quyết một vấn
đề đặc biệt riêng của một doanh nghiệp, tổ chức Loại phần mềm nầy thường được mua hay viết ra từ một công ty bên ngoài
Phần mềm bán sẳn : Người dùng có thể mua, thuê phần mềm ứng dụng từ các công ty phần mềm Các phần mềm được viết cho thị trường chung được gọi là "gói phần mềm viết sẳn" được bán ở các cửa hiệu Nhiều công ty dùng phần mềm viết sẳn để phục vụ các công việc xử lý của mình.
Gói phần mềm theo yêu cầu khách hàng : Trong một số trường
hợp, các công ty dùng phần mềm được phát triển hổn hợp từ công ty bên ngoài và bộ phận phần mềm bên trong công ty để thoả được các yêu cầu về quản lý của mọi người dùng trong công ty mà không cần phải bố trí nhân lực nội bộ hay quản lý dự án máy tính phức tạp
Trang 30Phần mềm ứng dụng – Phần mềm ứng dụng cá nhân
Có hàng trăm chương trình ứng dụng giúp cá nhân làm việc trong các lỉnh vực trường học, gia đình, và cơ quan Phần mềm ứng dụng gồm các công cụ và chương trình hỗ trợ một số nhu cầu cá nhân
Các ví dụ:
Xử lý văn bản : Tạo mới, sửa đổi, và in tư liệu văn bản
Word, Word perfect
Bảng tính : Tính toán, thống kê tài chính, cơ sở dữ liệu, vẽ
đồ thị
Excel, Lotus 1-2-3, Quatro pro
Cơ sở dữ liệu : Lưu trữ, quản lý, và truy xuất dữ liệu
Access, Foxpro, Dbase
Đồ hoạ : Vẽ đồ thị, minh hoạ, các bản vẽ
CorelDraw, Photoshop,