論軟體需求分析方法和工具的選用—論文1:企業人事資訊系統的應用

來源:互聯網
上載者:User
【摘要】
    本文討論《企業人事資訊系統》項目的需求分析方法與工具的選用。該系統的建設目標是協助該企業管理好企業內部的人員和人員的活動,人事資訊管理指的是企業員工從招聘面試到離職退休的全過程,涉及的主要活動包括面試、報到、培訓、升職、離職或其他的人事變動,也包括電子化考勤、工資性收入的計算與分發、使用其他公司資源的相關記錄(如宿舍、保險、證件辦理等等)。此外,本系統也涉及到企業在全國各地的人事資訊管理,企業的組織架構的設定,層級與職務管理,人力申請直至人力需求報表,從而形成一個對企業真正有用的人事資訊管理應用系統。在本文中首先討論了選用物件導向方法與工具的主要理由與策略,進一步通過一個簡例說明該方法與工具使用的效果,也討論了使用多種工具與方法在需求分析中的必要性,最後簡要小結了選用正確工具與方法的意義和作用。
    在項目開展期間,我擔任了系統分析、系統設計與資料庫管理等大量工作。
【本文】
    人事資訊管理系統是一個有著廣泛應用面的實用性系統,但是,我國各個企業有著自身的體制、機制、特點與不同的要求;在開發這類系統時,系統需求分析是極為重要的一環。在整個分析過程中,我們都採用了物件導向的分析方法,這是因為我們在近幾年的實踐中已堅信這種方法能夠更加有效地表達和描述現實世界。軟體要具有適用性和擴充性,就必須更接近於現實世界本身的發展規律。
    以一個簡單的例子來看,假設要求設計關於引進人才評估的一個系統,按我們過去的做法,先會要求提供給我們一份相關的引進人才評估表,然後依葫蘆畫瓢地設計相應的表單與介面。在短期來說,這樣做是簡便而實用的,但並不能夠符合現實世界的長遠目標,這套設計方法不具有擴充性,因為任何一份評估表的結構都會有可能發生許多改變的。採用物件導向的方法,可以從中提取出表類型、表結構、評分方法以及能考慮繼承等各方面的要素,這樣就可以保證軟體的通用性,可配置性與可維護性。
    在工具的選擇過程中,我們選擇了現在已十分流行的Rational系列,包括Rational Rose、RUP、SoDA等,為什麼選取這個系列工具呢?這是基於我們對軟體需求分析目標的看法,我們認為需求分析應當能正確地回答如下的幾個關鍵性問題:
   (1)使用者的需求是否已詳盡地被考慮到了?
   (2)使用者能理解或明白我們所描述的內容嗎?
   (3)分析是否會和設計相脫節,
   (4)程式員能明白我們的分析與設計要求嗎?等等。
    以下對上述幾個問題逐一簡要地加以說明:
   (1)詳盡地擷取使用者的需求。
    使用者的需求可分為顯式的需求與隱性的需求,使用者的傾嚮往往只顧及到當前的與明顯的需求。要達到對需求理解的全面性,不僅僅只是依靠有效使用者談話和調查,因為我們所面對的使用者需求往往會有些片面的,採用Rational Rose(基於UML)提供的用例,以及多種圖的聯合使用,可以使我們發現其中的遺漏。
   (2)使使用者能充分地理解我們的表示方法,能夠真正明白我們描述的內容。
    軟體需求分析規格說明書通常會是冗長而枯燥的,一般的使用者不容易深入理解,這樣就削弱了分析的正確性。通過支援物件導向及UML語言的Rational Rose可以更好地和使用者交流,讓使用者瞭解系統的運作方式甚至細節的操作。
   (3)使分析和設計兩個階段互相聯絡與貫通。
    這是我們選擇物件導向的方法及Rational Rose工具的重要原因,系統分析要向使用者描述的不僅僅是使用者的需求,而且包括解決方案,解決方案當然應包括設計(程式)、資料庫與系統配置,我們當然不希望使用者得到的是一個與需求規格說明不相同的軟體,也不可能要求程式員完成一個不可勝任的任務。然而我們在以前的多項工作中經常發現這類情節,因為系統分析與設計相互脫節,導致一頭紮在分析中不顧設計有關的事宜。
    分析與設計的脫節,還不利於設計現格說明的評估,因為分析往往會脫離現實,導致缺乏評估的依據。
    因為不可能成功地完成設計而使分析需要重來,就會造成巨大的浪費與損失。一個好的工具可以使分析與設計更緊密地連結起來,甚至於—一對應。物件導向的分析方法使對象之間相對而言有獨立性,減少了任何影響到全域的改動,能避免因需求變化而導致全盤皆動的被動局面。
   (4)使程式員明白我們的設計。
    一個好的設計應該讓程式員感到清晰明白,更少疑問。一個疑問很多的設計加上溝通不暢,絕對會出現在應用環境下所不需要的另一個軟體,所以設計規格說明書務必清楚、形象與明確,當然,Rational Rose具有足夠的圖形與其他形式,能使程式員更加明確,甚至能細微到每一個語句(事實上如果使用VB,程式架構都有可能直接產生了)。
   (5)選擇UML可能會有更多的理由。
    比如使用者文檔的編寫、資料庫設計,我們都需要做到有延續性,有自動化支援和具有品質上的保證。
    所以,我們選用了以上的方法和工具。
    在分析中,面對考勤班次的問題時,由於過去一直使用紙卡方式考勤,使使用者對班次形成了固定的概念,而現在的許多考勤軟體也採用多次刷卡的方法來形成一天的記錄。經過物件導向的分析可以發現,事實上每天的上班記錄是由多個時段所形成的,時段的多少在各個公司,各個工種與部門都不盡相同,每個時段可能有不同的屬性,時段與時段組合可形成為班次,這更適合於現實的情況,使之能更加靈活與更有擴充性。其實,在天與天之間也都有相互之間的關係。在這一點上,我們又發現必須在考勤與薪金工資中加入與MRP中相似的期段(Periods)的基本概念,比如可以稱之為考勤期段,允許為使用者更加方便地設定考勤期段,可能使之不一定與自然年月日相同等等。
    Rational Rose使我們更方便地把上面的想法在類上去實現,更進一步地設計好我們的高效率的資料庫。
    當然,使用單一的一個工具去完成一個中大型的應用系統的需求分析,是不可能成功的。因為社會在發展,使用者的需求也在改變,如何把握住使用者的需求是需要時間的,物件導向的方法有時也會忽略外在的與表層的要求,不僅僅是要獲得關鍵的需求,其他更多的需求往往要等到使用者在使用後才知道,然而等到使用者使用是不現實的,作為原型開發模型中的原型也是收集使用者需求,描述與解釋需求的一類相當有效方法與工具。
    在我們的開發過程中,為了更好地讓使用者瞭解我們的系統和我們的設計方案,讓使用者在見面會上更有方向性與針對性,我們首先用Access開發出原型,讓使用者先試用。這樣,我們在真正的分析與設計時就能更加符合使用者的要求。
    總之,軟體需求分析方法和工具的使用,對我們軟體開發過程影響是很深遠的,選用高效能的正確的方法與工具,可以使我們的軟體更加正確地反映現實需求,更加具有可用性、可擴充性和可維護性;降低了軟體項目的風險。
評註:(1)寫得有些特色,觀點鮮明。(2)摘要寫得不錯,既反映了項目內容,也小結了本文的寫作要點。(3)文中所舉的例子雖然簡單,但很實際。(4)多種方法與工具的使用,敘述得簡明扼要。(5)內容可更豐富一些,更深入的例子也可再增多一些,則會更有說服力。(6)對需求分析的全過程的描述太少。(本文主要參考了廣東延國慶等人的論文)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.