系分論文1
企業(yè)人事信息系統(tǒng)的應(yīng)用
討論《企業(yè)人事信息系統(tǒng)》項(xiàng)目的需求分析方法與工具的選用。該系統(tǒng)的建設(shè)目標(biāo)是幫助該企業(yè)管理好企業(yè)內(nèi)部的人員和人員的活動(dòng),人事信息管理指的是企業(yè)員工從招聘面試到離職退休的全過(guò)程,涉及的主要活動(dòng)包括面試、報(bào)到、培訓(xùn)、升職、離職或其他的人事變動(dòng),也包括電子化考勤、工資性收入的計(jì)算與分發(fā)、使用其他公司資源的有關(guān)記錄(如宿舍、保險(xiǎn)、證件辦理等等)。此外,本系統(tǒng)也涉及到企業(yè)在全國(guó)各地的人事信息管理,企業(yè)的組織架構(gòu)的設(shè)置,級(jí)別與職務(wù)管理,人力申請(qǐng)直至人力需求報(bào)表,從而形成一個(gè)對(duì)企業(yè)真正有用的人事信息管理應(yīng)用系統(tǒng)。在中首先討論了選用面向?qū)ο蠓椒ㄅc工具的主要理由與策略,進(jìn)一步通過(guò)一個(gè)簡(jiǎn)例說(shuō)明該方法與工具使用的效果,也討論了使用多種工具與方法在需求分析中的必要性,最后簡(jiǎn)要小結(jié)了選用正確工具與方法的意義和作用。
在項(xiàng)目開(kāi)展期間,我擔(dān)任了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)與數(shù)據(jù)庫(kù)管理等大量工作。
【正文】
人事信息管理系統(tǒng)是一個(gè)有著廣泛應(yīng)用面的實(shí)用性系統(tǒng),但是,我國(guó)各個(gè)企業(yè)有著自身的體制、機(jī)制、特點(diǎn)與不同的要求;在開(kāi)發(fā)這類(lèi)系統(tǒng)時(shí),系統(tǒng)需求分析是極為重要的一環(huán)。在整個(gè)分析過(guò)程中,我們都采用了面向?qū)ο蟮姆治龇椒,這是因?yàn)槲覀冊(cè)诮鼛啄甑膶?shí)踐中已堅(jiān)信這種方法能夠更加有效地表達(dá)和描述現(xiàn)實(shí)世界。軟件要具有適用性和擴(kuò)展性,就必須更接近于現(xiàn)實(shí)世界本身的發(fā)展規(guī)律。
以一個(gè)簡(jiǎn)單的例子來(lái)看,假設(shè)要求設(shè)計(jì)關(guān)于引進(jìn)人才評(píng)估的一個(gè)系統(tǒng),按我們過(guò)去的做法,先會(huì)要求提供給我們一份相關(guān)的引進(jìn)人才評(píng)估表,然后依葫蘆畫(huà)瓢地設(shè)計(jì)相應(yīng)的表單與界面。在短期來(lái)說(shuō),這樣做是簡(jiǎn)便而實(shí)用的,但并不能夠符合現(xiàn)實(shí)世界的長(zhǎng)遠(yuǎn)目標(biāo),這套設(shè)計(jì)方法不具有擴(kuò)展性,因?yàn)槿魏我环菰u(píng)估表的結(jié)構(gòu)都會(huì)有可能發(fā)生許多改變的。采用面向?qū)ο蟮姆椒,可以從中提取出表?lèi)型、表結(jié)構(gòu)、評(píng)分方法以及能考慮繼承等各方面的要素,這樣就可以保證軟件的通用性,可配置性與可維護(hù)性。
在工具的選擇過(guò)程中,我們選擇了現(xiàn)在已十分流行的Rational系列,包括Rational Rose、RUP、SoDA等,為什么選取這個(gè)系列工具呢?這是基于我們對(duì)軟件需求分析目標(biāo)的看法,我們認(rèn)為需求分析應(yīng)當(dāng)能正確地回答如下的幾個(gè)關(guān)鍵性問(wèn)題:
(1)用戶(hù)的需求是否已詳盡地被考慮到了?
(2)用戶(hù)能理解或明白我們所描述的內(nèi)容嗎?
(3)分析是否會(huì)和設(shè)計(jì)相脫節(jié),
(4)程序員能明白我們的分析與設(shè)計(jì)要求嗎?等等。
以下對(duì)上述幾個(gè)問(wèn)題逐一簡(jiǎn)要地加以說(shuō)明:
(1)詳盡地獲取用戶(hù)的需求。
用戶(hù)的需求可分為顯式的需求與隱性的需求,用戶(hù)的傾向往往只顧及到當(dāng)前的與明顯的需求。要達(dá)到對(duì)需求理解的全面性,不僅僅只是依靠有效的用戶(hù)談話(huà)和調(diào)查,因?yàn)槲覀兯鎸?duì)的用戶(hù)需求往往會(huì)有些片面的,采用Rational Rose(基于UML)提供的用例,以及多種圖的聯(lián)合使用,可以使我們發(fā)現(xiàn)其中的遺漏。
(2)使用戶(hù)能充分地理解我們的表示方法,能夠真正明白我們描述的內(nèi)容。
軟件需求分析規(guī)格說(shuō)明書(shū)通常會(huì)是冗長(zhǎng)而枯燥的,一般的用戶(hù)不容易深入理解,這樣就削弱了分析的正確性。通過(guò)支持面向?qū)ο蠹癠ML語(yǔ)言的Rational Rose可以更好地和用戶(hù)交流,讓用戶(hù)了解系統(tǒng)的運(yùn)作方式甚至細(xì)節(jié)的操作。
(3)使分析和設(shè)計(jì)兩個(gè)階段互相聯(lián)系與貫通。
這是我們選擇面向?qū)ο蟮姆椒癛ational Rose工具的重要原因,系統(tǒng)分析要向用戶(hù)描述的不僅僅是用戶(hù)的需求,而且包括解決方法,解決方法當(dāng)然應(yīng)包括設(shè)計(jì)(程序)、數(shù)據(jù)庫(kù)與系統(tǒng)配置,我們當(dāng)然不希望用戶(hù)得到的是一個(gè)與需求規(guī)格說(shuō)明不相同的軟件,也不可能要求程序員完成一個(gè)不可勝任的任務(wù)。然而我們?cè)谝郧暗亩囗?xiàng)工作中經(jīng)常發(fā)現(xiàn)這類(lèi)情節(jié),因?yàn)橄到y(tǒng)分析與設(shè)計(jì)相互脫節(jié),導(dǎo)致一頭扎在分析中不顧設(shè)計(jì)有關(guān)的事宜。
分析與設(shè)計(jì)的脫節(jié),還不利于設(shè)計(jì)現(xiàn)格說(shuō)明的評(píng)估,因?yàn)榉治鐾鶗?huì)脫離現(xiàn)實(shí),導(dǎo)致缺乏評(píng)估的依據(jù)。
因?yàn)椴豢赡艹晒Φ赝瓿稍O(shè)計(jì)而使分析需要重來(lái),就會(huì)造成巨大的浪費(fèi)與損失。一個(gè)好的工具可以使分析與設(shè)計(jì)更緊密地連結(jié)起來(lái),甚至于—一對(duì)應(yīng)。面向?qū)ο蟮姆治龇椒ㄊ箤?duì)象之間相對(duì)而言有獨(dú)立性,減少了任何影響到全局的改動(dòng),能避免因需求變化而導(dǎo)致全盤(pán)皆動(dòng)的被動(dòng)局面。
(4)使程序員明白我們的設(shè)計(jì)。
一個(gè)好的設(shè)計(jì)應(yīng)該讓程序員感到清晰明白,更少疑問(wèn)。一個(gè)疑問(wèn)很多的設(shè)計(jì)加上溝通不暢,絕對(duì)會(huì)出現(xiàn)在應(yīng)用環(huán)境下所不需要的另一個(gè)軟件,所以設(shè)計(jì)規(guī)格說(shuō)明書(shū)務(wù)必清楚、形象與明確,當(dāng)然,Rational Rose具有足夠的圖形與其他形式,能使程序員更加明確,甚至能細(xì)微到每一個(gè)語(yǔ)句(事實(shí)上如果使用VB,程序架構(gòu)都有可能直接生成了)。
(5)選擇UML可能會(huì)有更多的理由。
比如用戶(hù)文檔的編寫(xiě)、數(shù)據(jù)庫(kù)設(shè)計(jì),我們都需要做到有延續(xù)性,有自動(dòng)化支持和具有質(zhì)量上的保證。
所以,我們選用了以上的方法和工具。
在分析中,面對(duì)考勤班次的問(wèn)題時(shí),由于過(guò)去一直使用紙卡方式考勤,使用戶(hù)對(duì)班次形成了固定的概念,而現(xiàn)在的許多考勤軟件也采用多次刷卡的方法來(lái)形成一天的記錄。經(jīng)過(guò)面向?qū)ο蟮姆治隹梢园l(fā)現(xiàn),事實(shí)上每天的上班記錄是由多個(gè)時(shí)段所形成的,時(shí)段的多少在各個(gè)公司,各個(gè)工種與部門(mén)都不盡相同,每個(gè)時(shí)段可能有不同的屬性,時(shí)段與時(shí)段組合可形成為班次,這更適合于現(xiàn)實(shí)的情況,使之能更加靈活與更有擴(kuò)展性。其實(shí),在天與天之間也都有相互之間的關(guān)系。在這一點(diǎn)上,我們又發(fā)現(xiàn)必須在考勤與薪金工資中加入與MRP中相似的期段(Periods)的基本概念,比如可以稱(chēng)之為考勤期段,允許為用戶(hù)更加方便地設(shè)置考勤期段,可能使之不一定與自然年月日相同等等。
Rational Rose使我們更方便地把上面的想法在類(lèi)上去實(shí)現(xiàn),更進(jìn)一步地設(shè)計(jì)好我們的高效率的數(shù)據(jù)庫(kù)。
當(dāng)然,使用單一的一個(gè)工具去完成一個(gè)中大型的應(yīng)用系統(tǒng)的需求分析,是不可能成功的。因?yàn)樯鐣?huì)在發(fā)展,用戶(hù)的需求也在改變,如何把握住用戶(hù)的需求是需要時(shí)間的,面向?qū)ο蟮姆椒ㄓ袝r(shí)也會(huì)忽略外在的與表層的要求,不僅僅是要獲得關(guān)鍵的需求,其他更多的需求往往要等到用戶(hù)在使用后才知道,然而等到用戶(hù)使用是不現(xiàn)實(shí)的,作為原型開(kāi)發(fā)模型中的原型也是收集用戶(hù)需求,描述與解釋需求的一類(lèi)相當(dāng)有效的方法與工具。
在我們的開(kāi)發(fā)過(guò)程中,為了更好地讓用戶(hù)了解我們的系統(tǒng)和我們的設(shè)計(jì)方案,讓用戶(hù)在見(jiàn)面會(huì)上更有方向性與針對(duì)性,我們首先用Access開(kāi)發(fā)出原型,讓用戶(hù)先試用。這樣,我們?cè)谡嬲姆治雠c設(shè)計(jì)時(shí)就能更加符合用戶(hù)的要求。
總之,軟件需求分析方法和工具的使用,對(duì)我們軟件開(kāi)發(fā)過(guò)程影響是很深遠(yuǎn)的,選用高效能的正確的方法與工具,可以使我們的軟件更加正確地反映現(xiàn)實(shí)需求,更加具有可用性、可擴(kuò)展性和可維護(hù)性;降低了軟件項(xiàng)目的風(fēng)險(xiǎn)。
評(píng)注:(1)寫(xiě)得有些特色,觀(guān)點(diǎn)鮮明。(2)摘要寫(xiě)得不錯(cuò),既反映了項(xiàng)目?jī)?nèi)容,也小結(jié)了的寫(xiě)作要點(diǎn)。(3)文中所舉的例子雖然簡(jiǎn)單,但很實(shí)際。(4)多種方法與工具的使用,敘述得簡(jiǎn)明扼要。(5)內(nèi)容可更豐富一些,更深入的例子也可再增多一些,則會(huì)更有說(shuō)服力。(6)對(duì)需求分析的全過(guò)程的描述太少。