Tổng quan về Công ty Cổ phần Công nghệ Thông tin Sông Đà Và Giới Thiệu Đề Tài
Vài nét về Tổng công ty Sông Đà
Tổng công ty Sông Đà là doanh nghiệp Nhà nớc trực thuộc Bộ Xây dựng đợc thành lập từ năm 1960 – tên giao dịch quốc tế là Song Da Corporation. Hoạt động kinh doanh chính của Tổng công ty thuộc các lĩnh vực xây dựng công trình thuỷ điện, công trình cơ sở hạ tầng, các công trình giao thông, xây dựng công nghiệp, dân dụng, đờng dây và trạm, sản xuất vật liệu xây dựng, thép, xi măng, các khu công nghiệp và đô thị, t vấn xây dựng, xuất nhập khẩu vật t, thiết bị, công nghệ xây dựng cùng nhiều lĩnh vực kinh doanh khác.
Trong quá trình trên 40 năm phát triển và trởng thành, Tổng công ty Sông Đà đã tích luỹ đợc rất nhiều kinh nghiệm trong thiết kế, thi công và trong điều hành sản xuất Với những thành tích và đóng góp to lớn cho sự nghiệp xây dựng đất nớc, Tổng công ty Sông Đà đã 2 lần đợc tặng huân chơng Hồ Chí Minh và nhiều danh hiệu cao quý khác của các cá nhân và tập thể Định hớng và mục tiêu phát triển trong giai đoạn 2006 – 2010 củaTổng công ty là: Xây dựng và phát triển Tổng công ty thành tập đoàn kinh tế mạnh đa dạng hoá ngành nghề, sản phẩm trên cơ sở duy trì và phát triển ngành nghề truyền thống để bảo đảm Tổng công ty Sông Đà là một nhà thầu mạnh có khả năng làm tổng thầu các công trình lớn ở trong nớc và quốc tế Phát huy cao độ mọi năng lực để nâng cao khả năng cạnh tranh, góp phần quan trọng vào sự nghiệp công nghiệp hoá - hiện đại hoá đất nớc.
Giới thiệu Công ty cổ phần Công nghệ Thông tin Sông Đà
Công ty cổ phần Công nghệ Thông tin Sông Đà (Sông Đà ITC) - tiền thân là trung tâm nghiên cứu và ứng dụng Khoa học Công nghệ Sông Đà chuyển hình thức hoạt động sang Công ty cổ phần mà Tổng công ty nắm giữ cổ phần chi phối từ tháng 8 năm 2004.
Lĩnh vực hoạt động của Công ty rộng khắp từ cung cấp phần cứng, phần mềm, giải pháp và dịch vụ cho ngành xây dựng Từ một trung tâm nghiên cứu và ứng dụng Khoa học Công nghệ trực thuộc Tổng công ty, hiện tại Công ty đang ngày càng phát triển lớn mạnh
Công ty hiện có 51 ngời làm việc trực tiếp, với trình độ hầu hết là đại học, đợc đào tạo chính quy tại các trờng đại học Nhân lực là nguồn tài nguyên lớn nhất của Công ty Cổ phần Công nghệ Thông tin Sông Đà và luôn đợc đánh giá cao về năng lực cũng nh trí tuệ và đạo đức Sông Đà ITC phấn đấu trở thành một đơn vị hàng đầu trong ngành Công nghệ Thông tin trên thị trờng xây dựng Việt Nam.
- Trình độ cán bộ trong Công ty :
* Thạc sỹ: Hiện đang nắm giữ vai trò lãnh đạo và điều hành hoạt động sản xuất kinh doanh, phát triển và triển khai dự án.
* Kỹ s và cử nhân tin học: Rất có kinh nghiệm t vấn, triển khai các dự án, phần việc trong lĩnh vực công nghệ thông tin cho các đơn vị kinh doanh trong Tổng công ty và một số các đơn vị ngoài khác.
* Cao đẳng kỹ thuật: Có kinh nghiệm trong việc bảo hành và hỗ trợ kỹ thuật sau bán hàng, là đội ngũ trẻ, nhiệt tình năng động, không quản xa sôi luôn có mặt kịp thời khi khách hàng cần đến.
- Đội ngũ nhân viên tham gia hoạt động tin học :
* Phòng phát triển phần mềm và chuyển giao công nghệ: 20 ngời
* Phòng mạng và truyền thông: 15 ngời
1.2-Cơ cấu tổ chức của Công ty
Cơ cấu tổ chức
- Hội đồng quản trị Đại Hội Đồng Cổ Đông
Phòng Mạng và truyền thông Phòng Phát triển PM và chuyÓn giao Công nghệ
Phòng Kinh doanh Phòng Tổng hợp
- Phòng phát triển phần mềm và chuyển giao công nghệ
- Phòng mạng và truyền thông
Sơ đồ tổ chức Công ty
Hình 1.0 Sơ đồ tổ chức của công ty
Chức năng, nhiệm vụ của Phòng Phát triển phần mềm và chuyển
Phòng Kinh doanh Phòng Tổng hợp
- Phòng phát triển phần mềm và chuyển giao công nghệ
- Phòng mạng và truyền thông
1.2.2 Sơ đồ tổ chức Công ty
Hình 1.0 Sơ đồ tổ chức của công ty
1.2.3 Chức năng, nhiệm vụ của Phòng Phát triển phần mềm và chuyển giao công nghệ
- T vấn, thiết kế, xây dựng các chơng trình phần mềm ứng dụng trong công ty cũng nh nhận xây dựng các phần mềm do các khách hàng yêu cầu.
Tiến hành cài đặt, bảo trì các chơng trình ứng dụng;
- Tham gia xây dựng chiến lợc, mục tiêu kinh doanh phát triển hệ thống tin học hoá các hoạt động tin học phục vụ quản lý trong ngành xây dựng.
- Đề xuất kế hoạch nghiên cứu ứng dụng công nghệ thông tin.
- Nghiên cứu, xây dựng và phát triển các cơ sở dữ liệu phục vụ công tác quản lý, điều hành sản xuất kinh doanh và công tác thông tin, th viện trong ngành xây dựng.
- Tham gia chuyển giao công nghệ và hỗ trợ kỹ thuật, chuyển giao và h- ớng dẫn sử dụng các sản phẩm phần mềm tin học.
- Thực hiện các công việc đột xuất của bộ và trung tâm.
1.3-Lĩnh vực kinh doanh chính
- Cung cấp các sản phẩm Công nghệ Thông tin với các đối tác là các Công ty
Công ngệ Thông tin hàng đầu trên thế giới nh: IBM, Intel, Oracle, Cisco System, cũng nh các công ty Việt Nam có uy tín lớn trên thị trờng nh: HiPT, FPT, Sông Đà ITC có khả năng cung cấp các sản phẩm Công nghệ Thông tin đáp ứng tối đa nhu cầu thị trờng.
+ Kinh doanh, phân phối các thiết bị tin học kỹ thuật: máy tính, hệ thống mạng, máy văn phòng.
+ T vấn, thiết kế và xây dựng phần mềm ứng dụng: phần mềm quản lý nhân sự, quản lý văn phòng, quản lý công văn giấy tờ, quản lý khách hàng, quản lý văn bản pháp quy.
+ Thiết kế, triển khai các giải pháp công nghệ hạ tầng truyền thông trong các công trình xây dựng khu chung c, bệnh viện, trờng học, cơ quan, khách sạn,
+ Triển khai các hạ tầng công nghệ toà nhà thông minh (Smart Home) và hạ tầng hệ thống thông tin sinh hoạt, giải trí gia đình (Home Media).
+ Thực hiện hoạt động triển khai các ứng dụng công nghệ, bảo hành. + Chuyển giao công nghệ
- Các giải pháp ứng dụng công nghệ và dịch vụ gia tăng
+ Cung cấp các giải pháp hạ tầng dịch vụ truyền thông cơ bản cho toà nhà.
+ Cung cấp các giải pháp hạ tầng dịch vụ ứng dụng, giải trí và thơng mại.
+ Cung cấp các giải pháp hạ tầng dịch vụ hỗ trợ quản lý toà nhà.
- Kinh doanh các dịch vụ gia tăng
+ Hợp tác với các nhà cung cấp dịch vụ viễn thông, truyền hình để cung cấp dịch vụ truyền thông đa phơng tiện trên hạ tầng truyền dẫn băng thông rộng và truyền hình cable tơng tác (iTV).
+ Phát triển và cung cấp các giải pháp tích hợp dịch vụ cho ngôi nhà thông minh: Living Network, Audio Vision Entertainment Network, Smart Home, Building Automation System,
- Một số dự án tiêu biểu Công ty đã tham gia
+ Cung cấp thiết bị và hệ thống mạng thông tin cho Cục giám định, Ban quản lý dự án Thăng Long – Bộ Giao thông – Vận tải.
+ T vấn, thiết kế, thi công lắp đặt hệ thống mạng cho các đơn vị trong Tổng công ty theo dự án “Tin học hoá toàn Tổng công ty”.
+ T vấn, thiết kế, cung cấp thiết bị, thi công lắp đặt hệ thống thông tin toà nhà Sông Đà tại Mỹ Đình.
+ Tham gia cùng COMA 15 trong gói thầu cung cấp và lắp đặt vật t thiết bị viễn thông tại toà nhà VINCOM 191 – Bà Triệu.
+ T vấn thiết kế dự án: Mở rộng, nâng cấp hạ tầng kỹ thuật và cơ sở dữ liệu dùng chung, phân viện báo chí và tuyên truyền thuộc dự án tin học hoá hoạt động của các cơ quan Đảng giai đoạn 2001 – 2005
+ T vấn, thiết kế, cung cấp và lắp đặt hệ thống camera giám sát tại hầm đờng bộ qua đèo ngang.
+ Và một số công trình khác
- Kết quả kinh doanh của Công ty
Hình 1.1 Biểu đồ kết quả kinh doanh của công ty (2003-2005)
1.4-Những thuận lợi và khó khăn của Công ty
Thuận lợi
- Thị trờng Công nghệ thông tin hiện đang phát triển mạnh, nhu cầu khai thác và sử dụng các ứng dụng Công nghệ thông tin.
- Công ty là đơn vị duy nhất trong Tổng công ty có ngành nghề đặc thù, hoạt động chuyên sâu về lĩnh vực Công nghệ thông tin, đợc quan tâm và tạo điều kiện của lãnh đạo Tổng công ty.
- Trong những năm gần đây Đảng và Nhà nớc ta đã có nhiều Chỉ thị,Nghị quyết về việc tăng cờng ứng dụng công nghệ thông tin và tự động hoá để phát triển nền kinh tế đất nớc và tránh nguy cơ tụt hậu so với thế giới.
Khã kh¨n
- Những yếu tố khách quan
+ Ngành nghề kinh doanh của Công ty đòi hỏi đầu t lớn mà lợi ích khó định lợng và có ngay sau khi đầu t, trong khi nguồn vốn phục vụ hoạt động kinh doanh của công ty hạn chế do đó ảnh hởng đến việc triển khai thực hiện các nhiệm vụ sản xuất kinh doanh.
+ Công ty Cổ phần Công nghệ thông tin Sông Đà trực thuộc Tổng công ty Sông Đà - là doanh nghiệp hoạt động trong ngành xây lắp, thơng hiệu về lĩnh vực công nghệ thông tin đối với thị trờng ngoài Tổng công ty không có, trong khi thị trờng nội bộ Tổng công ty cũng đang phải chịu sự cạnh tranh rất lớn từ các đơn vị ngoài.
+ Bên cạnh đó, nhận thức và hiểu biết về tầm quan trọng và đa các ứng dụng công nghệ thông tin vào trong các hoạt động sản xuất kinh doanh của lãnh đạo và cán bộ công nhân viên trong Tổng công ty còn yếu nên việc triển khai áp dụng các ứng dụng tại các đơn vị trong Tổng công ty chậm, gây trở ngại cho công ty trong quá trình thực hiện.
- Các yếu tố chủ quan
+ Cán bộ quản lý còn thiếu, cha đáp ứng đợc nhu cầu của thị trờng, còn mang nặng t tởng bao cấp cha năng động sáng tạo chủ yếu trông chờ, ỷ lại vào công việc Tổng công ty giao.
+ Đơn vị cha có đội ngũ cán bộ chuyên sâu về nghiệp vụ.
+ Công ty cổ phần công nghệ thông tin mà tiền thân là Trung tâm khoa học công nghệ của TCT Sông Đà đợc thành lập chủ yếu để xây dựng các đề tài khoa học công nghệ, các phần mềm và dịch vụ công nghệ thông tin cho cơ quan Tổng công ty Trung tâm hoạt động trong một lĩnh vực còn rất mới mẻ, thành lập cha lâu, cha có kinh nghiệm về thị trờng nên khi chuyển sang công ty cổ phần đơn vị gặp rất nhiều khó khăn.
+ Khả năng tự chủ về tiềm lực Tài chính của công ty quá yếu vì vốn điều lệ quá thấp không đủ sức cạnh tranh trên thị trờng.
+ Từ các nguyên nhân trên dẫn tới 2 tháng đầu năm đơn vị không có việc làm, không hoàn thành kế hoạch, đời sống của cán bộ công nhân viên thấp, sản xuất kinh doanh không có hiệu quả.
Định hớng
Phát triển công ty thành một doanh nghiệp mạnh về lĩnh vực công nghệ thông tin đủ khả năng phục vụ mục tiêu, chiến lợc phát triển của Tổng công ty,nâng cao năng lực cạnh tranh với các doanh nghiệp khác trong lĩnh vực Công nghệ thông tin mở rộng thị trờng ra ngoài Tổng công ty, lấy thị trờng Tổng công ty làm gốc Tổ chức đào tạo và đào tạo lại nhằm nâng cao năng lực khai thác và vận hành các ứng dụng công nghệ thông tin trong các hoạt động sản xuất kinh doanh cho cán bộ công nhân viên trong tổng công ty Không ngừng nâng cao đời sống vật chất, tinh thần cho cán bộ công nhân viên, đảm bảo việc làm và thu nhập cho ngời lao động;
Mục tiêu
Tăng trởng bình quân hàng năm: 10% - 15%
Mở rộng lĩnh vực cũng nh địa bàn hoạt động từng bớc tạo uy tín và th- ơng hiệu riêng cho công ty nói riêng và Tổng công ty nói chung; phấn đấu đa công ty trở thành nhà thầu mạnh về lĩnh vực Công nghệ thông tin, chiếm lĩnh thị trờng nội bộ Tổng công ty và dần dần là thị trờng ngoài Tổng công ty;không ngừng nâng cao doanh thu, sản lợng của công ty trong đó không thể bỏ qua mục tiêu lợi nhuận.
Kế hoạch sản xuất kinh doanh
- Tiếp thị, kinh doanh các sản phẩm phần mềm ứng dụng, phần mềm công nghiệp, tiếp thị tìm kiếm các đơn đặt hàng về gia công phần mềm;
- T vấn, t vấn và tham gia đấu thầu các dự án cung cấp, lắp đặt hệ thống thông tin;
- Nghiên cứu và phát triển các phần mềm thành các sản phẩm hoàn thiện có thể bán trên thị trờng;
- Nghiên cứu, thử nghiệm và phát triển các ứng dụng ERP (Enterprice Resource Planning) cho các đơn vị thành viên trong và ngoài Tổng công ty;
- Nghiên cứu và triển khai các ứng dụng trên Portal; nghiên cứu Chính phủ điện tử, Thơng mại điện tử và các ứng dụng liên quan khác;
- Nghiên cứu, triển khai các ứng dụng công nghệ tự động hoá;
- Gia công xuất khẩu phần mềm;
- Thi công lắp đặt hệ thống thông tin, giám sát tại các toà nhà, trụ sở
- Mở rộng thị trờng kinh doanh, tiêu thụ dịch vụ công nghệ thông tin, điện tử viễn thông;
- 2006 – 2007: hoàn thiện mô hình theo nhóm của đội ngũ viết phần mềm, xây dựng chứng chỉ ISO 9001:2000.
- Từ năm 2008 – 2010: nghiên cứu và lập dự án đầu t xây dựng thơng hiệu Sông Đà về lĩnh vực Công nghệ thông tin với kinh phí ớc tính 3 tỷ đồng; Định hớng phát triển năm 2006 – 2010:
Chỉ tiêu sản xuất kinh doanh chủ yếu
TT Chỉ tiêu Dvt Năm
1 Tổng giá trị sản xuất kinh doanh
Kinh doanh thiết bị Phát triển PM-CGCN Lắp đặt HTTT
Lý do lựa chọn đề tài
Ngày nay, loài ngời đang chứng kiến những tiến bộ cha từng có của khoa học, công nghệ thông tin viễn thông Các chơng trình dự án tin học nói riêng và các chơng trình dự án nói chung ngày càng đợc mở rộng cả về số lợng và chất lợng Các công ty thờng lu trữ các dự án dới dạng các tập hồ sơ Điều này gây khó khăn về ngời và của trong việc quản lý các dự án, không chỉ quản lý các thông tin về dự án mà còn phải quản lý các thông tin về khách hàng, yêu cầu dự án cũng nh các thông tin về các nhân viên tham gia trong quá trình hoạt động dự án…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoàiCông ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài điều đó, phải quản lý các dự án tin học dới dạng các tập hồ sơ Để quản lý có hiệu quả phải tốn một khoản chi phí khá lớn Thực tế trên thế giới đã có một số chơng trình quản lý dự án lớn, tiêu biểu là chơng trình quản lý của hãngMicrosoft Tuy nhiên đây là những chơng trình quản lý dự án lớn, để sử dụng nó cần có một sự đầu t lớn về của cải và con ngời Điều này làm cho các dự án có quy mô vừa và nhỏ khó có thể áp dụng đợc phần mềm vào trong quá trình làm dự án của mình
Xuất phát từ những lý do trên, em xin đợc chọn đề tài luận văn: “Nghiên cứu thiết kế phần mềm quản lý dự án tại Công ty Cổ phần Công nghệ thông tin Sông Đà”. Để góp phần tăng hiệu quả quản lý các dự án thì việc ứng dụng Công nghệ Thông tin trong quản lý có ý nghĩa rất quan trọng Chính vì vậy, đề tài “ Nghiên cứu thiết kế phần mềm quản lý dự án tại Công ty Cổ phần công nghệ thông tin Sông Đà” là một đề tài mang tính thực tiễn cao và đáp ứng đợc nhu cầu quản lý trong giai đoạn hiện nay Sự thành công của đề tài này sẽ mang lại những lợi ích quý báu nh:
- Nâng cao hiệu quả công tác quản lý
- Cung cấp nhiều cách thức quan sát thông tin báo cáo
- Cho phép kết suất thông tin báo cáo một cách nhanh chóng chính xác
Công cụ thực hiện
Để thực hiện đợc đề tài “Nghiên cứu thiết kế phần mềm quản lý dự án tạiCông ty cổ phần công nghệ thông tin Sông Đà” cần phải sử dụng đến kiến thức tổng hợp về khảo sát – phân tích – thiết kế hệ thống thông tin, các giải thuật,quá trình xây dựng một phần mềm và kỹ thuật lập trình Công cụ cụ thể đợc sử dụng để xây dựng chơng trình này chính là những lý thuyết cơ bản về các bớc xây dựng một chơng trình phần mềm, những lý thuyết về xây dựng cơ sở dữ liệu và đợc hiện thực hoá thông qua hệ quản trị cơ sở dữ liệu Visual FoxPro.
Một Số Vấn Đề Phơng Pháp Luận Cơ Bản Về Quy Trình Thiết Kế Một Phần Mềm ứng Dụng
PhÇn mÒm
Phần mềm là tổng hợp các yếu tố sau: Các chơng trình máy tính, các cấu trúc dữ liệu cho phép chơng trình xử lý các thông tin thích hợp, các tài liệu mô tả phơng thức sử dụng các chơng trình ấy.
Phần mềm bây giờ đã vợt trội hơn phần cứng Nó đợc xem nh điểm mấu chốt cho sự thành công của nhiều hệ thống dựa trên máy tính, dù cho máy tính đợc dùng để vận hành một doanh nghiệp, kiểm soát một sản phẩm hay làm thành một hệ thống Phần mềm vẫn là một nhân tố khác biệt Tính đầy đủ và đúng thời hạn của thông tin do phần mềm cung cấp (và các cơ sở dữ liệu liên quan) làm khác biệt một công ty này với các đối thủ cạnh tranh của nó Thiết kế và “tính thân thiện con ngời” của một sản phẩm phần mềm này làm khác biệt nó với các sản phẩm cạnh tranh có cùng chức năng tơng tự khác Sự thông minh và chức năng do phần mềm đợc nhúng trong đó đa ra thờng làm khác biệt hai sản phẩm tiêu thụ hay công nghiệp tơng tự nhau Chính phần mềm tạo ra sự khác biệt đó.
Sự tiến hoá của phần mềm
Sự phát triển của phần mềm liên hệ chặt chẽ với sự tiến hoá của các thế hệ máy tính Hiệu năng phần cứng ngày càng mạnh hơn, kích cỡ nhỏ hơn và giá thành thấp hơn đã góp thêm vào việc tạo ra các hệ thống tinh vi dựa trên máy tính
Hình 2.0 biểu diễn sự tiến hoá của phần mềm trong hoàn cảnh các lĩnh vực ứng dụng hệ thống dựa trên máy tính Trong những năm đầu của việc phát triển hệ thống máy tính phần cứng đã trải qua sự thay đổi liên tục trong khi phần mềm đợc nhiều ngời coi nh việc nghĩ thêm về sau Việc lập trình máy tính là một nghệ thuật ‘‘theo bản năng” ít có phơng pháp hệ thống Việc phát triển phần mềm thực sự không đợc quản lý vì phần mềm là trìu tợng và không thể nắm đợc, nó không đợc tạo ra bởi các nguyên vật liệu thô, không bị chi phối bởi một quy luật vật lý nào hay theo một quy trình sản xuất nào.
Nhiều ngời dùng Thêi gian thùc Cơ sở dữ liệu Phần mềm thơng mại
Hệ thống phân tán Phần mềm thông minh Phần cứng rẻ
Hệ thống để bàn Hớng đối tợng
Hệ chuyên gia Mạng Nơtơron
Hình 2.0 Sự tiến hoá của phần mềm
Trong những năm đầu phần cứng vạn năng đã trở thành thông dụng. Phần mềm lại đợc thiết kế theo đặt hàng, theo từng ứng dụng và đợc phân phối khá hạn chế Phần mềm sản phẩm mới còn trong thời kỳ ấu trĩ Phần lớn các phần mềm đều đợc phát triển và cuối cùng đợc một hay một số tổ chức sử dụng Cũng bởi môi trờng có tính cá nhân nh vậy nên việc thiết kế là một tiến trình không tờng minh đợc thực hiện trong đầu ngòi lập trình và thờng là không có tài liệu.
Thời đại thứ hai của sự tiến hoá máy tính trải rộng giữa những năm 1960 cho đến cuối những năm 1970 (hình 2.0) Các hệ thống đa lập trình và đa ngời sử dụng đã đa ra những khái niệm mới về tơng tác ngời máy Các kỹ thuật tơng tác mở ra một thế giới mới cho các ứng dụng và các mức độ mới về độ tinh vi cho cả phần cứng lẫn phần mềm Các hệ thống thời gian thực có thể thu thập,phân tích và biến đổi dữ liệu từ nhiều nguồn khác nhau Do đó kiểm soát đợc các tiến trình và sản xuất các kết quả đầu ra trong phần nghìn giây thay cho nhiều phút Những tiến bộ trong lu trữ trực tuyến dẫn tới thế hệ đầu tiên các hệ quản trị cơ sở dữ liệu.
Thời đại thứ ba của tiến hoá hệ thống máy tính bắt đầu từ giữa những năm 1970 và tiếp tục cho tới nay Hệ thống phân bố nhiều máy tính, mỗi máy thực hiện một chức năng, liên lạc với các máy khác và làm tăng độ phức tạp của các hệ thống dựa trên máy tính Thời đại thứ ba cũng còn đợc đặt trng bởi sự tiến bộ và sự phổ cập sử dụng các bộ vi xử lý, các máy trạm để bàn mạnh.
Bộ vi Xử lý đã thúc đẩy một phạm vi rộng các sản phẩm thông minh, điển hình là rôbốt công nghiệp Đến giữa những năm 1980, khi tỷ lệ tăng trởng bán máy tính đợc san bằng thì số bán sản phẩm phần mềm vẫn tiếp tục tăng trỏng
Thời đại thứ t trong phần mềm máy tính mới chỉ bắt đầu Kỹ nghệ hớng đối tợng đang nhanh chóng thay thế nhiều cách tiếp cận phát triển phần mềm quy ớc trong nhiều lĩnh vực ứng dụng Chúng ta đã chứng kiến những kỹ thuật
‘‘thế hệ thứ t” cho việc phát triển phần mềm đang làm thay đổi cách thức và trong đó một phần của cộng đồng phần mềm xây dựng lên chơng trình máy tính Hệ chuyên gia và phần mềm trí tuệ nhân tạo cuối cùng đã chuyển từ phòng thí nghiệm vào ứng dụng thực tế cho các bài toán trong phạm vi rộng trong thế giới thực Phần mềm mạng nơtơron nhân tạo đã mở ra những khả năng lý thú để nhận dạng và thực hiện những khả năng xử lý thông tin kiểu con ngời Theo tiên đoán của các chuyên gia máy tính, “thế hệ thứ năm” với kiến trúc tính toán khác về cơ bản và các phần mềm có liên quan của chúng sẽ có một ảnh hởng sâu sắc tới sự cân bằng quyền lực chính trị và công nghiệp trên toàn thế giới.
Các đặc trng của phần mềm
Phần mềm là một hệ thống lôgíc chứ không phải là một hệ thống vật lý.
Do đó nó có các đặc trng khác với hệ thống phần cứng.
Phần mềm có các đặc trng sau đây:
- Phần mềm không bị khấu hao đi trong quá trình sử dụng mà ngợc lại nó sẽ làm tăng giá trị của các thành phần sử dụng nó lên gấp nhiều lần Phần mềm không cảm ứng với những khiếm khuyết môi trờng vốn gây cho phần cứng bị hao mòn cũ đi Trong cuộc đời của mình, phần mềm sẽ trải qua sự thay đổi (bảo trì) khi mà sự hỏng hóc của phần mềm đợc phát hiện đó là lỗi trong thiết kế hay trong tiến trình chuyển thiết kế thành mã thực hiện đợc.
- Phần mềm đợc xây dựng theo đơn đặt hàng chứ không lắp ráp từ các thành phần có sẵn.
- Phần mềm đợc pháp triển hay đợc kỹ nghệ hoá nó không đợc chế tạo theo nghĩa cổ điển Trong mỗi sản phẩm phần mềm đều chứa đựng một hàm l- ợng lao động quan trọng nhất là chất xám
Các thành phần của phần mềm đợc xây dựng bằng cách dùng một ngôn ngữ lập trình với vốn từ vựng hạn chế và một văn phạm hoàn toàn xác định.
Ngôn ngữ máy là ngôn ngữ lập trình viết các lệnh dới dạng sử dụng mã nhị phân, can thiệp trực tiếp vào trong các mạch điện tử Chơng trình viết bằng ngôn ngữ máy, máy sẽ hiểu và thực hiện đợc ngay không phải qua quá trình dịch.
- Ngôn ngữ thế hệ thứ nhất:
Tiêu biểu nhất của ngôn ngữ thế hệ thứ nhất là hợp ngữ, các ngôn ngữ thế hệ thứ nhất có đặc điểm là phụ thuộc rất mạnh vào từng máy tính điện tử cụ thể và mức độ trìu tợng của các chơng trình thờng rất thấp.
- Ngôn ngữ thế hệ thứ hai:
Ngôn ngữ thế hệ thứ hai đợc phát triển từ cuối những năm 1950 và đầu những năm 1960 Các ngôn ngữ thế hệ thứ hai đợc đặc trng bởi việc sử dụng một th viện các chơng trình phần mềm rất lớn đợc sử dụng rộng rãi trong rất nhiều lĩnh vực khác nhau.
Các ngôn ngữ thế hệ thứ hai tiêu biểu:
+ FORTRAN là ngôn ngữ đợc áp dụng rất rộng rãi, phổ biến trong việc giải quyết các bài toán khoa học kỹ thuật Bản chuẩn hoá gốc của FORTRAN, đợc gọi là FORTRAN 66, là một công cụ rất mạnh để giải quyết các bài toán tính toán nhng tơng đối nghèo về các kiểu cấu trúc dữ liệu tiền định, cũng nh việc không dễ dàng xử lý xâu ký tự Bản chuẩn ANSI mới, gọi là FORTRAN 77, đã khắc phục một số khuyết điểm của FORTRAN 66.
+ COBOL là ngôn ngữ thế hệ thứ hai đợc ứng dụng rất rộng rãi trong các lĩnh vực thơng mại và xử lý dữ liệu COBOL có khả năng định nghĩa dữ liệu một cách gọn gàng, chính xác Các chơng trình COBOL chia làm 4 phần riêng biệt:
* Phần tên gọi: Mô tả các tham số của chơng trình
* Phần thiết bị: Mô tả các thiết bị phần cứng sử dụng trong chơng trình
* Phần dữ liệu: Mô tả các kiểu dữ liệu theo cấu trúc cấp bậc
* Phần thủ tục: Mô tả các giải thuật xử lý dữ liệu
Do khả năng định nghĩa dữ liệu tuyệt vời của mình mà cho đến nay,ngay cả trong các nớc phát triển, COBOL vẫn đợc sử dụng khi giải quyết các bài toán trong lĩnh vực kinh tế và thơng mại Ngoài ra ngôn ngữ phi cấu trúc
BASIC (Beginner’s All – purpose Symbolic Intruction Code) cũng đã xuất hiện trên máy tính cá nhân IBM PC và đợc phát triển rất mạnh mẽ với nhiều phiên bản khác nhau nh: QBASIC, GWBASIC, BASICA…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
- Ngôn ngữ thế hệ thứ ba:
Ngôn ngữ lập trình thế hệ thứ ba còn đợc gọi là ngôn ngữ lập trình hiện đại Nét đặc trng của ngôn ngữ này là khả năng cấu trúc rất phong phú và các thủ tục mạnh Các ngôn ngữ thế hệ thứ ba có thể chia thành các nhóm sau:
* Ngôn ngữ cấp cao vạn năng
* Ngôn ngữ cấp cao hớng sự vật
* Ngôn ngữ chuyên dụng + Ngôn ngữ cấp cao vạn năng mà tiêu biểu là ngôn ngữ ALGOL (ALGOrithmic Language) Đó là một ngôn ngữ lập trình rất phát triển, dùng để mô tả một cách hình thức các thuật toán, với việc đa ra các kết cấu thủ tục và định kiểu dữ liệu ALGOL rất thông dụng ở Châu Âu nhng lại không đợc phổ biến rộng rãi lắm ở Mỹ Phiên bản đợc sử dụng rộng rãi nhất của ALGOL đợc gọi là ALGOL – 60 và sau đó đợc phát triển với một sự cài đặt mạnh hơn trong ALGOL – 68 Đặc trng của hai phiên bản này là đa vào khái niệm cấu trúc khối và cấp phát bộ nhớ động, giải thuật đệ quy
Trên cơ sở của ALGOL ngời ta đã sáng tạo ra các ngôn ngữ lập trình vạn năng khác nh PL/1, PASCAL, MODULA-2, C Và ADA có rất nhiều ứng dụng trong khoa học cũng nh trong kinh tế và thơng mại.
PASCAL đợc phát triển từ những năm 1970 là ngôn ngữ lập trình có cấu trúc tiền định rất phong phú PASCAL kế thừa từ ALGOL nhiều đặc trng nh cấu trúc khối, định kiểu dữ liệu, hỗ trợ đệ quy.
MUDULA-2 là sự phát triển của PASCAL với việc phát huy các tính năng thông dụng của ngôn ngữ này.
Ngôn ngữ lập trình C, lúc đầu đợc phát triển nh một ngôn ngữ cho ngời cài đặt hệ điều hành Hệ điều hành UNIX đợc cài đặt trong C Đến nay, C là ngôn ngữ lập trình rất phát triển, một số lợng lớn các sản phẩm phần mềm đợc thiết kế trong C nh các ứng dụng nhúng, các phần mềm hệ thống, các kỹ nghệ phần mềm phức tạp chứa các tính năng mạnh làm cho nó trở nên mềm dẻo đáng kể Ngoài ra, C có sự hỗ trợ cho các cấu trúc dữ liệu phức tạp và có các đặc trng định kiểu hợp lý, cho phép dùng nhiều con trỏ và có một tập hợp phong phú các lệnh tính toán và xử lý dữ liệu Hơn thế nữa, C còn làm cho ngời lập trình “đến gần hơn với máy” bằng các tính năng gần nh hợp ngữ.
Khảo sát thực tế
Trong giai đoạn này ngời thiết kế phần mềm cố gắng tập trung vào xác định thông tin nào cần đợc xử lý, chức năng nào cần có để xác định ra một hệ thống thành công Yêu cầu chủ chốt của hệ thống và phần mềm cũng đợc xác định Mặc dù các phơng pháp đợc áp dụng trong giai đoạn này có thể thay đổi tuỳ theo khuôn cảnh kỹ nghệ phần mềm, nhng nhìn chung đợc thực hiện thông qua mô hình sau:
Lập kế hoạch dự án phần mềm
Xét duyệt Phân tÝch yêu cầu hay bản mÉu
Hình 2.3 Mô hình khảo sát thực tế xác định yêu cầu của phần mềm
Các bớc chủ yếu trong giai đoạn khảo sát thực tế:
- Phân tích hệ thống: Nhằm xác định vai trò của từng phần tử trong một hệ thống dựa trên máy tính và xác định những chức năng nghiệp vụ mà phần mềm sẽ thực hiện.
- Lập kế hoạch dự án phần mềm: Một khi phạm vi của phần mềm đã đợc thiết lập, rủi ro đã đợc phân tích, tài nguyên đã đợc cấp phát, chi phí đã đợc ớc lợng thì phải xác định nhiệm vụ công việc và lập lịch.
- Phân tích yêu cầu hay làm bản mẫu: Khi đặt hàng phần mềm, khách hàng đã xác định đợc các mục tiêu tổng quát cho phần mềm nhng còn cha xác định đợc cụ thể các yếu tố đầu vào, quy trình xử lý và các yếu tố đầu ra Mặt khác, ngời kỹ s phần mềm còn cha chắc chắn về tính hiệu quả của một giải thuật Trong trờng hợp này, cách tiếp cận làm bản mẫu cho một sản phẩm phần mềm là cách tiÕp cËn tèt nhÊt.
Làm bản mẫu là một tiến trình làm cho kỹ s phần mềm có khả năng tạo ra một mô hình cho phần mềm cần phải xây dựng Mô hình có thể chọn một trong ba dạng:
* Bản mẫu trên giấy hay trên máy tính mô tả các giao diện ngời máy.
* Bản mẫu làm việc cài đặt một tập con các chức năng của phần mềm mong muèn.
* Một chơng trình đã có thực hiện một phần hay tất cả các chức năng mong muốn nhng cần cải tiến thêm các tính năng khác.
Một dãy các sự kiện của quy trình làm bản mẫu phần mềm nh sau:
Kế hoạch dự án Đặc tả yêu cÇu
Sản phẩm Tập hợp yêu cầu làm mịn
Làm mịn bản mẫu Thiết kế nhanh Đánh giá bản mẫu của khách hàng Xây dựng bản mẫu
Hình 2.4 Sơ đồ quy trình làm bản mẫu phần mềm
Trớc hết kỹ s phần mềm và khách hàng gặp nhau và xác định các mục tiêu tổng thể cho phần mềm, xác định các yêu cầu nào đã biết và các yêu cầu nào cần phải xác định thêm Tiếp sau đó là giai đoạn thiết kế nhanh, nội dung của công đoạn thiết kế nhanh tập trung vào việc biểu diễn các khía cạnh của phần mềm thấy đợc đối với ngời dùng (cách đa vào và định dạng đa ra) Kết quả của quy trình thiết kế nhanh là một bản mẫu Bản mẫu này đợc khách hàng (ngời tiêu dùng) đánh giá và là cơ sở để làm mịn phần mềm Bản mẫu đợc vi chỉnh một cách chu đáo nhằm đáp ứng đợc đầy đủ các yêu cầu của khách hàng. Bản mẫu của một phần mềm có thể coi nh “Phiên bản đầu tiên” của phần mềm đó (Version 1.0).
Thiết kế cơ sở dữ liệu
Sau quá trình thiết kế sơ bộ để làm mịn bản mẫu phần mềm thì tiến hành tiếp tới công đoạn thiết kế chi tiết Thiết kế cơ sở sữ liệu là công việc đầu tiên của giai đoạn thiết kế chi tiết Thiết kế cơ sở dữ liệu trải qua các bớc sau:
Các sự vật có thể là:
+Thực thể ngoài (nh con ngời, hệ thống khác, thiết bị…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) tạo ra hay tiêu thụ thông tin đợc dùng bởi một hệ thống tin học hoá.
- Các vật (nh th tín, báo cáo…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) là một phần của miền thông tin cho vấn đề. + Sự xuất hiện hay biến cố (nh chuyển sở hữu…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) vốn xuất hiện bên trong hoàn cảnh vận hành của hệ thống.
+ Vai trò (kỹ s, ngời quản lý, ngời chủ trì…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) do những ngời có tơng tác với hệ thống đảm nhiệm.
+ Đơn vị tổ chức (chi nhánh, trung tâm, phòng…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) có liên quan tới một ứng dông.
+ Nơi chốn (nơi thi công…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) tạo nên hoàn cảnh của vấn đề và toàn bộ chức năng của hệ thống.
+ Cấu trúc (máy tính…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài) xác định ra lớp các sự vật có liên quan.
Các vai trò Các sự vật Vai trò
Sự xuất hiện Cấu trúc
Thực thể ngoài Đơn vị tổ chức
Các thuộc tính mô tả cho một sự vật đã đợc lựa chọn để đa vào trong mô hình phân tích Về bản chất, chính thuộc tính xác định ra sự vật – làm rõ rệt sự vật mang ý nghĩa gì trong hoàn cảnh của vấn đề Chẳng hạn nếu chúng ta xây dựng một hệ thống quản lý dự án thì các thuộc tính của sự vật là:
Một thao tác làm thay đổi một thực thể theo một cách nào đó Đặc biệt hơn nó làm thay đổi một hay nhiều giá trị thuộc tính trong thực thể Do đó một thao tác phải có “tri thức” về bản chất của thuộc tính và phải đợc cài đặt theo cách thức làm cho nó thao tác đợc cấu trúc dữ liệu đã đợc suy dẫn từ thuộc tính Mặc dù có nhiều kiểu thao tác tồn tại, nói chung có thể chia chúng thành ba loại chính:
+ Các thao tác động lên dữ liệu theo một cách nào đó (nh xoá, sửa, lựa chọn, thêm)
Tên sự vật Các thuộc tính Các thao tác
Mã dự ánTên dự ánNgày khởi côngNgày bàn giaoGhi chó
+ Các thao tác thực hiện một tính toán.
+ Các thao tác điều phối một thực thể cho sự xuất hiện của thực thể điều khiển.
- Truyền thông giữa các thực thể
Xác định sự truyền thông giữa các thực thể trong mô hình quan hệ thực thể là đủ để đặt nền tảng cho thiết kế Ngoài ra còn phải thiết lập một cơ chế truyền thông giữa các sự vật Cơ chế này gọi là “thông báo”.
Một thông báo có dạng: thông báo (nơi nhận, thao tác, các đối)
Trong đó: Nơi nhận xác định ra sự vật để nhận thông báo Thao tác nói tới thao tác chuẩn bị nhận thông báo Các đối cung cấp các thông tin cần cho thao tác thực hiện thành công.
- Mô hình quan hệ thực thể (E-R) là ký pháp chính của việc mô hình hoá dữ liệu Mục đích chính của mô hình là biểu diễn các thực thể và mối quan hệ giữa chúng Ký pháp biểu đồ E-R khá đơn giản, các thực thể đợc biểu diễn bằng các hình chữ nhật có nhãn Mối quan hệ đợc chỉ ra bằng hình thoi Các mối nối giữa thực thể và mối quan hệ đợc thiết lập bằng nhiều đờng nối đặc biệt.
Sau khi thiết kế thành công cơ sở dữ liệu, biểu diễn và mô hình hoá đúng các sự vật hiện tợng thì sẽ tiến hành thiết kế kiến trúc phần mềm Đây là khâu rất quan trọng vì nó là nền tảng cho quá trình lập trình tiếp theo.
2.4.3-ThiÕt kÕ kiÕn tróc phÇn mÒm 2.4.3.1 Vai trò của thiết kế phần mềm
Thiết kế phần mềm nằm ở trung tâm về kỹ thuật của tiến trình kỹ nghệ phần mềm và đợc áp dụng bất kể khung cảnh phát triển nh thế nào Sau khi phân tích các yêu cầu về phần mềm thì thiết kế phần mềm là một trong ba hoạt động kỹ thuật gồm thiết kế, lập trình và kiểm thử, những hoạt động cần để xây dựng và kiểm chứng phần mềm Từng hoạt động này biến đổi thông tin theo cách cuối cùng để tạo ra một phần mềm máy tính hợp lệ.
Mô hình thông tin Thiết kế dữ liệu Module Mô hình chức năng chơng tr×nh Mô hình thông tin
Các yêu cầu khác Thiết kế thủ tục Phần mềm đã tích hợp và kiểm thử
Thiết kế Lập trình Kiểm thử
Hình 2.5 Sơ đồ vai trò của thiết kế
Các hoạt động kỹ thuật (thiết kế, lập trình, kiểm thử) chiếm từ 75% trở nên của chi phí kỹ nghệ phần mềm (trừ bảo trì) Chính tại các bớc này mà chúng ta thấy rằng sự thành công của việc cài đặt phần mềm sẽ bị ảnh hởng, và điều quan trọng là làm dễ dàng cho việc bảo trì phần mềm, làm cho nó thành b- ớc thử nghiệm trong giai đoạn phát triển Tầm quan trọng của thiết kế phần mềm có thể đợc phát biểu bằng hai từ “chất lợng” Thiết kế là nơi “chất lợng” đợc nuôi dỡng trong việc phát triển phần mềm Thiết kế cung cấp cho ta cách biểu diễn phần mềm có thể đợc xác nhận về chất lợng Thiết kế là cách duy nhất mà chúng ta có thể dịch một cách chính xác các yêu cầu của khách hàng thành sản phẩm hệ thống phần mềm cuối cùng Không có thiết kế có nguy cơ rơi vào trạng thái không ổn định – một hệ thống sẽ thất bại khi có một thay đổi nhỏ; một hệ thống có thể khó mà thử đợc, một hệ thống mà ngời ta không thể nào xác nhận đợc chất lợng chừng nào cha đến cuối tiến trình kiểm thử; khi thời gian còn rất ngắn và nhiều tiền đã phải chi ra.
2.4.3.2 TiÕn tr×nh thiÕt kÕ phÇn mÒm
Tiến trình thiết kế phần mềm là một tiến trình qua đó các yêu cầu của khách hàng sẽ đợc chuyển đổi thành sự biểu diến phần mềm Ban đầu biểu diễn phần mềm sẽ mô tả cho quan điểm về toàn bộ phần mềm, quá trình tiếp theo sẽ chi tiết hoá việc biểu diễn thiết kế rất gần với chơng trình gốc.
Theo quan điểm quản lý dự án, thiết kế phần mềm đợc tiến hành theo hai bớc Thiết kế sơ bộ quan tâm tới việc dịch các yêu cầu thành kiến trúc dữ liệu và phần mềm Thiết kế chi tiết tập trung vào việc làm mịn biểu diễn kiến trúc để dẫn tới cấu trúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mềm.
Thiết kế giao diện
Trong thực tế nếu chúng ta gặp phải những “giao diện” khó sử dụng, lẫn lộn, không thân thiện với ngời dùng thì công việc hoàn toàn khó nhọc và dẫn tới chán nản Còn nếu gặp những “giao diện thông minh” thì công việc trở nên nhàn nhã, thuận lợi và gây sự hào hứng, tạo ra sức hút đối với ngời dùng Giao diện là “bộ mặt” của phần mềm máy tính Nếu nó dễ học, sử dụng đơn giản, thân thiện với ngời dùng thì sẽ thiên về hớng dùng hiệu quả những cái có bên trong Thực chất “giao diện” là cơ chế qua đó thiết lập đối thoại giữa chơng trình và ngời dùng.
Phần mềm quản lý dự án
Tiến trình thiết kế giao diện với việc tạo ra các mô hình khác nhau về chức năng hệ thống (nh đợc cảm nhận từ bên ngoài) Trớc hết phải phác hoạ ra các nhiệm vụ hớng con ngời và máy tính cần để đạt tới chức năng của hệ thống, xem xét vấn đề thiết kế áp dụng cho mọi thiết kế giao diện, rồi sử dụng các công cụ làm bản mẫu và cuối cùng là cài đặt cho mô hình thiết kế và đánh giá có kết quả và chất lợng.
2.4.4.1 Mô hình thiết kế giao diện
Mô hình thiết kế của toàn bộ hệ thống tổ hợp các biểu diễn dữ liệu, kiến trúc và thủ tục của phần mềm, đặc tả các yêu cầu có thể thiết lập nên một số ràng buộc giúp cho việc định nghĩa ngời dùng của hệ thống, nhng thiết kế giao diện thờng chỉ ngẫu nhiên là mô hình kinh tế.
Mô tả sơ lợc cho ngời dùng cuối cùng của hệ thống Để xây dựng một giao diện ngời dùng có hiệu quả mọi thiết kế nên bắt đầu với một hiểu biết về ngời dùng đợc dự định, nghĩa là nên xác định rằng: phần mềm đợc thiết kế cho đối tợng nào sử dụng? (kể cả về các thông tin: giới tính, khả năng về trình độ văn hoá, tôn giáo, thể chất, tuổi tác…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài).
- Cảm nhận hệ thống là hình ảnh của hệ thống mà ngời dùng mang trong đầu, mô hình này sẽ rất có lợi cho những ngời đã hiểu biết về hệ thống đó khi sử dụng phần mềm nhng lại gây sự khó tiếp cận đối với những ngời mới tìm hiểu hệ thống, cha biết gì về hệ thống.
Hình ảnh hệ thống tổ hợp cách biểu lộ bên ngoài của hệ thống dựa trên máy tính (nhìn và cảm nhận giao diện) với mọi thông tin hỗ trợ (băng video, sách, tài liệu sử dụng) mô tả cho cú pháp và ngữ nghĩa của hệ thống Khi hình ảnh hệ thống và cảm nhận hệ thống trùng nhau thì nói chung ngời dùng cảm thấy thoải mái với phần mềm và dùng nó một cách hiệu quả, nói cách khác, phần mềm đợc gọi là “thân thiện với ngời dùng” Nói chung, để thực hiện đợc điều này thì mô hình thiết kế phải đợc xây dựng phù hợp với thông tin đợc chứa trong mô hình ngời dùng và hình ảnh hệ thống phải phản ánh chính xác thông tin về ngữ nghĩa của giao diện.
2.4.4.2 Phân tích và mô hình hoá nhiệm vụ thiết kế giao diện
Phân tích nhiệm vụ thiết kế đó là phân tích chức năng hay làm mịn dần từng b- ớc nh cơ chế để làm mịn các nhiệm vụ xử lý cần cho phần mềm hoàn thành một chức năng mong muốn nào đó Có thể áp dụng việc phân tích nhiệm vụ theo hai cách:
- Thứ nhất là cách tiếp cận tổng thể tới phân tích nhiệm vụ dùng để thay thế cho các hoạt động thủ công hay bán thủ công Để hiểu các nhiệm vụ phải đợc thực hiện hoàn thành mục tiêu của hoạt động, ngời kỹ s lập trình phải hiểu những nhiệm vụ mà con ngời hiện đang thực hiện (khi dùng thủ công) rồi ánh xạ các nhiệm vụ này vào một tập các nhiệm vụ tơng tự đợc cài để thiết kế giao diện
- Thứ hai là chọn quan điểm hớng sự vật, bằng cách này ngời thiết kế phải quan sát các sự vật vật lý và các hành động đợc áp dụng cho từng sự vật.
Sau khi phân tích thì tiến hành các bớc nh:
+ Thiết lập các mục tiêu và ý đồ cho nhiệm vụ + ánh xạ từng mục tiêu thành dãy các hành động xác định + Xác định dãy các hành động khi nó sẽ đợc thực hiện tại mức giao diện + Chỉ ra trạng thái của hệ thống, tức là giao diện sẽ thế nào vào lúc thực hiện? + Xác định các cơ chế điều khiển cho ngời dùng
+ Chỉ ra cách thức ngời dùng diễn giải trạng thái của hệ thống từ thông tin đợc cung cấp qua giao diện
2.4.4.3 Nguyên tắc thiết kế giao diện
Thiết kế giao diện phải tuân thủ các nguyên tắc sau đây:
- Dùng định dạng nhất quán cho việc chọn thực đơn, hiển thị dữ liệu.
- Dùng các động từ đơn giản hay cụm động từ ngắn gọn để đặt tên chỉ lệnh.
- Phải cung cấp cho ngời dùng những thông tin phản hồi nhằm thiết lập trao đổi thông tin hai chiều.
- Yêu cầu kiểm chứng mọi hành động phá huỷ không tầm thờng Ví dụ sửa tệp, xoá tệp, ghi đè cần có thông báo “Có chắc không…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài?” xuất hiện Hay đa ra những thông báo lỗi có nghĩa “Dữ liệu này đã đợc tính toán, không thể xoá đ- ợc!”.
- Cho phép dễ dàng lần ngợc nhiều hành động (Reverse,Undo…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài).
- Giảm tối thiểu số hành động đa vào mà ngời dùng cần thực hiện.
- Chỉ hiện thị thông tin có liên quan tới ngữ cảnh hiện tại và thông tin đợc hiển thị phải nhất quán.
- Phân loại các hoạt động theo chức năng và tổ chức màn hình hài hoà theo vùng.
2.4.4.4 Chu trình đánh giá thiết kế giao diện
Sau khi hoàn tất việc thiết kế sơ bộ, bản mẫu mức đầu sẽ đợc tạo ra Ng- ời dùng sẽ đánh giá bản mẫu, cung cấp cho ngời thiết kế những ý kiến đóng góp trực tiếp về tính hiệu quả của giao diện, những sửa đổi về thiết kế đợc thực hiện dựa trên những thông tin đó và bản mẫu tiếp theo đợc tạo ra Chu trình đánh giá tiếp tục cho tới khi không còn sửa đổi gì nữa.
Thiết kế giao diện hoàn tất
Hình 2.9 Chu trình đánh giá thiết kế giao diện
LËp tr×nh
Sau khi hoàn tất các thiết kế sẽ tiến hành lập trình Lập trình đợc coi là khâu cuối cùng trong giai đoạn xây dựng (Hình 2.10) Một triết lý đơn giản luôn phải lu ý đó là: chơng trình đợc lập phải dễ hiểu, nhấn mạnh vào các tính toán đơn giản và rõ ràng
X©y dùng giao diện bản mẫu n
X©y dùng giao diện bản mẫu 1
Ngời thiết kế nghiên cứu đánh giá
Tiến hành sửa đổi thiết kế Ngời dùng đánh giá giao diện
ThiÕt kÕ dữ liệu và kiến trúc Xét duyệt Thiết kÕ giao diện
Xét duyệt Đặc tả thiết kế sơ bộ
Mã gốc chơng tr×nh
Bản mẫu Đặc tả thiết kÕ chi tiÕt
Hình 2.10 Sơ đồ xây dựng của quy trình thiết kế phần mềm Thực hiện lập trình bao gồm các bớc sau:
- Xác định tài liệu chơng trình gốc
Tài liệu bên trong của chơng trình gốc bắt đầu với việc chọn lựa các tên gọi định danh (biến và nhãn), tiếp tục với vị trí và thành phần của việc chú thích và kết luận với cách tổ chức trực quan của chơng trình Việc lựa chọn các tên gọi định danh có nghĩa chính là điều chủ chốt cho việc hiểu chơng trình. Tên gọi có ý nghĩa làm đơn giản hoá việc chuyển đổi từ cú pháp chơng trình sang cấu trúc ngữ nghĩa bên trong Khả năng diễn tả những lời chú thích theo ngôn ngữ tự nhiên nh một phần của bản in chơng trình gốc Lời chú thích mở đầu nên đặt ngay đầu của mọi module, các chú thích mô tả đợc nhúng vào bên trong thân của chơng trình gốc và đợc dùng để mô tả cho các hàm xử lý
- Khai báo dữ liệu Độ phức tạp và việc tổ chức cấu trúc dữ liệu đợc xác định trong bớc thiết kế (mục 2.4.4.2), phong cách khai báo dữ liệu đợc thiết lập khi chọn lựa ngôn ngữ lập trình, nhìn chung nên khai báo đơn giản, dễ hiểu để dễ bảo trì.
Việc xây dựng luồng logíc phần mềm đợc thiết lập trong khi thiết kế (mục 2.4.4.3), việc xây dựng từng câu lệnh tuy nhiên lại là một phần của bớc lập trình Xây dựng câu lệnh phải tuân theo một quy tắc: “mỗi câu lệnh nên đơn giản và trực tiếp, chơng trình không nên bị xoắn xít để tính hiệu quả” Xây dựng các câu lệnh đơn và tụt lề để minh hoạ cho các đặc trng logic và chức năng của từng đoạn Các câu lệnh trong chơng trình nên đơn giản hoá bởi: + Việc tránh dùng các phép kiểm tra bởi điều kiện phức tạp
+ Khử bỏ các phép kiểm tra điều kiện phủ định + Tránh lồng nhau nhiều giữa các điều kiện hay chu trình + Dùng dấu ngoặc để làm sáng tỏ các biểu thức logíc hay số học + Dùng dấu cách và các ký hiệu dễ đọc để làm sáng tỏ nội dung câu lệnh
Tóm lại : Bớc lập trình của quy trình thiết kế một phần mềm ứng dụng là một tiến trình dịch Thiết kế chi tiết đợc lập sang một ngôn ngữ lập trình mà cuối cùng (và tự động) đợc biến đổi thành các câu lệnh mã mà máy thực hiện đợc Các đặc trng tâm lý và kỹ thuật của ngôn ngữ lập trình ảnh hởng tới việc dễ dịch từ thiết kế và lỗ lực cần thiết kế để kiểm thử và bảo trì phần mềm Lập trình là cốt lõi của tiến trình xây dựng phần mềm Các bớc quan trọng chủ chốt phải đi trớc lập trình để đặc tả thiết kế chi tiết, và còn các bớc cũng tơng đối quan trọng đi sau lập trình đó là các bớc của giai đoạn kiểm thử, triển khai và đào tạo sử dụng.
Kiểm thử phần mềm là giai đoạn quan trọng của đảm bảo chất lợng phần mềm và biểu thị cho việc xét duyệt về đặc tả, thiết kế và mã hoá Tính minh bạch ngày càng tăng của phần mềm nh một phần tử hệ thống và những chi phí kèm theo liên quan đến những sai hỏng phần mềm là những lực lợng thúc đẩy cho việc kiểm thử toàn vẹn Kiểm thử dẫn ra một sự bất thờng đáng quan tâm đối với ngời lập trình Trong các giai đoạn xác định và phát triển ban đầu, ngời lập trình cố gắng xây dựng phần mềm từ một quan điểm trìu tợng tới việc thực hiện hữu hình.
2.4.6.1 Mục đích của kiểm thử
Mục đích của kiểm thử nhằm phát hiện ra những khiếm khuyết trong phần mềm Xem nh một ích lợi phụ, kiểm thử chứng tỏ rằng các chức năng phần mềm dờng nh làm việc theo đặc tả, rằng các yêu cầu hiệu năng dờng nh là đợc đáp ứng Bên cạnh đó dữ liệu thu thập đợc khi việc kiểm thử đợc tiến hành đa ra một chỉ dẫn tốt về độ tin cậy phần mềm và một chỉ dẫn nào đó về phẩm chất phần mềm Nhng có một điều mà kiểm thử không thể làm đợc đó là : “kiểm thử không thể chứng minh đợc việc không có khiếm khuyết, nó chỉ có thể chứng minh đợc rằng khiếm khuyết phần mềm hữu hiệu”.
2.4.6.2 Luồng thông tin kiểm thử
Kiểm thử đợc tiến hành và tất cả các kết quả đều đợc đánh giá Kết quả của kiểm thử sẽ đợc so sánh với kết quả dự kiến Khi dữ liệu lỗi đợc phát hiện ra thì quá trình xửa lỗi đợc tiến hành, việc xửa lỗi có thể mất rất nhiều thời gian tuỳ thuộc vào mức độ của chơng trình Nếu hay bắt gặp những lỗi nghiêm trọng yêu cầu sửa đổi thiết kế thì chất lợng và độ tin cậy của phần mềm là đáng ngờ và các kiểm thử thêm nữa là cần phải có Mặt khác nếu các chức năng của phần mềm dờng nh làm việc đúng và lỗi gặp phải là dễ sửa thì có thể rút ra một trong hai kết luận: chất lợng và độ tin cậy của phần mềm là chấp nhận đợc hay kiểm thử là không tơng xứng để làm lộ ra những lỗi nghiêm trọng Cuối cùng nếu việc kiểm thử không làm lộ ra lỗi nào thì có hoài nghi rằng cấu hình kiểm thử cha đợc cân nhắc đúng mức Đánh giá
Cấu hình Kết quả Lỗi phần mềm kiểm thử
Dữ liệu tỷ lệ lỗi
Kết quả trông đợi Sửa chữa
CÊu h×nh kiểm thử §é tin cËy dù kiÕn
Hình 2.12 Luồng thông tin kiểm thử
2.4.6.3 Kỹ thuật kiểm thử Để thực hiện đợc mục tiêu kiểm thử ngời ta sử dụng hai loại kỹ thuật kiểm thử khác nhau, đó là kiểm thử hộp đen và kiểm thử hộp trắng.
Kiểm thử hộp đen là việc tiến hành kiểm thử xem từng chức năng có vận hành hoàn toàn không Điều này ám chỉ rằng việc kiểm thử hộp đen chỉ đ- ợc tiến hành tại giao diện phần mềm Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần mềm, tức là việc kiểm thử hộp đen làm cho ngời lập trình suy ra đợc tập các điều kiện vào sẽ thao diễn qua tất cả các yêu cầu chức năng đối với một chơng trình Việc kiểm thử hộp đen dự định tìm lỗi trong các phạm vi sau đây:
+ Các chức năng không đúng hay bị bỏ sót + Lỗi giao diện
+ Lỗi trong cấu trúc dữ liệu hay thâm nhập cơ sở dữ liệu ngoài + Lỗi hiệu năng
+ Lỗi khởi đầu và kết thúc
Một số phơng pháp kiểm thử hộp đen
* Phân hoạch tơng đơng: là một phơng pháp kiểm thử hộp đen phân chia miền dữ liệu vào của chơng trình thành các lớp dữ liệu từ đó các trờng hợp kiểm thử có thể đợc suy dần ra Một trờng hợp kiểm thử đơn thành công sẽ làm lộ ra một lớp lỗi mà nếu không có nó thì có thể phải đòi hỏi thực hiện nhiều trờng hợp kiểm thử khác trớc khi phát hiện ra lỗi chung Chính vì vậy mà phơng pháp này làm giảm tổng số các trờng hợp kiểm thử phải thực hiện.
* Phân tích giá trị biên: trong khi sử dụng phơng pháp phân hoạch tơng đơng thì một trờng hợp kiểm thử nào đó sẽ cho một số lớn các lỗi có khuynh hớng xuất hiện tại biên của miền giá trị Việc kiểm thử, phân tích giá trị biên này sẽ dẫn tới phải chọn bất kỳ một phần tử nào của lớp phân hoạch Chính vì vậy mà phơng pháp phân tích giá trị biên đợc phát triển nh một kỹ thuật kiểm thử để bổ sung cho phơng pháp phân hoạch tơng đơng.
* Kỹ thuật đồ thị nhân quả: là kỹ thuật thiết kế trờng hợp kiểm thử cung cấp cả cách biểu diễn chính xác cho các điều kiện logíc và hành động tơng ứng.
* Kiểm thử so sánh: đó là phơng pháp sử dụng những phần mềm d thừa đủ độ tin cậy để phát triển thành những bản độc lập của ứng dụng bằng cách dùng cùng đặc tả Mỗi bản có thể đợc kiểm thử với cùng dữ liệu thử để đảm bảo rằng tất cả đều đa ra kết quả giống nhau Những bản độc lập này tạo lên cơ sở cho một kỹ thuật kiểm thử hộp đen mới đợc gọi là “kiểm thử so sánh”
Thiết Kế Phần Mềm Quản Lý Dự án Tại Công Ty Cổ Phần Công Nghệ Thông tin Sông Đà
Về giao diện
Giao diện của chơng trình phải dễ nhìn và thân thiện với ngời dùng Menu chính của chơng trình phải thể hiện đợc khái quát tất cả các chức năng chính của chơng trình.
Về hệ thống
- Quản lý dự án: đa ra các thông tin về dự án của khách hàng + Tên dự án của khách hàng
+ Các thiết bị có thể có đợc sử dụng thực hiện dự án + Các nhân viên tham gia dự án
+ Thời gian bắt đầu và thời gian hoàn thành dự án
- Quản lý hợp đồng + Ngày ký kết hợp đồng + Nội dung của hợp đồng + Gía trị quyết toán
- Quản lý khách hàng + Hệ thống phải luôn cho biết đợc trạng thái các dự án của khách hàng:
* Hoàn thành: các dự án đã hoàn thành đúng hoặc sớm hơn thời hạn quy định.
* Qúa tthời hạn: các dự án hoàn thành không đúng thời hạn.
* Cha hoàn thành:Các dự án đang trong giai đoạn hoàn thành.
+ Hệ thống phải có chức năng tìm kiếm theo yêu cầu của ngời sử dụng + Hệ thống phải có đầy đủ các thông tin về khách hàng để khi khách hàng cần thiết có thể liên lạc.
- Quản lý nhân viên + Đa ra đầy đủ các thông tin về nhân viên + Các chức danh của nhân viên khi tham gia dự án: lập trình viên, tr ởng nhóm dự án, quản trị viên…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
- Báo cáo + Lập báo cáo danh mục khách hàng + Lập báo cáo chi tiết các dự án + Lập báo cáo chi tiết các hợp đồng + Báo cáo thanh toán hợp đồng
- Tra cứu + Tra cứu theo mã khách hàng, tên khách hàng + Tra cứu các dự án theo mã dự án, tên dự án + Tra cứu thiết bị
+ Tra cứu các nhân viên theo mã nhân viên và tên nhân viên
Sơ đồ luồng thông tin dùng để mô tả hệ thống theo cách thức động, mô hình này đợc dùng để mô tả sự di chuyển của dữ liệu, việc xử lý và lu trữ trong thế giới vật lý qua các biểu đồ
* Các ký pháp dùng trong sơ đồ luồng thông tin IFD
Thủ công Giao tác ngời – máy Tin học hoá hoàn toàn
Tin học hoá Thủ công
3.3.2 Sơ đồ luồng thông tin quản lý dự án
Thời điểm Các thông tin liên quan đến dự án phòng tổng hợp Các phòng liên quan
3.3.3 Sơ đồ luồng thông tin quản lý hợp đồng
Thời điểm Hợp đồng Phòng tổng hợp Các phòng ban có liên quan
Tổng hợp thông tin án thô
Chỉnh sửa và cải tiến dữ liệu
Quy trình xử lý cuối cùng
Các tài liệu liên quan đến dự án: thiết bị, nhân viên, khách hàng,…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
Các phòng ban liên quanLên báo cáo
3.3.4 Sơ đồ luồng thông tin quản lý khách hàng
Thời điểm Khách hàng Phòng tổng hợp Các phòng ban có liên quan
Các phòng ban, cá nhân cã nhu cÇu
3.3.5 Mô hình hoá tiến trình
* Các ký pháp đợc sử dụng:
Các phòng ban, cá nhân cã nhu cÇu
Lên báo cáo với hệ thống, tác nhân bên ngoài chính là nguồn dữ liệu hoặc là đích thông tin.
- Tác nhân bên trong: Là một chức năng hay một tiến trình bên trong hệ thống đợc mô tả ở trang khác của mô hình
- Dòng dữ liệu: Là việc chuyển dữ liệu (thông tin) vào hoặc ra khỏi một tiến trình Nó đợc chỉ ra trên sơ đồ bằng một đờng kẻ có mũi tên ở ít nhất một đầu Mũi tên chỉ hớng đi trên dòng dữ liệu (thông tin).
- Mỗi tiến trình có chức năng biến đổi thông tin đầu vào theo một cách nào đó nh tổ chức lại thông tin, bổ sung thông tin hoặc tạo thông tin mới. Trong sơ đồ DFD hình tròn dùng để biểu diễn tiến trình.
- Kho dữ liệu: Các kho dữ liệu trong DFD biểu diễn cho dữ liệu (thông tin) cần phải giữ trong một khoảng thời gian để một hoặc nhiều tác nhân truy cập vào
Sơ đồ chức năng (BFD – Business Function Diagram)
Tên ngời/bộ phận phát nhËn tin
CËp nhËt d÷ liệu Tính toán và xử lý Báo cáo Tra cứu
Tính toán công nợ khách hàng Báo cáo theo dự án Tra cứu theo mã dự án CËp nhËt khách hàng
* Sơ đồ luồng dữ liệu DFD mức ngữ cảnh (Context Diagram) chơng trình quản lý dự án:
* Sơ đồ DFD mức 0 chơng trình quản lý dự án:
Hàng Lãnh đạo công ty Quản Lý Dự án
2.0 Tính toán và xử lý Nhân viên
Tính giá trị thanh toán hợp đồng
Báo cáo theo hợp đồng Tra cứu theo mã hợp đồng
Báo cáo thời kỳ theo dự án Cập nhật dự án
D1: Khách hàng D2: Dự án D3: Nhân viên D4: Hợp đồng
Dữ liệu cha qua tính toán và xử lý
Dữ liệu thiết bị Dữ liệu hợp đồng Dữ liệu nhân viên
3.4-Thiết kế cơ sở dữ liệu
Trớc khi tiến hành các bớc tiếp theo của quá trình xây dựng phần mềm quản lý dự án thì nhiệm vụ cần thiết đó là thiết kế một cở dữ liệu hoàn chỉnh phục vụ cho công tác quản lý dự án Việc thiết kế cơ sở dữ liệu đó chính là việc xây dựng lên các tệp dữ liệu trong cơ sở dữ liệu và thiết lập lên các mối quan hệ giữa các tệp đó sao cho từ các tệp đó tạo ra đợc tất cả các thông tin đầu ra đáp ứng yêu cầu Từ đầu vào là các thông tin khách hàng, các thông tin hợp đồng và các thông tin dự án ta liệt kê các thông tin đầu ra của hệ thống, các thuộc tính có # là các thuộc tính khoá chính:
- Gía trị tạm ứng thanh toán
Lãnh đạo công ty Nhân viên
Các báo cáo liên quan Tổng hợp
Y/C tra cứu Dữ liệu cần tra cứu
Trên cơ sở danh sách các thuộc tính đã lập, ta tiến hành chuẩn hoá cơ sở dữ liệu theo các quy tắc chuẩn hoá 1.NF, 2.NF, 3.NF
+ Chuẩn hoá mức 1 (1.NF – First Normal Form): Chuẩn hoá mức 1 đó là quá trình tách các thuộc tính lặp trong danh sách ra thành một danh sách con, sau đó gắn cho danh sách con đó một tên có ý nghĩa theo quan điểm của nhà quản lý, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
+ Chuẩn hoá mức 2 (2.NF – Second Normal Form): chuẩn hoá mức 2 quy định rằng trong một danh sách mỗi thuộc tính phải phụ thuộc hàm vào toàn bộ từ khoá chứ không chỉ phụ thuộc vào một phần của khoá Nếu có sự phụ thuộc hàm nh vậy thì tách những thuộc tính phụ thuộc vào bộ phận của khoá thành một danh sách con mới, lấy bộ phận khoá đó làm khoá cho một danh sách mới, đặt cho danh sánh này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách. danh sách con, sau đó xác định khoá và tên cho mỗi danh sách con mới vừa tạo ra.
Chuẩn hoá 1.NF Chuẩn hoá 2.NF Chuẩn hoá 3.NF
Dự án Dự án Dự án
1.#Mã dự án 1.#Mã dự án 1.#Mã dự án
2.Tên dự án 2.Tên dự án 2.Tên dự án
3.Ngày bắt đầu 3.Ngày bắt đầu 3.Ngày bắt đầu
4.Ngày bàn giao 4.Ngày bàn giao 4.Ngày bàn giao
5.Ghi chó 5.Ghi chó 5.Ghi chó
Hợp đồng Hợp đồng Hợp đồng
1.#Mã hợp đồng 1.#Mã hợp đồng 1.#Mã hợp đồng
2.Mã khách hàng 2.Mã khách hàng 2.Số hợp đồng
3.Mã dự án 3.Mã dự án 3.Ngày ký hợp đồng
4.Số hợp đồng 4.Số hợp đồng 4.Đối tác
5.Ngày ký hợp đồng 5.Ngày ký hợp đồng 5.Nội dung hợp đồng
6.Đối tác 6.Đối tác 6.Gía trị quyết toán
7.Nội dung hợp đồng 7.Nội dung hợp đồng 7.Gía trị TƯ/TT
8.Gía trị quyết toán 8.Gía trị quyết toán 8.Ngày bàn giao
9.Gía trị TƯ/TT 9.Gía trị TƯ/TT 9.Ghi chú
10.Ngày bàn giao 10.Ngày bàn giao 10 Ngày bàn giao
11.Ghi chú 11.Ghi chú 11.Đơn vị tính
12.Ngày bàn giao 12 Ngày bàn giao
13.Đơn vị tính 13.Đơn vị tính
Thanh toán hợp đồng Thanh toán hợp đồng Hợp đồng
1 Mã hợp đồng 1.Mã hợp đồng 1.#Mã hợp đồng
2 Mã khách hàng 2 mã khách hàng 2 Tên hợp đồng
3.Ngày thanh toán 3 Ngày thanh toán Thanh toán hợp đồng
4.Số tiền 4 Số tiền 1 Mã hợp đồng
5.Nội dung thanh toán 5 Nội dung thanh toán 2 Ngày thanh toán
6.Ghi chó 6 Ghi chó 3 Sè tiÒn
7.Đơn vị tính 7 Đơn vị tính 4 Nội dung thanh toán
Khách hàng Khách hàng Khách hàng
1 #Mã khách hàng 1 #Mã khách hàng 1 #Mã khách hàng
3 Mã dự án 2 Tên khách hàng
3 Mã dự án 2 Tên khách hàng
4 Số điện thoại 4 Số điện thoại 4 Địa chỉ
5 Địa chỉ 5 Địa chỉ 5 Số Fax
6 Sè Fax 6 Sè Fax 6 Ghi chó
Thiết bị Thiết bị Thiết bị
1 #Mã thiết bị 1 #Mã thiết bị 1 #Mã thiết bị
2 mã dự án 2 mã dự án 2 Tên thiết bị
3 Tên thiết bị 3 Tên thiết bị 3 Ghi chú
Nhân viên Nhân viên Nhân viên
1 #Mã nhân viên 1 #Mã nhân viên 1 #Mã nhân viên
2 Mã dự án 2 Mã dự án 2 Tên nhân viên
3 Tên nhân viên 3 Tên nhân viên 3 Ngày sinh
4 Ngày sinh 4 Ngày sinh 4 Giới tính
5 Giới tính 5 Giới tính 5 Số điện thoại
6 Số điện thoại 6 Số điện thoại 6 Số Fax
7 Số Fax 7 Số Fax 7 Địa chỉ
8 Địa chỉ 8 Địa chỉ 8 Ghi chú
Tích hợp các tệp để tạo ra một cơ sở dữ liệu, sau đây là sơ đồ mối liên kết giữa các tệp dữ liệu:
#Mã khách hàng Tên khách hàng Địa chỉ Điện thoại
Mã dự án Mã khách hàng
#Mã hợp đồng Mã dự án Số hợp đồng Mã khách hàng
Các tệp cơ sở dữ liệu
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Maduan Character 15 Mã dự án
Tenduan Character 50 Tên dự án
Ngaykc Date 8 Ngày khởi công
Ngaybg Date 8 Ngày bàn giao
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Makh Character 15 Mã khách hàng
Tenkh Character 50 Tên khách hàng
Mã hợp đồng Mã khách hàng Ngày thanh toán Số tiền …Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
#Mã dự án Tên dự án Ngày khởi công Ngày bàn giao Ghi chú
Mã dự án Mã nhân viên
#Mã nhân viên Tên nhân viên Ngày sinh
Mã dự án Mã thiết bị
#Mã thiết bị Tên thiết bị Ghi chú
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Matb Character 15 Mã thiết bị
Tentb Character 50 Tên thiết bị
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
Matb Character 15 Mã thiết bị
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
#Mahopdong Character 15 Mã hợp đồng
Makh Character 15 Mã khách hàng
Tenkh Character 50 Tên khách hàng
Sohopdong Character 15 Số hợp đồng
Ngayky Date 8 Ngày ký hợp đồng
Noidung Character 50 Nội dung hợp đồng
Gtqt Numeric 25 Gía trị quyết toán
Gttutt Numeric 25 Gía trị thanh toán tạm ứng
Ngaybg Date 8 Ngày bàn giao
Tên trờng Kiểu trờng Độ rộng Diễn dải
Mahopdong Character 15 Mã hợp đồng
Makh Character 15 Mã khách hàng
Ngaytt Date 8 Ngày thanh toán
Noidungtt Character 50 Nội dung thanh toán
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
Manv Character 15 Mã nhân viên
Sơ đồ quan hệ thực thể giữa các bảng
3.5.2 Thuật toán thêm một bản ghi vào cơ sở dữ liệu
Kiểm tra tên ngời dùng và mËt khÈu
Nhập tên ngời dùng và mật khẩu
3.5.3 Thuật toán sửa dữ liệu
Cập nhật thông tin cần thêm Kiểm tra thông tin
Bổ sung dữ liệu kt
Chọn bản ghi cần sửa
3.5.4 Thuật toán in báo cáo
Chọn tiêu chí in báo cáo
Hiện thông báo lỗi, yêu cầu chọn lại
3.6- Một số giao diện và báo cáo chính
3.6.1 Giao diện đăng nhập chơng trình Đây là giao diện đầu tiên của chơng trình, muốn qua cổng này để vào đ- ợc bên trong phần mềm thì ngời đăng nhập phải đợc phép sử dụng, nghĩa là phải có tên trong danh sách những ngời sử dụng phần mềm Ngời sử dụng nhập đúng tên và mật khẩu thì chơng trình sẽ tiếp tục, nếu ngời sử dụng nhập mật mã tới lần thứ ba thì chơng trình sẽ tự động đóng màn hình đăng nhập và không cho ngời sử dụng truy nhập phần mềm. của chơng trình Nh vậy là chơng trình gồm các chức năng lớn đó là: Hệ thống, Cập nhật, Tra cứu, Báo cáo Sau khi truy cập đợc vào hệ thống, tuỳ theo quyền ngời sử dụng đợc cấp mà ngời sử dụng có thể cập nhật các bảng danh mục, cập
3.6.4 Giao diện màn hình cập nhật dự án
Giao diện này cho phép cập nhật các thông tin về dự án nh: Mã dự án, tên dự án, ngày khởi công thực hiện dự án, ngày bàn giao dự án và một số thông tin khác có thể liên quan đến dự án. mật khẩu truy nhập của mình bằng mật khẩu mới, mật khẩu mới phải đợc nhập vào hai lần để đảm bảo tính chính xác trong quá trình nhập quyền Supervisor thì có thể đăng ký thêm ngời dùng mới cho chơng trình phần mềm, trao cho ngời dùng mới mật khẩu và quyền hạn nhất định khi thao tác trong chơng trình.
Yêu cầu phần mềm: Có thể dùng trong nhiều hệ điều hành khác nhau, lu trữ thông tin phải an toàn và bảo mật đảm bảo yêu cầu về mức độ thân thiện và dễ sử dụng Để đảm bảo an toàn thông tin cho hệ thống, khi sử dụng chơng trình nhất thiết phải đăng nhập vào hệ thống thông qua Username và Password, nếu ngời dùng đăng nhập đúng thì menu chơng trình sẽ hiển thị Lúc này ngời dùng có thể thao tác với phần mềm ứng dụng để thực hiện công việc quản lý dự án của Công ty thông qua các chức năng của chơng trình phần mềm.
+ Chức năng hệ thống: Để đảm bảo an toàn thông tin, chống các hành động truy cập bất hợp pháp đòi hỏi mỗi chơng trình phần mềm phải có các hình thức bảo mật thông tin riêng Ta có thể dùng các hình thức bảo vệ kiểm tra mật khẩu, mã hoá dữ liệu, phân quyền ngời dùng…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài Trong chơng trình này sử dụng hình thức bảo vệ đơn giản là kiểm tra mật khẩu đối với ngời dùng, ng- ời dùng sẽ phải nhập Username và Password khi sử dụng chơng trình Trong quá trình sử dụng, ngời dùng có thể thực hiện các công việc nh cập nhật, tìm kiếm, báo cáo tuỳ theo mức độ phân quyền của ngời dùng Nếu ngời dùng có quyền Supervisor thì có thể truy xuất đợc mọi chức năng trong menu, nếu ngời dùng có quyền là Operator thì truy xuất đợc mọi chức năng trong menu, nhng không thể đăng ký ngời dùng mới, nếu ngời dùng có quyền là Everybody thì không thể truy xuất những chức năng cập nhật, thêm ngời dùng mới.
Sơ đồ luồng thông tin quản lý dự án
Thời điểm Các thông tin liên quan đến dự án phòng tổng hợp Các phòng liên quan
Sơ đồ luồng thông tin quản lý hợp đồng
Thời điểm Hợp đồng Phòng tổng hợp Các phòng ban có liên quan
Tổng hợp thông tin án thô
Chỉnh sửa và cải tiến dữ liệu
Quy trình xử lý cuối cùng
Các tài liệu liên quan đến dự án: thiết bị, nhân viên, khách hàng,…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
Các phòng ban liên quanLên báo cáo
Sơ đồ luồng thông tin quản lý khách hàng
Thời điểm Khách hàng Phòng tổng hợp Các phòng ban có liên quan
Các phòng ban, cá nhân cã nhu cÇu
Mô hình hoá tiến trình
* Các ký pháp đợc sử dụng:
Các phòng ban, cá nhân cã nhu cÇu
Lên báo cáo với hệ thống, tác nhân bên ngoài chính là nguồn dữ liệu hoặc là đích thông tin.
- Tác nhân bên trong: Là một chức năng hay một tiến trình bên trong hệ thống đợc mô tả ở trang khác của mô hình
- Dòng dữ liệu: Là việc chuyển dữ liệu (thông tin) vào hoặc ra khỏi một tiến trình Nó đợc chỉ ra trên sơ đồ bằng một đờng kẻ có mũi tên ở ít nhất một đầu Mũi tên chỉ hớng đi trên dòng dữ liệu (thông tin).
- Mỗi tiến trình có chức năng biến đổi thông tin đầu vào theo một cách nào đó nh tổ chức lại thông tin, bổ sung thông tin hoặc tạo thông tin mới. Trong sơ đồ DFD hình tròn dùng để biểu diễn tiến trình.
- Kho dữ liệu: Các kho dữ liệu trong DFD biểu diễn cho dữ liệu (thông tin) cần phải giữ trong một khoảng thời gian để một hoặc nhiều tác nhân truy cập vào
Sơ đồ chức năng (BFD – Business Function Diagram)
Tên ngời/bộ phận phát nhËn tin
CËp nhËt d÷ liệu Tính toán và xử lý Báo cáo Tra cứu
Tính toán công nợ khách hàng Báo cáo theo dự án Tra cứu theo mã dự án CËp nhËt khách hàng
* Sơ đồ luồng dữ liệu DFD mức ngữ cảnh (Context Diagram) chơng trình quản lý dự án:
* Sơ đồ DFD mức 0 chơng trình quản lý dự án:
Hàng Lãnh đạo công ty Quản Lý Dự án
2.0 Tính toán và xử lý Nhân viên
Tính giá trị thanh toán hợp đồng
Báo cáo theo hợp đồng Tra cứu theo mã hợp đồng
Báo cáo thời kỳ theo dự án Cập nhật dự án
D1: Khách hàng D2: Dự án D3: Nhân viên D4: Hợp đồng
Dữ liệu cha qua tính toán và xử lý
Dữ liệu thiết bị Dữ liệu hợp đồng Dữ liệu nhân viên
3.4-Thiết kế cơ sở dữ liệu
Trớc khi tiến hành các bớc tiếp theo của quá trình xây dựng phần mềm quản lý dự án thì nhiệm vụ cần thiết đó là thiết kế một cở dữ liệu hoàn chỉnh phục vụ cho công tác quản lý dự án Việc thiết kế cơ sở dữ liệu đó chính là việc xây dựng lên các tệp dữ liệu trong cơ sở dữ liệu và thiết lập lên các mối quan hệ giữa các tệp đó sao cho từ các tệp đó tạo ra đợc tất cả các thông tin đầu ra đáp ứng yêu cầu Từ đầu vào là các thông tin khách hàng, các thông tin hợp đồng và các thông tin dự án ta liệt kê các thông tin đầu ra của hệ thống, các thuộc tính có # là các thuộc tính khoá chính:
- Gía trị tạm ứng thanh toán
Lãnh đạo công ty Nhân viên
Các báo cáo liên quan Tổng hợp
Y/C tra cứu Dữ liệu cần tra cứu
Trên cơ sở danh sách các thuộc tính đã lập, ta tiến hành chuẩn hoá cơ sở dữ liệu theo các quy tắc chuẩn hoá 1.NF, 2.NF, 3.NF
+ Chuẩn hoá mức 1 (1.NF – First Normal Form): Chuẩn hoá mức 1 đó là quá trình tách các thuộc tính lặp trong danh sách ra thành một danh sách con, sau đó gắn cho danh sách con đó một tên có ý nghĩa theo quan điểm của nhà quản lý, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
+ Chuẩn hoá mức 2 (2.NF – Second Normal Form): chuẩn hoá mức 2 quy định rằng trong một danh sách mỗi thuộc tính phải phụ thuộc hàm vào toàn bộ từ khoá chứ không chỉ phụ thuộc vào một phần của khoá Nếu có sự phụ thuộc hàm nh vậy thì tách những thuộc tính phụ thuộc vào bộ phận của khoá thành một danh sách con mới, lấy bộ phận khoá đó làm khoá cho một danh sách mới, đặt cho danh sánh này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách. danh sách con, sau đó xác định khoá và tên cho mỗi danh sách con mới vừa tạo ra.
Chuẩn hoá 1.NF Chuẩn hoá 2.NF Chuẩn hoá 3.NF
Dự án Dự án Dự án
1.#Mã dự án 1.#Mã dự án 1.#Mã dự án
2.Tên dự án 2.Tên dự án 2.Tên dự án
3.Ngày bắt đầu 3.Ngày bắt đầu 3.Ngày bắt đầu
4.Ngày bàn giao 4.Ngày bàn giao 4.Ngày bàn giao
5.Ghi chó 5.Ghi chó 5.Ghi chó
Hợp đồng Hợp đồng Hợp đồng
1.#Mã hợp đồng 1.#Mã hợp đồng 1.#Mã hợp đồng
2.Mã khách hàng 2.Mã khách hàng 2.Số hợp đồng
3.Mã dự án 3.Mã dự án 3.Ngày ký hợp đồng
4.Số hợp đồng 4.Số hợp đồng 4.Đối tác
5.Ngày ký hợp đồng 5.Ngày ký hợp đồng 5.Nội dung hợp đồng
6.Đối tác 6.Đối tác 6.Gía trị quyết toán
7.Nội dung hợp đồng 7.Nội dung hợp đồng 7.Gía trị TƯ/TT
8.Gía trị quyết toán 8.Gía trị quyết toán 8.Ngày bàn giao
9.Gía trị TƯ/TT 9.Gía trị TƯ/TT 9.Ghi chú
10.Ngày bàn giao 10.Ngày bàn giao 10 Ngày bàn giao
11.Ghi chú 11.Ghi chú 11.Đơn vị tính
12.Ngày bàn giao 12 Ngày bàn giao
13.Đơn vị tính 13.Đơn vị tính
Thanh toán hợp đồng Thanh toán hợp đồng Hợp đồng
1 Mã hợp đồng 1.Mã hợp đồng 1.#Mã hợp đồng
2 Mã khách hàng 2 mã khách hàng 2 Tên hợp đồng
3.Ngày thanh toán 3 Ngày thanh toán Thanh toán hợp đồng
4.Số tiền 4 Số tiền 1 Mã hợp đồng
5.Nội dung thanh toán 5 Nội dung thanh toán 2 Ngày thanh toán
6.Ghi chó 6 Ghi chó 3 Sè tiÒn
7.Đơn vị tính 7 Đơn vị tính 4 Nội dung thanh toán
Khách hàng Khách hàng Khách hàng
1 #Mã khách hàng 1 #Mã khách hàng 1 #Mã khách hàng
3 Mã dự án 2 Tên khách hàng
3 Mã dự án 2 Tên khách hàng
4 Số điện thoại 4 Số điện thoại 4 Địa chỉ
5 Địa chỉ 5 Địa chỉ 5 Số Fax
6 Sè Fax 6 Sè Fax 6 Ghi chó
Thiết bị Thiết bị Thiết bị
1 #Mã thiết bị 1 #Mã thiết bị 1 #Mã thiết bị
2 mã dự án 2 mã dự án 2 Tên thiết bị
3 Tên thiết bị 3 Tên thiết bị 3 Ghi chú
Nhân viên Nhân viên Nhân viên
1 #Mã nhân viên 1 #Mã nhân viên 1 #Mã nhân viên
2 Mã dự án 2 Mã dự án 2 Tên nhân viên
3 Tên nhân viên 3 Tên nhân viên 3 Ngày sinh
4 Ngày sinh 4 Ngày sinh 4 Giới tính
5 Giới tính 5 Giới tính 5 Số điện thoại
6 Số điện thoại 6 Số điện thoại 6 Số Fax
7 Số Fax 7 Số Fax 7 Địa chỉ
8 Địa chỉ 8 Địa chỉ 8 Ghi chú
Tích hợp các tệp để tạo ra một cơ sở dữ liệu, sau đây là sơ đồ mối liên kết giữa các tệp dữ liệu:
#Mã khách hàng Tên khách hàng Địa chỉ Điện thoại
Mã dự án Mã khách hàng
#Mã hợp đồng Mã dự án Số hợp đồng Mã khách hàng
Các tệp cơ sở dữ liệu
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Maduan Character 15 Mã dự án
Tenduan Character 50 Tên dự án
Ngaykc Date 8 Ngày khởi công
Ngaybg Date 8 Ngày bàn giao
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Makh Character 15 Mã khách hàng
Tenkh Character 50 Tên khách hàng
Mã hợp đồng Mã khách hàng Ngày thanh toán Số tiền …Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
#Mã dự án Tên dự án Ngày khởi công Ngày bàn giao Ghi chú
Mã dự án Mã nhân viên
#Mã nhân viên Tên nhân viên Ngày sinh
Mã dự án Mã thiết bị
#Mã thiết bị Tên thiết bị Ghi chú
Tên trờng Kiểu trờng Độ rộng Diễn dải
#Matb Character 15 Mã thiết bị
Tentb Character 50 Tên thiết bị
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
Matb Character 15 Mã thiết bị
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
#Mahopdong Character 15 Mã hợp đồng
Makh Character 15 Mã khách hàng
Tenkh Character 50 Tên khách hàng
Sohopdong Character 15 Số hợp đồng
Ngayky Date 8 Ngày ký hợp đồng
Noidung Character 50 Nội dung hợp đồng
Gtqt Numeric 25 Gía trị quyết toán
Gttutt Numeric 25 Gía trị thanh toán tạm ứng
Ngaybg Date 8 Ngày bàn giao
Tên trờng Kiểu trờng Độ rộng Diễn dải
Mahopdong Character 15 Mã hợp đồng
Makh Character 15 Mã khách hàng
Ngaytt Date 8 Ngày thanh toán
Noidungtt Character 50 Nội dung thanh toán
Tên trờng Kiểu trờng Độ rộng Diễn dải
Maduan Character 15 Mã dự án
Manv Character 15 Mã nhân viên
Sơ đồ quan hệ thực thể giữa các bảng
3.5.2 Thuật toán thêm một bản ghi vào cơ sở dữ liệu
Kiểm tra tên ngời dùng và mËt khÈu
Nhập tên ngời dùng và mật khẩu
3.5.3 Thuật toán sửa dữ liệu
Cập nhật thông tin cần thêm Kiểm tra thông tin
Bổ sung dữ liệu kt
Chọn bản ghi cần sửa
3.5.4 Thuật toán in báo cáo
Chọn tiêu chí in báo cáo
Hiện thông báo lỗi, yêu cầu chọn lại
3.6- Một số giao diện và báo cáo chính
3.6.1 Giao diện đăng nhập chơng trình Đây là giao diện đầu tiên của chơng trình, muốn qua cổng này để vào đ- ợc bên trong phần mềm thì ngời đăng nhập phải đợc phép sử dụng, nghĩa là phải có tên trong danh sách những ngời sử dụng phần mềm Ngời sử dụng nhập đúng tên và mật khẩu thì chơng trình sẽ tiếp tục, nếu ngời sử dụng nhập mật mã tới lần thứ ba thì chơng trình sẽ tự động đóng màn hình đăng nhập và không cho ngời sử dụng truy nhập phần mềm. của chơng trình Nh vậy là chơng trình gồm các chức năng lớn đó là: Hệ thống, Cập nhật, Tra cứu, Báo cáo Sau khi truy cập đợc vào hệ thống, tuỳ theo quyền ngời sử dụng đợc cấp mà ngời sử dụng có thể cập nhật các bảng danh mục, cập
3.6.4 Giao diện màn hình cập nhật dự án
Giao diện này cho phép cập nhật các thông tin về dự án nh: Mã dự án, tên dự án, ngày khởi công thực hiện dự án, ngày bàn giao dự án và một số thông tin khác có thể liên quan đến dự án. mật khẩu truy nhập của mình bằng mật khẩu mới, mật khẩu mới phải đợc nhập vào hai lần để đảm bảo tính chính xác trong quá trình nhập quyền Supervisor thì có thể đăng ký thêm ngời dùng mới cho chơng trình phần mềm, trao cho ngời dùng mới mật khẩu và quyền hạn nhất định khi thao tác trong chơng trình.
Yêu cầu phần mềm: Có thể dùng trong nhiều hệ điều hành khác nhau, lu trữ thông tin phải an toàn và bảo mật đảm bảo yêu cầu về mức độ thân thiện và dễ sử dụng Để đảm bảo an toàn thông tin cho hệ thống, khi sử dụng chơng trình nhất thiết phải đăng nhập vào hệ thống thông qua Username và Password, nếu ngời dùng đăng nhập đúng thì menu chơng trình sẽ hiển thị Lúc này ngời dùng có thể thao tác với phần mềm ứng dụng để thực hiện công việc quản lý dự án của Công ty thông qua các chức năng của chơng trình phần mềm.
+ Chức năng hệ thống: Để đảm bảo an toàn thông tin, chống các hành động truy cập bất hợp pháp đòi hỏi mỗi chơng trình phần mềm phải có các hình thức bảo mật thông tin riêng Ta có thể dùng các hình thức bảo vệ kiểm tra mật khẩu, mã hoá dữ liệu, phân quyền ngời dùng…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài Trong chơng trình này sử dụng hình thức bảo vệ đơn giản là kiểm tra mật khẩu đối với ngời dùng, ng- ời dùng sẽ phải nhập Username và Password khi sử dụng chơng trình Trong quá trình sử dụng, ngời dùng có thể thực hiện các công việc nh cập nhật, tìm kiếm, báo cáo tuỳ theo mức độ phân quyền của ngời dùng Nếu ngời dùng có quyền Supervisor thì có thể truy xuất đợc mọi chức năng trong menu, nếu ngời dùng có quyền là Operator thì truy xuất đợc mọi chức năng trong menu, nhng không thể đăng ký ngời dùng mới, nếu ngời dùng có quyền là Everybody thì không thể truy xuất những chức năng cập nhật, thêm ngời dùng mới.
+ Chức năng cập nhật: Ngời dùng có thể sử dụng chức năng này để nhập và thay đổi các thông tin về khách hàng, thêm các thông tin về dự án, thêm các thông tin về hợp đồng…Công ty Cổ phần Công nghệ thông tin Sông Đà không nằm ngoài
+ Chức năng tra cứu thông tin: Cho phép ngời dùng tìm kiếm, lọc, tra cứu thông tin liên quan theo các cách chọn, ví dụ: tra cứu thông tin chi tiết về khách hàng, tìm kiếm chi tiết về hợp đồng.
+ Chức năng báo cáo: Chơng trình Quản lý dự án có khả năng kết xuất thông tin, đa ra các báo cáo nh: báo cáo thanh toán hợp đồng, báo cáo thông tin công nợ của khách hàng, báo cáo dự án và một số báo cáo cơ bản khác.
+ Đánh giá về mặt kinh tế
Chơng trình mang lại những lợi ích và hiệu quả kinh tế trong quản lý các dự án Nó làm giảm việc lu trữ thông tin bằng các giấy tờ tốn kém và tốn không gian lu trữ, dễ mất mát dữ liệu, hệ thống này cung cấp các thông tin kịp
- Đánh giá về mặt kỹ thuật