第一篇:《軟件工程》課程教學內容的項目化運用
《軟件工程》課程教學內容的項目化運用
摘要:該文基于《軟件工程》課程內容,結合JSP技術和SQL2000數據庫設計并開發了《小型企業辦公耗材庫存管理系統》,以使小型企業方便高效地對其辦公用品的庫存進行管理。該系統功能分四大主要模塊:庫存查詢、進貨作業、領料申請、庫存盤點。
關鍵詞:軟件工程;JSP;SQL2000
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)12-0069-03
Abstract: Based on the content of software engineering course,combined with ASP.NET technology and SQL2000 database,we have designed and developed the inventory management system of office supplies for small businesses,so as to enable small businesses to manage inventory of their office supplies conveniently and efficiently.The function of this system is divided into four main modules: inventory inquiries,wholesale operations,material application and inventory.Keyword: Software Engineering; JSP; SQL2000
《?件工程》課程內容主要涉及與軟件開發和維護相關的概念、步驟和方法,這些內容對于實際的軟件開發起重要指導作用[1]。該課程最主要的特點就是實踐性強,從軟件需求開始到軟件的可行性分析、概要設計、詳細設計、系統實現等各個環節都要求與現實生活相聯系。
在當今信息時代,隨著電子商務產業的發展和網絡功能的極大擴展,企業對貨物的管理日趨復雜,傳統的基于賬本等紙質工具進行記載管理的方法效率非常低,企業需要以計算機為工具,結合數據庫管理技術提高貨物管理效率。
鑒于如上所述,為將《軟件工程》課程教學內容應用于實踐,同時便于小型企業高效解決辦公耗材庫存問題,本文融入該課程教學內容,使用JSP[2]技術和SQL2000數據庫[3]設計并開發了小型企業辦公耗材庫存管理系統。需求分析
開發該管理系統的目標是使企業對辦公耗材的管理更加方便,提高企業耗材管理效率,節省人力和物力。要求所設計的系統操作方便、更新及時、易于維護管理;擁有動態更改信息,企業員工和管理員可以快速地在系統中查找和記錄所需辦公用品;同時后臺管理員需要進入系統對網站進行維護,更新信息、修改信息或者刪除某些信息。
因此該系統需要滿足的需求為:具有良好的人機界面,以方便操作;系統要具有用戶注冊,進貨記錄,出貨記錄,庫存查詢,員工信息管理及領料申請等最重要和基礎的功能。可行性分析
主要包括:技術、經濟和運營維護這三方面的可行性分析。
技術方面,以C/S模式開發系統,因此只需在瀏覽器上處理數據而不需要安裝另外的客戶端,升級和更新都很方便;經濟方面,對于中小企業,要運行本系統只需有一臺或者一組專門的服務器,而企業員工只需用電腦接入內部局域網,用瀏覽器即可訪問數據和執行操作;運營維護方面,只需兩三個人就可以對系統進行日常維護和管理。網站功能設計
按照需求分析的結果,網站總體結構設計如圖1所示,角色上主要包括普通用戶和管理員;功能上主要包括用戶注冊、進貨記錄、出貨記錄、庫存盤點、歷史記錄查詢及領料申請等。網站主要功能分析
4.1用戶注冊及管理員登錄
普通用戶和管理員必須先注冊然后登錄系統,登錄成功后相應的界面因用戶角色不同而不同。
4.2網站功能顯示
4.2.1普通用戶查詢功能
圖2所示的主要功能是普通用戶進行庫存查詢操作,可以通過輸入辦公用品名稱或者種類名稱查詢所需用品,也可以直接輸入“all”來查詢或瀏覽所有辦公用品。
如下圖3所示,普通用戶可以查詢自己在某段時間提交申請單的情況。具體查詢時可通過輸入查詢起止時間段進行查詢,也可只輸入截止時間不確定起始時間,查詢結果是在截止日期前的所有申請單。
4.2.2普通用戶領料功能
普通用戶領取辦公耗材時,需在圖4所示界面填寫申請表,左邊一欄是內容簡介和提示,右邊是表單數據框,用于輸入提交數據,包括辦公用品名,辦公用品號,需求量和申請人等內容。
4.2.3 管理員查詢功能
圖5所示為管理員對普通用戶的管理,即可以查找指定用戶,也可以對用戶的信息進行修改。具體操作時,管理員通過輸入普通用戶姓名查找該用戶信息,同時可修改用戶id,聯系方式或用戶權限等。
圖6所示的管理員查詢功能類似于圖2所示功能,不同之處是管理員在此可對進貨單進行查詢,操作時在此界面輸入日期即可查詢當天的進貨單,從而調整進貨計劃。
圖7的功能有助于管理員查看普通員工提交的申請單信息,從而設計出貨計劃。查詢時只需要輸入查詢日期和查詢申請者姓名即可。若只輸入日期,則顯示當天所有的訂單信息,若只輸入申請者姓名,則顯示該員工提交的所有訂單。
圖8顯示辦公耗材的出庫記錄,用以生成出庫表。左邊為信息簡介,右邊為表單,內容包括:貨物名,貨物號,種類號,出貨量,領貨人以及出貨日期等。
4.2.4 管理員進貨功能
圖9所示包含進貨登記和刪除記錄兩個功能。進貨登記的權限歸管理員專有,左邊為簡介,在右邊填寫進貨單,包括:貨物號,貨物名,種類名,種類號,進貨量,進貨價,廠家信息及進貨日期等內容。另一個刪除記錄功能則是用來刪除某一次訂單,操作時通過訂單查詢功能找到不需要的訂單號然后刪除即可。結束語
為將《軟件工程》課程教學內容運用于實踐,同時,為了小型企業提高管理辦公耗材的效率,融入軟件工程思想設計并開發了辦公耗材庫存管理系統,本系統效率高,速度快及安全級別高等這些優點必將為企業的發展帶來便利。
參考文獻:
[1] 羅海麗,“軟件工程”課程教學內容及教學模式改革探索[J].電腦與電信,2010(8):75-76.[2] 盧翰.JSP項目開發案例全程實錄[M].北京: 清華大學出版社,2011.[3] 趙增敏.SQL Server 2000 實用教程[M].北京: 電子工業出版社,2008.
第二篇:軟件工程課程
軟件工程專業本科生課程設置
時間:2009-03-22 08:47 來源: 作者: 點擊:1059
學院在課程體系制定、課程計劃安排上制定了嚴格的規定與規范的操作程序。課程體系、教學計劃由學院主管院長負責,對國內外大學、大型IT企業進行調研、分析,確定社會對人才的需求和人才知識、能力、素質的構成,而后由主管院長召集相關教師起草方案,再經學院教學指導委員會專家和企業專家進行論證,并報學校教務處審核、批準,由此形成本科生、碩士研究生的培養方案。同時,根據學科發展和社會需求的變化,學院通過增加或變更選修課、開設講座等方式動態調整。目前,軟件學院主要課程設置按課程體系關鍵域分類如下。
1)數學基礎(本科):大學數學I、概率論與數理統計、數值分析、離散數學等。
2)軟件基礎(本科):數據結構、匯編語言程序設計、面向對象編程與設計、可視化程序設計基礎、操作系統、數據庫系統、C/C++程序設計、算法分析與設計、編譯原理、軟件工程等。
3)硬件基礎(本科):數字電子技術、計算機系統基礎、數字通信原理、微機原理與技術、計算機網絡原理等。
4)專業技術(本科):大型數據庫技術、軟件體系結構、系統級編程技術、數據挖掘、嵌入式系統、J2EE應用開發、.NET架構軟件開發、設計模式、建模與測試、信息安全、軟件開發案例分析、并行程序設計、多媒體技術及應用、網絡與分布式計算、計算機圖形學等。
5)工程管理(本科):軟件開發項目管理、軟件質量管理與控制、企業管理、網絡營銷、商務談判技巧、軟件度量及應用、心理學、商務英語等。
6)數學基礎(雙證碩士):應用統計、組合數學、應用數學方法等。
7)軟件理論基礎(雙證碩士):現代軟件工程、面向對象與構件技術、高等計算機算法、移動計算等。
8)數學基礎(工程碩士):運籌學、工程數學基礎、應用數學方法等。
9)軟件理論基礎(工程碩士):分布式系統、現代軟件工程、軟件重用與構件技術、軟件工程實例分析等。
第三篇:軟件工程課程心得
軟件工程項目總結
在我們整個軟件工程過程中,我體會到了許多,也學到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由七個成員組成,在相互商量后我們也確定了我們組的項目,是做一個校園 b2c電子商務網站。我們也隨即做了分工,由于我們團隊只有我和另一名成員有類似的項目開發經驗,所以我們便要擔負起更重的任務。最后由于在整個團隊中,對于界面開發這一塊只有我的開發經驗較深,所以我便擔任了主要的界面設計人員。我們的項目也正式開始了。
需求調研和分析對于軟件開發過程至關重要。我們在開發時如果不進行調研和分析,那么對于后來的項目進展將產生致命的后果。我們在項目的開發中便遇到了這樣的問題。老師作為我們的客戶,他對這個校園 b2c電子商務網站的要求便是我們必須了解的,我們也必須以客戶的要求為根本構建我們的這個系統。我們開始自己隨意的計劃整個網站的設計,然后報給老師,老師作為一個客戶并不是全部認同,隨后我們也必須按著客戶的要求更改我們的設計報告。我也明白了,再做一個系統時,必須隨時和客戶保持溝通,隨時了解他們需要什么,他們想要什么功能。如果我們不去和客戶溝通,不去調研客戶的需求,做出來的系統即使在我們看來是一個很好,很完美的產品,但是如果客戶不認同,那么我們所做的一切都是徒勞,還要返工去修改,費時費力。所以在做任何一個項目時,前期的需求調研和需求分析都是必須的,這是在做一個項目的基本,是關系成敗的重要一環。
對于一個項目,它的需求設計也非常重要。在我們的校園 b2c電子商務網站開發的過程中,遇到了一些問題,如客戶提交購買確認后,我們如何確定應該以什么方式將貨物給客戶,還有以什么確定貨物的送達地點,客戶的訂單在哪里處理,訂單以什么方式驚醒處理,在管理員應該實現的功能上反復增刪等,這些問題很多都是由于設計不夠清晰,不夠完善而導致的。出現的這些問題很多都是非常棘手的,我們為了解決這些棘手的問題浪費了大量的時間,我們不得不在工程代碼上改了又改,在數據庫里增表、刪表、加數據、減數據,當然,在文檔里也要做出相應的修改以適應新的功能。還好,我們能及時地發現問題,通過相互
溝通討論,問題也得到了解決。通過總結,我們也意識到,我們大家在做需求分析和進行需求了解時僅僅考慮了一些基本的功能,而至于管理員和客戶之間的聯系,以及具體的一些流程我們都沒有深究,而導致我們到后期花費了大量的時間用于修復之前沒有考慮周全而帶來的問題。如果我們的需求設計能夠比較清晰和完善,那么我們在開發過程中便會很明白的知道我們應該實現什么樣的功能,在數據庫里應該怎樣建表,以什么方式插入數據,從而可以避免反復修改工程的問題,也能避免出現可能毀壞整個工程的問題。整個工程的需求設計對于一個項目的順利進展至關重要。
對于文檔在軟件工程中的作用,我在這次項目開發過程中有了更加深刻的理解。文檔在軟件開發過程中是很有用的,文檔是一項必不可少的東西,但文檔也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確開發過程中為什么要寫這些文檔,文檔的最根本的作用是為了更好的溝通。一個項目或產品可能需要延續很長的時間,開發過程中可能需要很多的環節,可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個共同的聲音。文檔只不過是一個準繩,將開發中的各個樹枝樹葉扶正。如果,這個準繩太多太緊,大樹可能會發育的很高很直,但是就是有些畸形,如果這個準繩太少太松,大樹可能就會變成灌木叢。文檔的多少、繁簡是有度的,絕對不能說越多越好。我覺得,文檔需要說明解決問題的方法而不是解決問題的理論,因為解決問題的理論是在文檔形成中做到的。文檔完整即可,每一份文檔說明一個問題,無需將多個文檔的內容放在一個文檔的里面。除了重要階段形成文檔,其它部分都只是討論或者說是想法。不要讓文檔成為累贅,如果真是這樣,我認為就是該考慮寫這些文檔的必要性的時候了。我們在文檔的時候,一定要明白為什么要寫這些。
在整個項目開發過程中,我們也同時遇到了許多程序接口問題,頁面和功能相結合的問題,數據庫建表的問題,這些問題都是源于我們項目小組成員之間的溝通不足。我深刻認識到,在項目開發時,項目小組中各個成員之間的相互溝通是非常重要的。如果我們要在功能方面作出修改,那么程序人員和頁面人員及數據庫人員就必須相互溝通,共同對整個程序作出相應的修改,這樣才能避免最終整合時出現問題。
在這十個周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現開發出所用的軟件。但現在我明白了,軟件工程的作用,就是告訴人們怎樣去開發軟件和管理軟件。具體地講,它表現在與軟件開發和管理有關的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統分析->建模->概要設計->詳細設計->編碼->測試->維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
在這次項目里我完成了許多工作,在界面設計上我完成了,首頁、全部的商品頁面、全部的用戶頁面及部分管理員頁面的制作,在后期項目整合過程中修改了功能和界面結合時出現的bug,還有數據庫插入數據及解決數據庫集中整合時出現的問題。這些工作我都順利完成了,雖然并不能算是非常的出色,但也算是盡力了。現在看到自己辛勞的成果,我感到很欣慰。
當然,在這次項目過程中我也發現了自己的一些問題。如現在的網站開發技術還不夠強,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發中能做得更好。
第四篇:軟件工程課程總結
軟件工程課程總結
學習軟件工程這門課程已經有一個學期了,整整一個學期下來,應該說還是有許多值得肯定的地方的。其實在我看來,軟件工程與其說是一門課程,不如說是一門思想,是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的能夠解決問題的思想集合。
學習軟件工程能夠加強人的整體思維能力,對人的綜合素質有所提高,培養良好的分析規劃和團隊意識。學習了軟件工程,我們可以在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產品。追求這些目標有助于提高軟件產品的質量和開發效率,減少維護的困難。
在這學期的軟件工程課上,我每次都認真聽老師講課,跟著老師的腳步,領悟老師的思想,學習態度還算認真。一剛開始還覺得這門課有點枯燥乏味,但后來靜下心來看這本書感覺書上的知識對以后無論是在生活、學習還是在工作上都有很大的好處,對自身也是一種完善,因為這里面的思想博大精深,值得學習。從此我就認真地學習這門課程。盡管在學習的過程中遇到了很多困難,但經過與老師和同學的積極交流終于把問題解決了,從中學到了更深層次的知識,而這些知識又是對書本知識的補充,對學習書本知識有很大的好處。當然,學習理論知識就是用來指導實踐的,也只有把理論知識運用到實踐才能充分發揮理論的作用。所以在業余時間,我們嘗試著把所有知識串起來,并根據自身的實踐經驗完成了相關的系統分析報告,讓知識能更加駐留我心。
在本學期的軟件工程課程的學習中,我們學習了十章的內容。第一章軟件工程概述,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現。了解軟件工程的的工作對象、發展背景、內容、目標。還介紹了三個常用的軟件工具Microsoft Visio、PowerDesigner和Rational Rose。第二章軟件開發過程模式,這一章主要讓我們了解軟件生存周期,認識到了軟件開發過程,熟悉了幾種常用的軟件過程模式的特點與用途。此章介紹了6種模式:瀑布模式、原型進化模式、增量模式、螺旋模式、迭代模式和組件復用模式。第三章軟件項目管理,本章詳細介紹了項目管理內容(對項目的管理、對項目成果的管理),讓我們學會如何制定項目計劃,并學習使用甘特圖、任務網絡圖(由Microsoft Project創建)制定項目計劃。第四章計算機系統工程,這一章讓我們熟悉如何從全局的計算機系統角度考察軟件問題,熟悉如何對軟件項目做可行性分析。該章還涉及系統初步建模,其中的系統框架圖、系統流程圖,可由Microsoft Visio中的基本流程圖創建。第五需求分析,這一章重點講解了需求分析任務及過程,讓我們學會如何獲取業務需求、建立業務模型、進行需求驗證。可通過Microsoft Visio中的組織圖創建業務樹,通過Rational Rose創建業務用例、業務活動。第六章結構化分析建模,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。說明了建立分析建模的原因和方法。我們可通過PowerDesigner創建實體聯系圖,通過Microsoft Visio創建數據流圖,通過Rational Rose創建事件狀態圖。第七章基于UML的面向對象分析建模,本章詳細介紹了UML的基本模式、事物、關系及建模時用到的各種圖進行了介紹。可通過Rational Rose進行面向對象分析建模。第八章概要設計,這一章主要講解了概要設計任務及過程,介紹了系統構架、數據結構、程序結構等概要設計內容。第九章結構化設計建模,本章介紹了結構化設計建模的工具,讓我們學會如何基于數據流進行程序結構映射和如何對程序結構進行優化。該章中的程序結構圖由Microsoft Visio創建。第十章基于UML的面向對象設計建模,本章講解了面向對象設計建模內容,讓我們學習使用UML建立面向對象設計模型(邏輯結構、動態過程、物理裝配與部署)。通過Rational Rose進行設計建模。
學習了這門課程之后,我發現無論是在上課,還是在學校里面做學生工作,技術性的工作就好比變魔術。其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單,這個可以說就是技術的魅力了。就比如說軟件工程中所謂的需求獲取,從字面上來看好像是一件很難的事,而其實就是一個談判,辯論,交流的過程,只不過這個交流過程可能針對性比較強。所以說軟件工程就是對生活的平凡小事的升華,它來自于生活卻高于生活。當我們在畢業之后,軟件工程是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,即使我們是從事其它行業,不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應該說這就是這門課的價值所在,它讓我們既學會了管理又學會了技術。
在整個學期的學習過程中,我收獲了不少,能夠解決一些較為簡單的問題,在建模方面的能力有所加強。原來一直以為學好這門課程最重要的是會編寫程序,其實則不然。我了解到軟件并非是一些代碼這么簡單,在開發軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括:軟件的定義、可行性分析報告、項目開發計劃、軟件需求說明書、概要設計說明書、詳細設計說明書、用戶操作手冊、測試計劃、測試分析報告、開發進度報告、項目開發總結報告、軟件維護手冊、軟件問題報告、軟件修改報告等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟件這個浩大的工程的一個小小的過程。當然自己也有很多的不足之處,比如自己動手操作能力比較弱,實踐經驗匱乏,思維不緊密,不注重細節,耐心不夠,每次遇到問題就去問老師,實戰精神不強,所以導致很多知識學得也只是模模糊糊的。所以在以后的學習中我要加強自身綜合素質的培養,要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決,這樣才能學到這門課程的精華。我覺得學好軟件工程首先要明白自己的學習目標究竟是什么,根據自己的實際工作出發,有針對性地在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習語言時,要看看與C語言的聯系,多思多想,把從各個科目學到的知識融匯貫通。
在本學期我們班每位同學都做了管理信息系統分析報告,其中就用到了軟件工程中的不少知識。比如項目來源,項目任務,項目規劃,系統需求分析,系統結構設計,系統詳細設計,系統測試,系統維護等等。而我做的是酒店客房管理信息系統的分析報告,其中涉及到了以上幾個方面,需要明確任務目標,準備相應的項目資源,對項目實施合理的規劃,進行業務需求和功能需求分析,制定出數據字典,設計出軟件結構,并對其進行詳細設計,比如算法設計,數據庫設計和界面設計。畫出進度安排表,組織結構圖,業務流程圖,數據流圖,利用UML建模畫出圖形,通過這些圖形能更直觀地看出各個實體之間的關系,對系統有個比較整體的體現。
總之,在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,成為社會的可用之才,回饋社會。
第五篇:軟件工程課程心得
軟件工程設計總結
在我們整個軟件工程過程中,我體會到了許多,也學到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由七個成員組成,在相互商量后我們也確定了我們組的項目,是做一個圖書管理系統。我們也隨即做了分工,由于我們團隊只有我和另一名成員有類似的項目開發經驗,所以我們便要擔負起更重的任務。最后由于在整個團隊中,對于界面開發這一塊只有我的開發經驗較深,所以我便擔任了主要的界面設計人員。我們的項目也正式開始了。
對于文檔在軟件工程中的作用,我在這次項目開發過程中有了更加深刻的理解。文檔在軟件開發過程中是很有用的,文檔是一項必不可少的東西,但文檔也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確開發過程中為什么要寫這些文檔,文檔的最根本的作用是為了更好的溝通。一個項目或產品可能需要延續很長的時間,開發過程中可能需要很多的環節,可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個共同的聲音。文檔完整即可,每一份文檔說明一個問題,無需將多個文檔的內容放在一個文檔的里面。除了重要階段形成文檔,其它部分都只是討論或者說是想法。不要讓文檔成為累贅,如果真是這樣,我認為就是該考慮寫這些文檔的必要性的時候了。我們在文檔的時候,一定要明白為什么要寫這些。
在這一周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現開發出所用的軟件。但現在我明白了,軟件工程的作用,就是告訴人們怎樣去開發軟件和管理軟件。具體地講,它表現在與軟件開發和管理有關的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統分析->建模->概要設計->詳細設計->編碼->測試->維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
當然,在這次項目過程中我也發現了自己的一些問題。如現在的網站開發技術還不夠強,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發中能做得更好。