freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

員工信息管理系統(tǒng)的設(shè)計與實現(xiàn)(參考版)

2025-04-10 23:04本頁面
  

【正文】 第6章 總 結(jié)本系統(tǒng)開發(fā)的技術(shù)難點(diǎn)主要有兩個方面:一是否業(yè)務(wù)邏輯的理解;二是數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計。 需求測試:根據(jù)需求分析的內(nèi)容,測試網(wǎng)站是否和當(dāng)初的設(shè)計一樣。 性能測試:將程序以局域網(wǎng)的形式發(fā)布,查看其是否滿足多用戶的要求。 功能測試:對網(wǎng)站的幾大功能模塊逐一測試,盡最大可能發(fā)現(xiàn)起潛在的錯誤。 界面測試:在不開啟Web服務(wù)器的情況下,反復(fù)點(diǎn)擊網(wǎng)頁上的超鏈接,測試其連接情況,直到所有的鏈接都達(dá)到預(yù)期的效果。作為程序員需要評估該模塊在系統(tǒng)運(yùn)營中所處的環(huán)境,將要受到的負(fù)荷壓力以及各種潛在的危險和惡意攻擊的可能性。通常我們把性能指標(biāo)全部歸結(jié)到硬件,操作系統(tǒng)和開發(fā)環(huán)境上,而忽略了代碼本身性能上的考慮。這就要求程序員在設(shè)計和編碼的時候要去充分理解考慮需求。要針對需求測試,首先就要對項目的需求和業(yè)務(wù)有一定的了解。 需求測試5) 針對需求測試,是測試中很重要的一個環(huán)節(jié)。4) 關(guān)于修改功能的測試,主要是看修改確認(rèn)后是否數(shù)據(jù)真正已被修改了。有的時候需要在數(shù)據(jù)庫中設(shè)一個標(biāo)志位,而不是真正的物理刪除。通常情況下,我們單擊”確認(rèn)”按鈕查看信息是否被刪除掉了,而忽略了單擊“取消”按鈕后程序的反應(yīng),這時有可能的是沒有刪除,還有一種可能是即便單擊了“取消”按鈕,也一樣刪除了數(shù)據(jù)。還有就是必須錄入的字段的設(shè)置是否有誤。功能測試中需要注意的有:1) 查詢功能中,有按單一查詢條件進(jìn)行查詢的,也有按多個查詢條件組合查詢的,這里要注意多個查詢條件之間的關(guān)系,還有一些常識性的問題,比如按月查詢,閏年中二月的天數(shù)。這種情況多是因為業(yè)務(wù)方面的定義名稱很相似或很類似,并且業(yè)務(wù)實體方面也很類似,開發(fā)人員在開發(fā)過程中忽略了開發(fā)名稱和模塊,只單獨(dú)地實現(xiàn)其功能。4) 頁面類似的內(nèi)容中,明顯有字體,字號不同的情況,使界面整體風(fēng)格看上去不一致,這種情況只出現(xiàn)在沒有CSS定義的情況下,或是已經(jīng)定義的CSS,開發(fā)人員在開發(fā)過程中沒有調(diào)用。3) 程序員自創(chuàng)的詞語,雖然意思對,但不符合界面的標(biāo)準(zhǔn)及需求。這種情況基本上出現(xiàn)在拼起來顯示的提示中,頁面的簡單陳述是通過變量拼組起來的,通過程序?qū)⒆忠粋€一個地輸出出來。這種Bug如果測試人員不細(xì)心,和難找出來,可能會出現(xiàn)在提示信息或界面中。也是常常出Bug的地方。 界面測試界面測試是測試過程中比較簡單直觀的一種測試方法,只要細(xì)心地按界面要求核對就行了。軟件測試是軟件質(zhì)量保證的主要活動之一,因此,測試的質(zhì)量直接影響軟件的質(zhì)量。第5章 系統(tǒng)測試在完成了程序的編寫工作后,接下來將進(jìn)行軟件的測試,這里說的軟件,并不單單是指程序本身,還包括其他方面。如果向表里插入一條數(shù)據(jù)的話,直接調(diào)用save()方法即可,但如果要使用查詢功能的話,我按照一般的SQL語句的方法:from 表名 where 條件,卻總是找不到預(yù)期的數(shù)據(jù),后來看書中發(fā)現(xiàn),from后跟的是表對應(yīng)映射的類文件名,而非表名,比如招聘表為invite,所以在from后要根Invite而不是invite。 HQL語言本系統(tǒng)中,所有對數(shù)據(jù)庫的操作都由Hibernate來完成,因此用到了大量的HQL語言。 圖片處理在SQL Server2000的數(shù)據(jù)庫中可以存放任何格式的圖片,但是要將其轉(zhuǎn)換為二進(jìn)制的數(shù)據(jù)存入數(shù)據(jù)庫,在調(diào)用時再將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為圖片,這樣雖然便于管理,但是在當(dāng)前國內(nèi)的網(wǎng)速來看,這樣的方法是在是不可取。為了解決這個問題,使用了下面的兩種方法:①%(“gb2312”)。在表單不接收isadminhelp的value,只接收isadmin的value。于是我們就用hidden做為表單提交項,而input name=isadminhelp type=checkbox %=new Byte(1).equals(())?checked:% onClick=javascript:adminChecked()。在使用javascrip對checkbox的value控制時。 value=%=()%/td input type=hidden name=isadmin value=%=()%實際想要提交的表單的名字是isadmin,而在顯示checkbox時用的name是isadminhelp。在顯示是否是管理員的項時比較人特別。 }Hibernate在使用這個load()方法時比較特別,需要傳入實體類的class,和要查詢的用戶ID。 ()。 Users u = (Users) (, new Long(id))。loadUsres()方法實現(xiàn)如下所示: public Users loadUsers(long id) throws HibernateException { Session session = ()。 return (success)。 Users u=(())。這樣在點(diǎn)擊修改時也要傳給Action一個用戶ID,用來查詢出用戶信息,如下所示:a href=?action=selectuseramp。 }刪除用戶時和添加用戶一樣都是先得到一個Hibernate的Session,后調(diào)用它的delete()方法就可以了,操作完成后千萬記得要提交事務(wù),即調(diào)用mit()方法,和關(guān)閉Session。 ()。 Transaction tx = ()。 }在這個方法里得到頁面提交過來的用戶ID,把這個id存在Users表中的實例中,傳給dao的deleteUsers()方法,我們可以看到關(guān)于數(shù)據(jù)庫方面的操作都被封裝在Dao中。 (users)。 Users users=new Users()。id=%=()%”它向Action的實現(xiàn)類提交了兩個參數(shù),一個是action=deleteuser是固定不變的,另一個是該用戶的id這是根據(jù)不同記錄取出來的。 瀏覽人員信息頁面 圖表 14人員信息的列表的最后一列可以對該條記錄做刪除和修改。如果在網(wǎng)頁中直接點(diǎn)擊這個鏈接地址,同樣也會調(diào)用出所有用戶的信息。()0”判斷如果在沒有數(shù)據(jù)的情況下,將對用戶提示說“對不起,沒有添加人員信息?。?!”。id=%=()%刪除/a/td /tr % } }else{% tr td height=22 colspan=7 align=center 對不起,沒有添加人員信息!?。?td /tr %}%在顯示頁中,從request里面的取出數(shù)據(jù),如果有則顯示在頁面上,使用“l(fā)ist!=nullamp。nbsp。nbsp。/td td height=22 align=center a href=?action=selectuseramp。/td td height=22 align=center %=new Byte(1).equals(())?是:否%/td td height=22 align=center %=(())%amp。/td td height=22 align=center %=new Byte(1).equals(())?男:女%/td td height=22 align=center %=(((),))%amp。/td td height=22 align=center %=(())%amp。 % tr td height=22 align=center %=(())%amp。()0){ Iterator it = ()。 if(list!=nullamp。所有用戶的信息都在這個頁中顯示出來。 return list。 ()。 Query query = session .createQuery(select u from Users as u order by createtime)。: action path=/user type= name=userForm scope=request forward name=success path=/ / /action這樣就在頁面做一次提交時它訪問了二次UsersAction,第一次的作用是向數(shù)據(jù)庫中添加信息,隨后又把所有人員信息取出來顯示給用戶,同樣UsersAction還只是調(diào)用UsersDao,取數(shù)據(jù)庫的具體操作在UsersDao文件中,他這次調(diào)用的是listUser()方法,如下所示: public List listUser() throws HibernateException { Session session = ()。 ()。 (users)。 Session session = ()。配置文件中modifyuser的Action實現(xiàn)類是“”,如下所示:action path=/modifyuser type= name=userForm scope=session forward name=success path=/?action=listuser //action在UsersAction找到參數(shù)action等于adduser時所調(diào)用的方法addUsers(),它只是把從UserForm表單轉(zhuǎn)化成的User類做為參數(shù)傳給了UsersDao的addUsers()方法。而且這個方法中還把用戶的生日等表單元素的值由字符型轉(zhuǎn)成日期類型。 return u。 ((getBirthday(),))。 (getPassword())。 (getContent())。 (getId())。 } public void setSex(Byte sex) { = sex。 } public void setBirthday(String birthday) { = birthday。 return ()。 ( ]。 ( content = + + 。 ( isadmin = + + 。 ( createtime = + + 。 ( birthday = + + 。 ( sex = + + 。 ( password = + + 。 ( username = + + 。 ( id = + + 。 } public String toString() { StringBuffer toStr = new StringBuffer()。 =null。 =null。 =null。 =null。 } public void setUsername(String username) { = username。 } public void setPassword(String password) { = password。 } public void setIsadmin(Byte isadmin) { = isadmin。 } public void setId(Long id) { = id。 } public void setCreatetime(String createtime) { = createtime。 private String content。 private String createtime。 private Byte sex。 private String username。 } public void setContent(String content) { = content。import 。import 。import 。 添加人員信息頁面 圖表 13添加人員信息的鏈接是這樣的,如下所示:td height=22 align=centera href= target=frame添加人員信息/a/td在Struts配置文件中,添加人員信息的鏈接沒有使用ActionForm類,也沒有使用Action的實現(xiàn)類,如下所示: action path=/adduser forward=/ /,只是一個普通的JSP文件,但是它的表單元素都是與UsersForm相對應(yīng)的,UsersForm如下所示:package 。管理控制頁面右側(cè)實際上是一個iframe,如下所示: td height=550 valign=topiframe name=frame src= width=100% height=100% frameborder=0 hspace=0/iframe/td在左側(cè)的鏈接中使用target=frame就可以在這個iframe中打開新的鏈接了。此模塊文件架構(gòu)如圖4所示。那剛才那些有些類似于欲編譯的東西
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1