học hoá, các nhà quản lý nhanh chóng có được thông tin phản ánh mọi mặt về tổchức cũng như có thể giảm thiểu số lượng nhân viên cần thiết để thực hiện côngviệc lưu trữ và xử lý dữ liệu.S
Trang 1Mở đầu
Ngày nay, chúng ta đang sống trong nền kinh tế số Nền kinh tế thế giớinói chung và nền kinh tế nước ta nói riêng đang ngày càng phát triển Bởi vậy nótrở nên hoàn thiện hơn nhưng cũng phức tạp hơn rất nhiều Để có thể tồn tại vàphát triển các doanh nghiệp đã sử dụng rất nhiều phương thức và công cụ khácnhau để quản lý hoạt động kinh doanh Và các doanh nghiệp đã nhận thấy rằng:
“Hệ thống thông tin là một hệ thống trung gian đóng vai trò quan trọng trongviệc liên kết các hệ thống trong một doanh nghiệp với nhau.” Trong việc quản trịnội bộ, hệ thống thông tin giúp cho tổ chức đạt được sự thống nhất trong hànhđộng, duy trì sức mạnh của tổ chức, đạt được lợi thế cạnh tranh Với bên ngoài,
hệ thống này giúp nắm bắt được nhiều thông tin về khách hàng hơn, cải tiến dịch
vụ tạo đà cho sự phát triển
Một điều không thể phủ nhận là cốt lõi của Hệ thống thông tin chính là cácsản phẩm phần mềm Và để có được những sản phẩm đó đòi hỏi chúng ta phải cóngành công nghiệp phần mềm phát triển Với những điều đã học em muốn xâydựng một phần mềm Quản lý nhân sự cho Công ty TNHH Điện máy Thái BìnhDương Với phần mềm này công ty sẽ giải quyết được những vướng mắc trongviệc quản lý nhân sự cũng như hoạt động kinh doanh của mình, giảm thiểu đượcthời gian cũng như chi phí Nó là hệ thống trung gian gắn kết các phòng bantrong công ty thành một khối thống nhất tạo điều kiện cho công tác quản lý củaBan giám đốc Tuy nhiên, trong quá trình xây dựng phần mềm sẽ không tránhkhỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp từ phíaCông ty và sự chỉ bảo, hướng dẫn của Cô
Em xin chân thành cảm ơn !
Trang 2Chương 1 - Tổng quan về Công ty TNHH Điện máy Thái Bình Dương
1.1 Quá trình thành lập công ty
Tên tiếng Việt : Công ty TNHH Điện máy Thái Bình Dương.
Tên tiếng Anh : PACIFIC ELECTRICAL AND MECHANICAL Co;Ltd.
Trụ sở chính : 31 phố Huế, phường Hàng Bài, Quận Hoàn Kiếm, Hà Nội.
GP-1.2 Hệ thống tổ chức
1.2.1 Sơ đồ cơ cấu tổ chức
BAN GIÁM ĐỐC
PHÒNG DỊCH
VỤ HẬU MÃI
PHÒNG MARKETING
PHÒNG KẾ
PHÒNG KẾ
TOÁN
Trang 31.2.2.1 Ban giám đốc
Giám đốc hiện thời là ông Nguyễn Quang Triệu, là người đại diện hợppháp của công ty trước các cơ quan của Nhà nước và pháp luật Chức năng chínhcủa ban giám đốc là:
- Nghiên cứu và đề ra các chiến lược cho việc phát triển kinh doanh củacông ty, lập kế hoạch kinh doanh cho từng chu kỳ, thời kỳ hoạt động
- Điều hành và kiểm tra trực tiếp các hoạt động của cấp dưới
- Trực tiếp xây dựng các qui định, chế độ, chính sách chung của công ty
về tổ chức nhân sự, lương, tài chính kế toán
- Kí kết các hợp đồng tuyển dụng lao động để phù hợp với nhu cầu sảnxuất kinh doanh của công ty
1.2.2.2 Phòng kế toán
Bao gồm một trưởng phòng tài chính kiêm kế toán trưởng, một thủ quỹ vàmột kế toán viên có nhiệm vụ thống kê sổ sách, báo cáo tình hình tài chính lênban giám đốc, tổng hợp tình hình tài chính trong từng chu kỳ kinh doanh giúpban giám đốc có thể đưa ra các sách lược trong thời gian tới
1.2.2.3 Phòng kinh doanh
Bao gồm trưởng phòng kinh doanh và các nhân viên thực hiện chức năng:
- Khai thác thị trường: Phòng kinh doanh ngoài việc phát triển thị trường,
họ còn cần tìm hiểu thị trường khác để mở rộng phạm vi kinh doanh, tìm hiểucác mặt hàng mà thị trường đang cần, giới thiệu sản phẩm mới
- Bán hàng: Bộ phận bán hàng do 2 nhân viên phụ trách, có nhiệm vụ giớithiệu những tính năng của sản phẩm tới khách hàng giúp họ có thể đưa ra nhữnglựa chọn đúng đắn phù hợp với nhu cầu
Trang 4- Triển khai dự án: Do ban giám đốc chuyển xuống cho phòng kinhdoanh, trưởng phòng kinh doanh cùng các nhân viên sẽ có trách nhiệm tìm hiểu
về dự án mà công ty định triển khai, từ đó lập kế hoạch để có thể hoàn thành tốtviệc triển khai dự án
1.2.2.4 Phòng marketing
Phòng marketing có chức năng tìm hiểu và mở rộng thị trường, tìm hiểucác nhóm khách hàng tiềm năng, những khu vực tiềm năng, giới thiệu về sảnphẩm của công ty và quảng bá thương hiệu của công ty rộng rãi trên toàn khuvực để công ty phát triển lớn mạnh
1.2.2.5 Phòng dịch vụ hậu mãi
Có chức năng bảo hành, chăm sóc khách hàng, quan hệ với khách hàngcũ…Đưa ra những chiến dịch chăm sóc khách hàng, duy trì mối quan hệ tốt đẹpvới khách cũ
1.3.1 Kết quả hoạt động đã đạt được trong những năm qua
Công ty TNHH Điện máy Thái Bình Dương là nhà phân phối chính thức củathương hiệu PANASONIC khu vực phía bắc Công ty chuyên trưng bày và cungcấp các sản phẩm kim khí điện máy cao cấp của chính hãng nổi tiếng trên thế
Trang 5sản phẩm được thiết kế chuyên nghiệp và ấn tượng với mỗi vị khách hàng ghéthăm Công ty kinh doanh 20 nhóm hàng chính với hàng ngàn mặt hàng.
20 nhóm hàng kinh doanh chính của công ty bao gồm: Bàn ủi, Lò viba, Máy hútbụi, Máy xay sinh tố, Nồi cơm điện, Dụng cụ làm đẹp, Nồi hầm, Phích điện,Quạt điện, Lò nướng các loại, Lẩu điện, Máy khử độc rau quả, Bình đun siêu tốc,
Tủ lạnh, Máy giặt, Điện tử- Kỹ thuật số, Máy lạnh, Máy nước nóng, Điện thoại,Dụng cụ văn phòng
Một số mặt hàng của công ty:
- Lò viba NN-GS597(panasonic): Lò viba 25L hâm nóng, nướng, giãđông, công nghệ hơi nước giúp cho thức ăn tươi ngon, giữ được vitamin Côngnghệ biến tải giúp cho tiết kiệm điện dược 50%, nấu nhanh hơn bằng 1 phímchức năng
- Bàn là không dây HI557(Philips): Bàn là không dây cao cấp, mặt chốngsước bằng titan, bơm hơi, phun tia và tạo áp lực mạnh, có thể sử dụng không dây
- Nồi cơm công nghiệp (Hànquốc): nồi nấu cho cơ quan hay xí nghiệp làhợp lí nhất, có 2 loại là inox và sonha Sản phẩm được sản xuất dành riêng chocác công ty
- Máy sấy tóc EH5271 (panasonic): cánh quạt chống gỉ, nhiệt độ phù hợp,không làm khô tóc, chẻ ngọn, 2 nấc nóng và lạnh
Trang 6- Quạt điện đứng panasonic F400k: công tắc bật, tắt, gió theo nhịp,độ caođiều chỉnh được 128cm-143cm, cánh quạt nhựa trong suốt, màu xanh hoặc ghi.
- Tủ lạnh panasonic NR C432D: Dung tích 346lít, ngăn ướp lạnh, cungcấp nhiệt độ thích hợp cho thực phẩm luôn tươi ngon, bảng khử mùi khángkhuẩn, buồng thổi hơi lạnh nhiều hướng, mành giữ duy trì được rau quả luôntươi ngon, không bị mất nước
- Tivi panasonic 29P180: màn hình siêu phẳng Quirntix, tốc độ quay100hz, giảm nhiễu hình bằng kĩ thuật số, loa ,bass-refellt subwoer kèm theo, ngõvào EGB,DVD, SV-VHS, ngõ vào head phone, kích thước 718-515-604……
- Máy fax panasonic KXPH342: phím định vị giúp sử dụng máy dễ dàng,chức năng ECM, gửi fax theo trình tự, bảo lưu 28 trang văn bản, chức năng copynâng cao, chức năng quét bản fax nhanh
Ngoài cách trưng bày sản phẩm rất đặc trưng, Công ty TNHH Điện máy TháiBình Dương còn chú trọng đến các nhân sự cho hoạt động của trung tâm Vớiđội ngũ nhân viên bán hàng - tư vấn được đào tạo kỹ năng và nghiệp vụ bài bản.Đội ngũ kỹ sư, kỹ thuật lành nghề và nhiều kinh nghiệm trong lĩnh vực điện
sự chọn lựa ưng ý nhất trước hệ thống chủng loại sản phẩm rất đa dạng và phongphú Khách hàng được nhân viên bán hàng tư vấn và hướng dẫn sử dụng sảnphẩm một cách tỷ mỉ phù hợp với từng giải pháp cụ thể Tất cả sản phẩm nơi đâyđược kiểm tra chặt chẽ đầu vào và đầu ra trước khi giao đến tay người tiêu dùng Khách hàng chính của công ty là những đại lý, những cửa hàng lớn trên toàn
Trang 7Công ty TNHH Điện máy Thái Bình Dương áp dụng các phương thức bánhàng tiên tiến: Bán hàng trực tiếp, bán hàng qua điện thoại: (84 4)882.7473, bán
http://www.dienmaythaibinhduong.com/ , … khách hàng có thể chọn lựa cáchình thức thanh toán đa dạng như: Tiền mặt, chuyển khoản, thẻ tín dụng
Doanh số 2 năm gần đây của công ty thể hiện trong bảng sau:
1.3.2 Phương hướng, nhiệm vụ trong thời gian tới của công ty
Công ty sẽ tiếp tục tập trung vào kinh doanh trong lĩnh vực điện máy vớicác định hướng chính sau:
- Mở rộng thị phần sản phẩm điện máy tại Việt Nam, đặc biệt là phát triểnkênh bán buôn
- Đầu tư và mở rộng thị trường bán lẻ, trọng tâm là trên địa bàn Hà Nội
- Hỗ trợ các khách hàng quen của công ty và giúp đỡ các khách hàng mới
để có thể có nhiều kênh buôn bán
- Tăng cường việc buôn bán và giao dịch trên website của công ty cũngnhư qua điện thoại
- Hợp tác với nhiều nhãn hiệu nổi tiếng, những nhà cung cấp để mặt hàngtrở nên phong phú và đa dạng
Trang 81.3.3 Thực trạng cơ sở vật chất và kĩ thuật ứng dụng tin học tại công ty 1.3.3.1 Tình hình trang thiết bị tin học tại công ty
- Các máy tính Pentium IV 2.3 Ghz, ram 512MB
- Các máy tính đã dược kết nối mạng nội bộ và kết nối với mạng internet
1.3.3.2 Ứng dụng các phần mềm quản lý hiện thời tại công ty
Công ty cũng đã áp dụng 1 số phần mềm ứng dụng như phần mềmquản lý bán hàng, phần mềm kế toán, phần mềm quản lý kho Tuy nhiên việcquản lý nhân sự, tiền lương chủ yếu được thực hiện một cách thủ công, nếu
có ứng dụng tin học thì chỉ là bảng tính Excel Do đó tốn nhiều thời gian vàchi phí cho việc tính toán và quản lý
1.4 Nghiên cứu tổng quan về vấn đề dự định sẽ chọn, tên đề tài của chuyên
đề thực tập.
1.4.1 Tổng quan về vấn đề dự định sẽ chọn.
Tin học hoá công tác quản lý trong thời đại ngày nay là xu thế chung và lànhu cầu cấp bách của các tổ chức, doanh nghiệp Đối với tổ chức, doanh nghiệpthì thông tin quản lý là vô cùng quan trọng, là vấn đề sống còn để có thể tồn tạitrong môi trường kinh doanh cạnh tranh khốc liệt hiện nay Khi doanh nghiệp
mở rộng quy mô, nhu cầu lưu trữ, xử lý dữ liệu phát sinh cũng như tập hợp, phântích chúng thành các thông tin hưu ích để có những quyết định đúng đắn, kịpthời sẽ tốn rất nhiều thời gian, tiền bạc và hơn nữa sẽ vượt quá khả năng xử lýcủa con người Nhưng với sự trợ giúp của máy tính và một hệ thống thông tinđồng bộ, những vấn đề nêu trên sẽ được giải quyết một cách nhanh chóng Việc
Trang 9học hoá, các nhà quản lý nhanh chóng có được thông tin phản ánh mọi mặt về tổchức cũng như có thể giảm thiểu số lượng nhân viên cần thiết để thực hiện côngviệc lưu trữ và xử lý dữ liệu.
Sự phát triển không ngừng của công nghệ thông tin và những thành tựu tolớn đã đạt được thì tin học hoá công tác quản lý không chỉ là nhu cầu của riêngnhững tổ chức, tập đoàn quy mô lớn mà cũng là nhu cầu không thể thiếu của các
tổ chức, doanh nghiệp vừa và nhỏ bởi đó là xu thế tất yếu trong công tác quản lý
Công tác quản lý nhân sự cũng không nằm ngoài xu thế đó và những lợiích từ việc tin học hoá công tác này ngày càng khẳng định vài trò quan trọng của
nó trong hệ thống thông tin quản lý của tổ chức, doanh nghiệp Việc tin học hoácông tác quản lỳ nhân sự đã không là vấn đề quá mới trong những năm gần đây,tuy nhiên với những đặc điểm cũng như nhu cầu quản lý riêng thì mỗi tổ chức,doanh nghiệp lại chọn cho mình những giải pháp tin học hoá với những mức độ
và cách thức khác nhau (Tin học hoá hoàn toàn, tin học hoá một phần, sử dụngphần mềm mua sẵn, hay tự thiết kế ) tuỳ nhu cầu quản lý và khả năng tài chính,công nghệ, con người sẵn có của tổ chức, doanh nghiệp đó
1.4.2 Tên đề tài của chuyên đề thực tập
Từ những vấn đề trên em xin chọn đề tài: Xây dựng phần mềm quản línhân sự tại Công ty TNHH Điện máy Thái Bình Dương cho chuyên đề thực tậpcủa mình
Trang 10Chương 2 - Một số vấn đề phương pháp luận và công cụ cần thiết để xây dựng phần mềm quản lý nhân sự tại Công ty TNHH Điện máy
Thái Bình Dương
2.1 Cơ sở phương pháp luận
2.1.1 Các khái niệm cơ bản về phần mềm.
a.Phần mềm
- Khái niệm phần mềm và các giai đoạn phát triển của phần mềm
Phần mềm tin học đã trở thành phần tử chủ chốt của các hệ thống dựa trênmáy tính Trong công nghệ phần mềm thì phần mềm được hiểu theo định nghĩasau: (Theo định nghĩa của nhà tin học người Mỹ Roger Pressman: )
Phần mềm là một tổng thể bao gồm 3 yếu tố:
Các chương trình máy tính
Các cấu trúc dữ liệu sử dụng trong các chương trình ấy
Các giai đoạn phát triển của phần mềm:
Trang 11Qua các giai đoạn phát triển phần mềm ta thấy xu thế chung: tính năng cácphần mềm ngày càng đa dạng,quy mô của các công cụ thiết bị ngày càng giảm dần.
- Cấu hình phần mềm và đặc trưng phần mềm
Trong công nghệ phần mềm người ta đưa ra khái niệm cấu hình phần mềm tươngthích với khái niệm cấu hình phần cứng Cấu hình phần mềm chính là quá trìnhphát triển một phần mềm Cấu hình phần mềm gồm các thành phần được biểudiễn theo hình vẽ sau:
Nó không bị khấu hao theo thời gian
Nó có khả năng dễ dàng được nhân bản
Nó dễ dàng được chuyển giao, vận chuyển
b.Vòng đời phát triển của phần mềm
Mỗi phần mềm từ khi ra đời phát triển đều trải qua 1 chu kì trong công nghệphần mềm gọi là vòng đời phát triển của phần mềm Vòng đời phát triển củaphần mềm được biểu diễn bằng mô hình gọi là mô hình thác nước:
Trang 12Trong quy trình này, mỗi giai đoạn ở phía trước sẽ tác động tới tất cả cácgiai đoạn ở phía sau Tức là công nghệ hệ thống giai đoạn đầu tiên sẽ tác độngđến 5 giai đoạn còn lại Đến lượt mình công đoạn phân tích chịu tác động củacông đoạn công nghệ hệ thống nhưng nó lại bao trùm, tác động lên 4 công đoạncòn lại.
Nghiên cứu để hiểu rõ từng giai đoạn và có biện pháp thích hợp để tác độngvào từng giai đoạn đó nhằm đảm bảo chất lượng sản phẩm
Quá trình phân tích: Nhu cầu về ứng dụng, sự cần thiết và mục tiêu của hệ
thống được tập hợp thông qua trao đổi với người dùng hệ thống
Trang 13M22 M21
M13 M12
M11
M131
Mã hoá: Trong giai đoạn này, các thiết kế phần mềm được mã hoá thành
một hoặc nhiều chương trình máy tính
Kiểm thử: Các phân hệ chương trình được tích hợp và thực hiện kiểm thử
toàn bộ hệ thống để đánh giá các yêu cầu phân tích đó có thoả mãn hay không.Sau quá trình kiểm thử, phần mềm sẽ được giao cho khách hàng
Bảo trì: Hệ thống được cài đặt và được đưa vào ứng dụng thực tế Đây là
giai đoạn dài nhất trong vòng đời phát triển của phần mềm
c.Khái niệm module hoá
Module là một khái niệm cơ bản của phương pháp lập trình cấu trúc Mỗimodule có thể coi như một đơn thể chương trình độc lập có thể lắp ghép vớinhau Tư tưởng chính của module hoá là phân chia bài toán lớn thành các bàitoán nhỏ hơn, ngày càng cụ thể và chi tiết hơn theo sơ đồ cấu trúc hình cây:
Trong sơ đồ trên, module chính M được phân chia thành hai module M1 vàM2 Module M1 lại được chia thành ba module nhỏ là M11, M12, M13, module M2chia thành M21, M22 Module con M13 lại chia thành M131, M132, M133
Trang 14Mỗi module giải quyết một vấn đề nhỏ riêng rẽ, độc lập với các modulekhác và do một lập trình viên đảm nhận.
d.Quy trình xây dựng phần mềm
Xây dựng một phần mềm gồm 6 quy trình:
1) Quy trình 1: Xây dựng hợp đồng phần mềm
2) Quy trình 2: Xác định yêu cầu
3) Quy trình 3: Phân tích thiết kế phần mềm
4) Quy trình 4: Lập trình
5) Quy trình 5: Test
6) Quy trình 6: Triển khai
2.1.2 Công nghệ phần mềm (Software Techonology)
Công nghệ phần mềm bao gồm một tập hợp với ba yếu tố chủ chốt:Phương pháp, công cụ và thủ tục giúp cho người quản lí có thể kiểm soát đượcquá trình phát triển của phần mềm và cung cấp cho kỹ sư phần mềm một nềntảng để xây dựng một phần mềm chất lượng cao
Mỗi quy trình phần mềm phụ thuộc vào lĩnh vực ứng dụng, độ phức tạp,quy trình công nghệ bao gồm 3 giai đoạn: Xác định, phát triển, bảo trì được biểudiễn trong sơ đồ sau:
Trang 15 Giai đoạn 1: Xác định yêu cầu trả lời câu hỏi “cái gì?”, tức kĩ sư phần mềmphải giới hạn và định nghĩa rõ ràng sản phẩm phần mềm sẽ xây dựng để tung
ra thị trường,trong giai đoạn này có các công đoạn chính: Phân tích hệthống,lập kế hoạc,xác định yêu cầu của người sử dụng
Giai đoạn 2: Phát triển trả lời câu hỏi “thế nào?”, kỹ sư phần mềm sử dụngnhững công cụ thiết bị gì về ngôn ngữ, quy trình công nghệ để sản xuất raphần mềm Giai đoạn này bao gồm các bước thiết kề, mã hóa kiểm thử Trong
đó khái niệm mã hóa trong công nghệ phần mềm khác với khái niệm mã hóa
Giai đoạn 1 Xác định
Giai đoạn 2 Phát triển
Giai đoạn 3 Bảo trì
Phân tích Lập kế hoạch Xác định yêu cầu
Thiết kế
Mã hóa Kiểm thử
Bảo trì hoàn thiện Bảo trì thích nghi Bảo trì sửa đổi
Trang 16trong hệ thống thông tin,mã hóa trong công nghệ phần mềm là dùng mộtngôn ngữ lập trình cụ thể nào đó để dịch từ bản vẽ thiết kế thành một chươngtrình cụ thể.
Giai đoạn 3: Bảo trì trả lời câu hỏi “ thay đổi như thế nào ?” Mỗi phấn mềmsau khi đã bán cho khách hàng đều phải trải qua giai đoạn hậu mãi(chăm sóckhách hàng) giai đoạn này bao gồm 3 công việc chính: bảo trì sủa đổi, bảo trìthích nghi, bảo trì hoàn thiện Trong đó bảo trì sửa đổi: sửa lỗi chương trìnhnếu chẳng may xuất hiện khi đã bán cho khách hàng Giữa máy tính sản xuất
ra phần mềm và các máy tính sử dụng phần mềm luôn có sự khác biệt về cấuhình, chức năng, vì vậy việc bảo trì thích nghi cần được tiến hành để phấnmềm hoạt động an toàn trong môi trường máy tính của khách hàng Quá trìnhbảo trì hoàn thiện xảy ra khi khách hàng có yêu cầu công ty phần mềm pháttriển thêm một chức năng nào đó của phần mềm trong phạm vi cho phép
2.1.3 Quy trình làm bản mẫu trong công nghệ phần mềm
Bản mẫu phần mềm là một kỹ thuật đặc biệt và riêng có trong công nghệphần mềm Nó không được đề cập tới trong các môn lập trình cụ thể vì mục đíchcủa công nghệ phần mềm la sản xuất ra phần mềm để bán trên thị trường do đótrước khi tung sản phẩm ra thị trường thì người ta sản xuất thử phần mềm mẫu
để khách hàng đánh giá, sau khi bản mẫu dược chấp nhận thì mới tiến hành sảnxuất hàng loạt
Bản mẫu phần mềm là một sản phẩm phần mềm bao gồm những đặc trưng
cơ bản nhất của phần mềm được xây dựng nhằm mục đích đưa ra 1 phác thảo để
Trang 17Bản mẫu phần mềm có thể thể hiện dưới 3 hình thức sau:
Sử dụng các bản vẽ thiết kế trên giấy
Là một phần mềm chỉ bao gồm những nét đặc trưng nhất.
nhất khi thiết kế phần mềm
Tùy thuộc vào trình độ hiểu biết của khách hàng mà công ty phần mềm cung
cấp cho khách hàng bản mẫu dưới một trong 3 hình thức hoặc cả 3 hình thức
Mục tiêu cao nhất của làm bản mẫu là cố gắng làm sao cho trong khoảng
thời gian ngắn nhất làm cho khách hàng tiếp thu phần nhìn thấy được của phần
mềm trong tương lai để họ đi đến kí kết hợp đồng
Quy trình làm bản mẫu phần mềm gồm 6 bước:
Làm mềm bản mẫu
Thiết kế nhanh
KH đánh giá bản mẫu
SP bản mẫu phần mềm
YC của khách hàng
Làm bản mẫu
Bắt đầu
Trang 181) Bước1: Xác định yêu cầu của khách hàng : trong bước này đại diện của công
ty phần mềm gặp gỡ khách hàng để xác định dược các yêu cầu của họ vềphần mềm Thông thường khách hàng chỉ bày tỏ nguyện vọng của mình làchính, bản thân cán bộ công ty phần mềm phải lượng hoá và mô hình hoá cácnguyện vọng đó
2) Bước 2: Thiết kế nhanh : Mục đích của bước này ở dạng phác thảo một vàiđặc trưng cơ bản nhất của phần mềm
3) Bước 3: Làm bản mẫu : Nhằm mục đích công ty cho ra đời nhanh một bảnmẫu dạng phác thảo chỉ gồm một vài đặc trưng cơ bản của phần mềm
4) Bước 4: Khách hàng đánh giá bản mẫu
5) Bước 5: Làm mịn bản mẫu, hay gọi là chi tiết hoá các chức năng của phầnmềm
6) Bước 6: Kết thúc ta được 1 sản phẩm chưa được thương mại hoá trên thịtrường gọi là bản mẫu phần mềm
2.1.4 Nền tảng thiết kế phần mềm
2.1.4.1 Vai trò của thiết kế trong công nghệ phần mềm
Trong sản xuất quy mô công nghiệp vấn đề thiết kế có vai trò đặc biệt quantrọng:
Thiết kế là nền tảng để phát triển một phần mềm đảm bảo tính ổn định và bềnvững
Nhờ có thiết kế mà chúng ta có thể đảm bảo không có sự đổ vỡ 1 phần mềmkhi có sự biến động xảy ra hoặc thay đổi trong phần mềm
Trang 19Đối với 1 phần mềm không có thiết kế đày đủ chỉ cần thay đổi trong cấutrúc dữ liệu hay chức năng chương trình cũng có thể dẫn đến sự phá huỷ phầnmềm hay hỏng hóc chức năng ban đầu của nó Đặc biệt trong giai đoạn hiện naykhi xuất hiện khái niệm lập trình tự động, lập trình bằng máy tính Hiệp hội côngnghệ phần mềm thế giới vẫn tuyên bố trong một tài liệu xác nhận rằng: nhu cầucủa thế giới từ nay lại không phải là người lập trình biết dùng câu lệnh chế tácphần mềm mà trước hết là những người biết đọc văn bản thiết kế.
2.1.4.2 Các phương pháp thiết kế trong công nghệ phần mềm
2.1.4.2.1 Phương pháp thiết kế từ đỉnh xuống
Ý tưởng của phương pháp thiết kế giải thuật từ đỉnh xuống dựa trên ý
niệm module hoá (phân rã một vấn đề cần giải quyết thành các vấn đề nhỏhơn,chi tiết hơn theo sơ đồ hình cây cho đến khi nhận được các module độc lậpkhông phân chia nhỏ hơn dược nữa) tức là khi thiết kế 1 phần mềm ứng dụng,người ta phải đi từ tổng quát tới chi tiết, để tạo thành một hệ thống thống nhất.Dựa trên những cơ sở của hệ thống này, người ta phân chia công việc cho cácnhóm mà vẫn đảm bảo tính mục tiêu cho chương trình
Bảo trì
Kiểm thử
Thiết kế
Bảo trì Kiểm thử
Trang 20Để nắm bắt được ý tưởng của phương pháp này chúng ta xem xét một bàitoán tin học hoá tại một trung tâm thương mại: Trên cơ sở thực tế, chúng ta lầnlượt đưa ra các mô hình của bài toán dưới dạng phác thảo:
Quản lí kho hàng
Trang 21Quản lí kho hàng
Quản lí xuất kho Quản lí tồn kho Quản lí nhập kho
Trang 22Lâpl báo cáo tổng hợp
Quản lí trung tâm thương mại
Quản lí khen thưởng kỷ
luật Quản lí tuyển dụng Quản lí nhân lực
Quản lí tồn kho Quản lí nhập kho Quản lí xuất kho Quản lí kho hàng
quản li mặt hàng
quản lí theo gian hàng
quản lí bán hàng
Quản lí lương
trong thực tế tuỳ thuộc vào các mô hình của các công ty và qui mô của chúng để
có thể phân rã tiếp hay không
Phác thảo 5:
Trang 232.1.4.2.2 Phương pháp thiết kế từ đáy lên
Trong phương pháp này, chúng ta xuất phát từ cụ thể chi tiết đến tổng
hợp Trước hết tiến hành giải quyết các vấn đề cụ thể sau đó trên cơ sở đánhgiá mức độ tương tự về chức năng của vấn đề này trong việc giải quyết bàitoán chúng ta gộp lại thành từng nhóm có cùng chức năng từ dưới lên trên chođến module chính Sau đó sẽ thiết kế thêm 1 số chương trình làm phong phúhơn, đầy đủ hơn chức năng của các phân hệ và cuối cùng thiết kế chương trìnhtập hợp các module thành một thể thống nhất, hoàn chỉnh Lĩnh vực nghiêncứu của phương pháp này là nhưng cơ sở đã được tin học hoá từng phần.Phương pháp này cho phép vừa sử dụng được những chương trình đã có vàphát huy hiệu quả mà không phải xoá đi làm lại từ đầu mà vẫn đảm bảo chỉnhthể của một hệ thống
Để nắm được ý tưởng của phương pháp này, ta xét một bài toán tin học cụthể: Quản lí một khoa trong trường đại học Vấn đề quản lí đã được tin học hoátừng phần bằng cách sử dụng một số chương trình
Prog 1: in ra danh sách của SV theo lớp
Prog 2: in ra Hồ sơ SV
Prog 3: in ra danh sách SV theo khoá
Prog 4: in ra danh sách giảng viên
Prog 5: in ra bảng điểm của SV
Prog 6: in ra chương trình đào tạo cao học
Prog 7: in ra chương trình đào tạo chính qui
Prog 8: in ra chương trình đào tạo tại chức
Các chương trình này đã dược đưa vào ứng dụng trong thực tế và phát huyđược hiệu quả tích cực Dựa vào những thứ đã có sẵn khoa thống nhất là muốn
Trang 24Quản lí sinh viên
Quản lý chương trình đào tạo
Prog 6
phát triển thành một hệ thống tin hoàn chỉnh hơn Phương pháp giải quyết bàitoán trong trương hợp này chúng ta phải dựa vào những thứ có sẵn và thực hiệnlần lượt các bước sau:
chúng lại thành một nhóm Trên cơ sở này gộp prog 1, prog 2, prog
3, prog 5 thành chức năng quản lí sinh viên
Bước 2: Gộp prog 6, prog 7, prog 8 thành phân hệ quản lí chươngtrình đào tạo
Trang 25 Bước 3: Chương trình prog 4 là một nhóm độc lập liên quan cácprog còn lại
Bước tiếp theo,dựa trên cơ sở 3 nhóm này chúng ta phát triển thêm phầnmềm dành cho mỗi nhóm
+ Quản lí sinh viên: prog 9 in bảng điểm tốt nghiệp dành cho mỗi nhóm+ Quản lí cán bộ : prog 10 in ra danh sách CBCNV trong khoa
Bước 4: Như vậy từ 8 chương trình ban đầu, nhờ phương pháp thiết kế
từ đáy lên chúng ta đã thiết kế ra thành 10 chương trình Nhưng luôn luôn
có định hướng, tức là các chương trình luôn nằm trong phân hệ Bây giờ tatích hợp chúng lại thành một chương trinh hoàn chỉnh
Quản lí cán bộ
Prog 4
Trang 27Quản lí cán bộ Quản lí CT đào tạo
Prog 8 Prog 7 Prog 6
Prog 9
Tiến trình thiết kế trong công nghệ phần mềm
Trong sản xuất phần mềm công nghiệp, người ta xét quá trình thiết kế dưới 2góc độ: về mặt quản lí và về mặt kĩ thuật
Xét về góc độ quản lí: người ta chia làm 2 giai đoạn:
Thiết kế sơ bộ
Thiết kế chi tiết
Xét về góc độ kĩ thuật người ta chia ra làm 4 công đoạn:
Thiết kế kiến trúc
Thiết kế dữ liệu
Thiết kế thủ tục
Thiết kế giao diện
Mối liên hệ giữa góc độ quản lí và góc độ kĩ thuật được biểu diễn theo hình
Trang 28Việc phân chia thành góc độ quản lí và kĩ thuật giúp cho việc quản lí tiếntrình phần mềm được mô hình hoá những bước rất cụ thể.
2.1.5 Kiến trúc phần mềm
Khái niệm : Để hiểu khái niệm kiến trúc phần mềm chúng ta xết ví dụ để
xây dựng một căn nhà Kĩ sư phải lắng nghe các yêu cầu của khách hàng từ đó kĩ
sư sẽ thiết kế phác hoạ ra giấy những gì căn bản nhất của ngôi nhà sau này Nhìnvào bản thiết kế ngôi nhà chúng ta có thể nhìn nhận tổng quan về kiểu dáng củangôi nhà và nét kiến trúc bề ngoài
Chúng ta chưa cần xem xét bên trong như thế nào, kết cấu ra sao vì nếukiến trúc bên ngoài của ngôi nhà dược chấp nhận thì chúng ta mới tiến hành thiết
kế bên trong Còn nếu không được chấp nhận thì chúng ta sẽ phải thiết kế mộtkiểu dáng nhà khác
Khái niệm kiến trúc phần mềm cũng có nét tương tự Để giải bài toánchuyển từ “vấn đề”(P) sang “giải pháp”(S) kĩ sư phần mềm sẽ thiết kế một phầnmềm tốt nhất trên cơ sở nền tảng thiết kế đã có trước Sau đây là sơ đồ minh hoạcho kiến trúc phần mềm:
Trang 29Vấn đề cần giải quyết Giải pháp phần mềm
P1 P2
P3 P4 P5
Trang 302.1.6 Các quy trình của công nghệ phần mềm áp dụng vào để xây dựng phần mềm quản lý nhân sự tại công ty.
1)Quy trình 1: Xây dựng hợp đồng phần mềm
+ Mục đích: Nghiên cứu, đề xuất giải pháp kỹ thuật, tiến hành xây dựng
hợp đồng với khách hàng, theo dõi tiến trình thực hiện hợp đồng, tổ chức thanh
lý, thanh toán hợp đồng và lập hồ sơ tổng quát về quy trình hợp đồng phần mềm
+ Dấu hiệu:
Theo dõi thực hiện hợp đồng với khách hàng
Thanh toán thanh lý hợp đồng phần mềm
Trang 31Thanh toán thanh lý hợp đồng
Báo cáo quy trình 1
Kết thúc
Lưu đồ quy trình 1: Xây dựng hợp đồng phần mềm
2) Quy trình 2: Xác định yêu cầu phần mềm
Mục đích: Sau khi đã có hợp đồng phần mềm với khách hàng, hợp đồng
được chuyển sang để xác định nhu cầu của khách hàng về sản phẩm tương lai.Yêu cầu đặt ra là phải lượng hoá các dạng mô hình
Dấu hiệu:
Phân tích nghiệp vụ chuyên sâu
Lập mô hình hoạt động của hệ thống
Trang 32Bắt đầu
Lập kế hoạch xác định yêu cầu
Xác định yêu cầu người sử dụng
Phân tích nghiệp vụ
Lập mô hình hệ thống
Báo cáo quy trình 2 Quản trị viên dự án duyệt Không duyệt
Kết thúc
Duyệt
Lưu đồ quy trình 2: Xác định yêu cầu khách hàngCác công cụ được sử dụng tiến hành phân tích mô hình hoạt động hệ
Trang 333)Quy trình thiết kế phần mềm
Mục đích: Sau khi quy trình xác định yêu cầu phần mềm, trên cơ sở hồ sơ
của giai đoạn phân tích ta chuyển sang quy trình thiết kế nhằm xác định tổng thểcác vấn đề thiết kế phần mềm từ tổng quát tới chi tiết
Thiết kế là chìa khoá dẫn đến thành công của một dự án Thiết kế là mộtquá trình đòi hỏi tính sáng tạo, tinh tế và hiểu biết sâu sắc của người thiếtkế.Thiết kế phần mềm cung cấp cách biểu diễn phần mềm có thể được xácnhận về chất lượng, là cách duy nhất mà chúng ta có thể chuyển hoá một cáchchính xác các yêu cầu của khách hàng thành sản phẩm hay hệ thống phầnmềm cuối cùng
Trang 35Thiết kế cơ sở dữ liệu:
Thiết kế cơ sở dữ liệu logic từ các thông tin đầu ra
Bước 1: Xác định các thông tin đầu ra
- Liệt kế toàn bộ các thông tin đầu ra
- Nội dung, khối lượng, tần suất và nơi nhận chúng
Bước 2: Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từngđầu ra
- Đầu tiên liệt toàn bộ các thuộc tính thành một danh sách
- Đánh dấu các thuộc tính lặp – là những thuộc tính có thể nhận nhiều giá trị
dữ liệu
- Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán rahoặc được suy ra từ các thuộc tính khác
- Gạch chân các thuộc tính làm khoá chính cho các thông tin đầu ra
Thực hiện chuẩn hoá mức 1 (1.NF):
Chuẩn hoá mức một quy định rằng trong mỗi danh sách không được chứacác thuộc tính lặp Nếu có các thuộc tính lặp thì phải tách các thuộc tính lặp
đó ra thành các danh sách con, có ý nghĩa dưới góc độ quản lý Sau đó gắnthếm cho nó một tên, tìm cho nó một thuộc tính định danh riêng
Thực hiện chuẩn hoá mức 2 (2.NF):
Chuẩn hoá mức hai quy định rằng trong mỗi danh sách mỗi thuộc tínhphải tuỳ thuộc tính phải phụ thuộc hoàn toàn vào toàn bộ khoá chứ không chỉphụ thuộc vào một phần của khoá Nếu có sự phụ thuộc như vậy thì phải táchnhững thuộc tính phụ thuộc hàm vào bộ phận của khoá thành một danh sáchcon mới Lấy bộ phận khoá đó làm khoá cho danh sách mới Đặt tên cho danhsách mới này một tên hợp lý
Trang 36Thực hiện chuẩn hoá mức 3(3.NF):
Chuẩn hoá mức ba quy định rằng trong một danh sách không cho phép sựphụ thuộc bắc cầu giữa các thuộc tính Nếu thuộc tính này phụ thuộc hàm vàothuộc tính kia thì phải tách chúng ra thành các thuộc tính khác có quan hệ vớinhau Xác định khoá và tên cho mỗi danh sách mới
Bước 3: Tích hợp các tệp để chỉ tạo ra một cơ sở dữ liệu
Sau khi thực hiện bước 2 sẽ tạo ra rất nhiều danh sách, mỗi danh sách liênquan đến một đối tượng quản lý Những danh sách nào cùng mô tả về mộtthực thể thì phải tích hợp lại, nghĩa là tạo ra một danh sách chung, bằng cáchtâp hơp tất cả các thuộc tính chugn và riêng của những danh sách đó
Bước 4: Xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ
- Xác định số lượng các bản ghi cho từng tệp
- Xác định độ dài cho một thuộc tính, tính độ dài cho các bản ghi
Bước 5: Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu:Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên haichiều
Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hoá
Các thành phần của mô hình dữ liệu bao gồm:
-Thuộc tính: Là đặc trưng của thực thể Thuộc tính liên quan đến các kiểuthực thể, còn giá trị thuộc tính riêng biệt thì thuộc về riêng từng thực thể
Có ba loại thuộc tính sau
+ Thuộc tính định danh: Là một hay nhiều thuộc tính cho phép xác định
Trang 37+ Thuộc tính mô tả: Hầu hết các thuộc tính trong kiểu thực thể đều làthuộc tính mô tả Mỗi thuộc tính chỉ xuất hiện trong một bảng.
Ví dụ: Với thực thể DMNhanVien gồm các trường: MaNV, TenNV,GioiTinh, DiaChi, DienThoai, Email
Thực thể tài nguyên: Chỉ mô tả mà không giao dịch
Ví dụ thực thể DMKhachHang (MaKH, TenKH, DiaChi,DienThoai, Fax, Email)
Thực thể giao dịch: Thể hiện các giao dịch
Ví dụ thực thể HopDong (MaHD, MaNDD, NgayKyHD,MaNV, NoiDungHD)
- Kiểu thực thể: Là một nhóm tự nhiên một số thực thể lại, mô tả một loạithông tin chứ không phải bản thân thông tin
Các kiểu liên kết:
1 @ 1 Liên kết Một - Một
Một lần xuất hiện của thực thể A được liên kết với chỉ một lần xuất hiệncủa thực thể B và ngược lại
Trang 381 @ N Liên kết Một - Nhiều
Loại liên kết này phổ biến trong thực tế, một lần xuất hiện của thực thể Aliên kết với một hay nhiều lần xuất hiện của thực thể B, nhưng mỗi lần xuất hiệnthực thể B chỉ liên kết một lần với thực thể A
N @ M Liên kết Nhiều - Nhiều
Mỗi lần xuất của A tương ứng với một hay nhiều lần xuất của B và ngượclại, mỗi lần xuất của B tương ứng với một hay nhiều lần xuất của A
Thiết kế giao diện:
Những nguyên tắc cơ bản khi trình bày thông tin trên màn hình
Theo Dumas và Galitz thì có những nguyên tắc cơ bản cho việc trình bàythông tin trên màn hình như sau:
Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình.Người sử dụng không phải nhớ thông tin từ màn hình này sang mànhình khác
Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh sốthứ tự
Chỉ dẫn rõ cách thoát màn hình Đặt giữa các tiêu đề và xếp đặt thôngtin theo trục trung tâm
Đặt tên đầu cho mỗi cột
Tổ chức các phần tử của danh sách theo trật tự quen thuộc trong quảnlý
Trang 39 Chỉ đặt màu khác biệt cho những thông tin quan trọng.
Khi nhập dữ liệu từ tài liệu gốc, khuôn dạng màn hình nhập dữ liệuphải giống như tài liệu gốc
Người dùng không phải nhập các thông tin mà chương trình có thể tìmđược từ cơ sở dữ liệu hoặc tính toán được
Nên nhóm các trường trong màn hình theo một trật tự có ý nghĩa, theotrật tự tự nhiên, theo tần số sử dụng, theo chức năng hoặc theo tầmquan trọng
Đặt các giá trị ngầm định cho phù hợp
Đặt tên các trường ở trên hoặc trước trường nhập
4)Quy trình lập trình
Mục đích: Trên cơ sở của hộ sơ thiết kế, bộ phận lập trình tiến hành chi
tiết hoá các sơ đồ khối hay các lưu đồ để biến thành các bản vẽ thiết kế sản phẩmphần mềm nhưng bản thân công đoạn lập trình phải trung thành với thiết kế Lập trình là một tiến trình dịch thiết kế chi tiết thành chương trình baogồm tập hợp các dòng mã lệnh mã máy tính có thể hiểu được Mỗi ngôn ngữ lậptrình có những giới hạn nhất định do vậy dựa trên các đặc trưng của ngôn ngữ,chúng ta sẽ chọn ngôn ngữ phù hợp
Dấu hiệu:
Lập trình các thư viện chung
Lập trình module
Tích hợp hệ thống