vấn đề nổi bật như thế nào họ có thể, hầu như không bao giờ nhận được các sản phẩm công việc khác nhau phù hợp cácFi rst thời gian. Làm thế nào điều này có thể? Bản chất của sản phẩm phần mềm là như vậy mà hầu như tất cả mọi thứ đã được phát triểnlặp đi lặp lại và từng bước. Sau khi tất cả, kỹ sư phần mềm là con người, và do đó chủ đềMiller của luật (phần 2,5). Có nghĩa là, nó là không thể để xem xét tất cả mọi thứ cùng một lúc,Vì vậy chỉ bảy hoặc hơn khối (đơn vị thông tin) được xử lý ban đầu. Sau đó, khi tiếp theo thiết lậpkhối xem xét, thêm kiến thức về sản phẩm phần mềm mục tiêu đạt được, và cácUML sơ đồ là bổ ed trong ánh sáng của thông tin bổ sung này. Quá trình tiếp tụcbằng cách này cho đến khi cuối cùng phần mềm kỹ sư có satisfi ed mà tất cả các mô hình cho một nhất địnhworkfl ow là chính xác. Nói cách khác, ban đầu tốt nhất có thể UML sơ đồ được rút ra trong cácánh sáng của sự hiểu biết có sẵn ở đầu workfl ow. Sau đó, như thêm kiến thứcvề thế giới thực hệ thống được mô phỏng đã đạt được, các sơ đồ được thực hiện chính xác hơn(lặp đi lặp lại) và mở rộng (incrementation). Vì vậy, không có vấn đề làm thế nào có kinh nghiệm và khéo léomột kỹ sư phần mềm có thể là, thì liên tục iterates và gia số cho đến khi satisfi ed mà cácUML sơ đồ là một đại diện chính xác của sản phẩm phần mềm được phát triển. Lý tưởng nhất, đến cuối cuốn sách này, người đọc sẽ có các kỹ năng công nghệ phần mềmcần thiết để xây dựng các sản phẩm phần mềm lớn, phức tạp mà trình Unifi ed đã được phát triển. Thật không may, có những ba lý do tại sao điều này là không khả thi. 1. cũng giống như nó là không thể trở thành một chuyên gia về giải tích hoặc một ngôn ngữ nước ngoài trong mộtkhóa học duy nhất, đạt profi ciency trong quá trình Unifi ed yêu cầu nghiên cứu sâu rộng và,quan trọng hơn, sự thực hành trong công nghệ phần mềm hướng đối tượng. 2. quá trình Unifi ed được tạo ra chủ yếu để sử dụng trong việc phát triển sản phẩm phần mềm lớn, phức tạp. Để có thể xử lý các intricacies nhiều của các sản phẩm phần mềm, cácQuá trình UniFi ed là chính nó lớn. Nó sẽ là khó khăn để trang trải mọi khía cạnh của Unifi edQuá trình trong một sách giáo khoa của kích thước này. 3. để dạy trình Unifi ed, nó là cần thiết để trình bày một nghiên cứu trường hợp minh hoạ cáctính năng của quá trình Unifi ed. Để minh họa các tính năng mà áp dụng cho phần mềm lớnsản phẩm, một nghiên cứu trường hợp nào phải được lớn. Ví dụ, chỉ là các cation thuậtthông thường sẽ có hơn 1000 trang. Vì những lý do ba, cuốn sách này trình bày đặt, nhưng không phải tất cả, của quá trình Unifi ed. Fi vecore workfl ows của quá trình thống nhất (yêu cầu workfl ow, phân tíchworkfl ow, thiết kế workfl ow, thực hiện workfl ow, và kiểm tra workfl ow) và thách thức của họ bây giờ đã thảo luận. 3.3 Workfl yêu cầu ow Phát triển phần mềm là tốn kém. Quá trình phát triển thường bắt đầu khi cáckhách hàng phương pháp tiếp cận một tổ chức phát triển liên quan đến một sản phẩm phần mềm đó, trongý kiến của các khách hàng, là một trong hai điều cần thiết để tability profi của doanh nghiệp của mình hoặcbằng cách nào đó có thể là justifi ed về kinh tế. Mục đích của therequirements workfl ow là chotổ chức phát triển để xác định nhu cầu của khách hàng. Nhiệm vụ rst fi nhóm phát triển là để có được một sự hiểu biết cơ bản của theapplication tên miền (tên miền chongắn), có nghĩa là, thuật c môi trường trong đó sản phẩm phần mềm mục tiêu là để hoạt động.Tên miền có thể là ngân hàng, ô tô, sản xuất, hoặc vật lý hạt nhân.sch76183_ch03_074-106.indd 78 04/06/10 6:35 PM3 chương trình phần mềm 79 Tại bất kỳ giai đoạn của quá trình, nếu khách hàng dừng lại tin rằng các phần mềm sẽ có chi phíhiệu quả, phát triển sẽ chấm dứt ngay lập tức. Trong suốt chương này giả địnhđược thực hiện rằng các khách hàng cảm thấy rằng chi phí là justifi ed. Do đó, là một khía cạnh quan trọng của phần mềmphát triển là trường hợp thebusiness, một tài liệu chứng minh hiệu quả chi phí củasản phẩm mục tiêu. (Trong thực tế, "chi phí" không phải là luôn luôn hoàn toàn fi quầy. Ví dụ, quân sựphần mềm thường được xây dựng cho lý do chiến lược hoặc chiến thuật. Ở đây, chi phí của phần mềm là cácthiệt hại tiềm năng mà có thể được bị trong sự vắng mặt của các loại vũ khí được phát triển.) Tại một cuộc họp Ban đầu giữa khách hàng và nhà phát triển, các khách hàng tóm tắt các sản phẩm nhưhọ conceptualizes nó. Từ quan điểm của các nhà phát triển, mô tả của khách hàngsản phẩm mong muốn có thể mơ hồ, không hợp lý, mâu thuẫn, hoặc chỉ đơn giản là không thểđể đạt được. Nhiệm vụ của các nhà phát triển ở giai đoạn này là để xác định chính xác những gì khách hàngnhu cầu và fi nd ra từ các khách hàng hạn chế những gì tồn tại.• Một hạn chế lớn là hầu như luôn luôn thedeadline. Ví dụ, khách hàng có thể quy địnhrằng sản phẩm hoàn tất phải được hoàn thành trong vòng 14 tháng. Trong hầu hết ứng dụngtên miền, nó bây giờ là phổ biến cho một sản phẩm phần mềm mục tiêu là nhiệm vụ quan trọng. Rằnglà, khách hàng cần sản phẩm phần mềm cho hoạt động cốt lõi của tổ chức của mình, vàbất kỳ sự chậm trễ trong việc cung cấp sản phẩm mục tiêu là bất lợi cho tổ chức.• Một loạt các hạn chế khác thường trình bày, như vậy asreliability (ví dụ, cácsản phẩm phải là hoạt động 99 phần trăm của thời gian, hoặc mean time between thất bạiphải là ít nhất là 4 tháng). Hạn chế phổ biến khác là kích thước của tải thực thihình ảnh (ví dụ, nó đã để chạy trên máy tính cá nhân của khách hàng hoặc trên phần cứngbên trong các vệ tinh).• Thecost gần như không thay đổi là một hạn chế quan trọng. Tuy nhiên, các khách hàng hiếm khi nói vớiCác nhà phát triển bao nhiêu tiền có sẵn để xây dựng các sản phẩm. Thay vào đó, một phổ biếnthực tế là, một khi các cation thuật đã là fi nalized, khách hàng yêu cầu các nhà phát triểnđể đặt tên giá của họ để hoàn thành dự án. Khách hàng thực hiện theo quy trình này đặt giá thầu trongHy vọng rằng số lượng các nhà phát triển giá thầu là thấp hơn số tiền khách hàng đãngân sách cho các dự án. Điều tra sơ bộ của nhu cầu của khách hàng đôi khi là calledconcept thăm dò. Trong các cuộc họp tiếp theo giữa các thành viên của nhóm phát triển và khách hàngđội, các chức năng của các sản phẩm được đề nghị là liên tục refi ned và phân tích chokỹ thuật tính khả thi và fi quầy justifi cation. Đến nay, tất cả mọi thứ có vẻ là đơn giản. Thật không may, các yêu cầuworkfl ow thường được thực hiện không đầy đủ. Khi sản phẩm fi nally được gửi đến cácngười dùng, có lẽ một hoặc hai năm sau khi cation thuật đã được ký vào bởi các khách hàng, cáckhách hàng có thể nói cho các nhà phát triển, "tôi biết rằng đây là những gì tôi yêu cầu, nhưng nó không phải là thực sự những gìTôi muốn." Những gì khách hàng yêu cầu, và do đó, những gì các nhà phát triển nghĩ rằng khách hàngmuốn, không phải là những gì khách hàng actuallyneeded. Có thể có một số lý do cho điều nàytình trạng khó khăn. Trước tiên, khách hàng có thể không thật sự hiểu những gì đang xảy ra tại của mình hoặc mìnhtổ chức. Ví dụ, nó là không có sử dụng yêu cầu các nhà phát triển phần mềm cho một hoạt động nhanh hơnHệ thống nếu nguyên nhân của hiện tại quay vòng chậm là một cơ sở dữ liệu thiết kế xấu. Hoặc, nếu cáckhách hàng hoạt động một bảng unprofi chuỗi cửa hàng bán lẻ, khách hàng có thể yêu cầu một fi quầy thông tin hệ thống quản lý đó ects refl các mặt hàng như bán hàng, tiền lương, tài khoản phải nộp,và tài khoản phải thu. Một sản phẩm sẽ sử dụng ít nếu thực sự lý do cho những thiệt hạisch76183_ch03_074-106.indd 79 04/06/10 6:35 PMlà co rút (hành vi trộm cắp của nhân viên và trộm). Nếu đó là trường hợp, sau đó một kiểm soát chứng khoánHệ thống chứ không phải là một fi quầy quản lý thông tin hệ thống được yêu cầu. Nhưng lý do chính tại sao khách hàng thường xuyên yêu cầu cho các sản phẩm sai là phần mềm phức tạp. Nếu nó là khó tôn giáo cho một phần mềm chuyên nghiệp để hình dung một phần mềmvà chức năng của nó, vấn đề là đến nay tồi tệ hơn cho một khách hàng người là hiếm khi máy tính biết chữ.Như sẽ được hiển thị trong chương 11, trình Unifi ed có thể giúp đỡ về vấn đề này; UML nhiềuSơ đồ của quá trình Unifi ed hỗ trợ khách hàng trong việc đạt được sự hiểu biết chi tiết cần thiết của những gì cần phải được phát triển. 3.4 phân tích Workfl ow Mục đích của theanalysis workfl ow là để phân tích và tinh chỉnh các yêu cầu để đạt đượcsự hiểu biết chi tiết về các yêu cầu cần thiết để phát triển một sản phẩm phần mềmmột cách chính xác và duy trì nó một cách dễ dàng. Nhìn rst fi, Tuy nhiên, có là không cần thiết cho một phân tíchworkfl ow. Thay vào đó, một cách rõ ràng đơn giản để tiến hành sẽ là để phát triển một phần mềmsản phẩm bằng cách tiếp tục với thêm lặp của yêu cầu workfl ow cho đến khi đã thu được sự hiểu biết cần thiết của sản phẩm phần mềm của mục tiêu. Điểm mấu chốt là rằng đầu ra yêu cầu workfl ow phải được hoàn toàn comprehended bởi các khách hàng. Nói cách khác, những đồ tạo tác của yêu cầu workfl ow phảibày tỏ bằng ngôn ngữ của khách hàng, có nghĩa là, trong một ngôn ngữ tự nhiên (con người) chẳng hạn như tiếng Anh,Tiếng Armenia, hoặc Zulu. Nhưng tất cả các ngôn ngữ tự nhiên, không có ngoại lệ, phần nào không chính xác vàcho vay mình để sự hiểu lầm. Ví dụ, hãy xem xét đoạn sau đây: Một hồ sơ phần và một kỷ lục thực vật được đọc từ cơ sở dữ liệu. Nếu nó có chứa chữ cái một trực tiếptheo sau chữ Q, sau đó tính toán chi phí vận chuyển một phần để thực vật đó. Nhìn rst fi, yêu cầu này có vẻ hoàn toàn rõ ràng. Nhưng những gì doesit (lần thứ haitừ trong câu thứ hai) là: phần hồ sơ, Hồ sơ thực vật hoặc cơ sở dữ liệu? Ambiguities của loại này không thể xảy ra nếu các yêu cầu được thể hiện (nói) trong một ký hiệu toán học. Tuy nhiên, nếu một ký hiệu toán học được sử dụng cho các yêu cầu, sau đókhách hàng là dường như không biết nhiều về các yêu cầu. Kết quả là, có cũng có thểmiscommunication giữa khách hàng và nhà phát triển liên quan đến các yêu cầu, và kết quả là, các sản phẩm phần mềm phát triển để đáp ứng những yêu cầu có thể không là những gì cáckhách hàng cần. Giải pháp là phải có hai riêng biệt workfl ows. Workfl yêu cầu ow viễn
đang được dịch, vui lòng đợi..
