<listing id="3n75l"><cite id="3n75l"><i id="3n75l"></i></cite></listing>
<cite id="3n75l"></cite>
<var id="3n75l"></var>
<menuitem id="3n75l"><dl id="3n75l"></dl></menuitem><var id="3n75l"><video id="3n75l"><listing id="3n75l"></listing></video></var><var id="3n75l"><strike id="3n75l"></strike></var>
<var id="3n75l"></var>
<var id="3n75l"><strike id="3n75l"></strike></var>
<menuitem id="3n75l"></menuitem><var id="3n75l"></var>
<var id="3n75l"></var>
<cite id="3n75l"><strike id="3n75l"><listing id="3n75l"></listing></strike></cite><var id="3n75l"><strike id="3n75l"><listing id="3n75l"></listing></strike></var>
<cite id="3n75l"><strike id="3n75l"><listing id="3n75l"></listing></strike></cite>
<var id="3n75l"><strike id="3n75l"><listing id="3n75l"></listing></strike></var>
<menuitem id="3n75l"></menuitem>
<var id="3n75l"></var>
<var id="3n75l"></var><var id="3n75l"></var>
<var id="3n75l"></var>
<menuitem id="3n75l"><dl id="3n75l"></dl></menuitem>
您現在的位置:首頁 - 備考 - 成考問一問

吉林成人高考-北華大學繼續教育學院-軟件工程專業

2025-07-09 來源:中國教育在線

軟件工程是一門研究用工程化方法構建和維護有效、實用和高質量的軟件的學科。軟件工程專業是2002年**教育部新增專業,隨著計算機應用領域的不斷擴大及中國經濟建設的不斷發展,軟件工程專業將成為一個新的熱門專業。該專業以計算機科學與技術學科為基礎,培養能夠從事軟件開發、測試、維護和軟件項目管理的高級專門人才,同時,各個行業幾乎都有計算機軟件的應用,如工業、農業、銀行、航空、政府部門等,這些應用促進了經濟和社會的發展,也提高了工作和生活效率。

吉林成人高考-北華大學繼續教育學院-軟件工程專業

報名入口

吉林成人高考報名入口(點擊報名)

1基本簡介

定義:

軟件工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義:

BarryBoehm:運用現代科學技術知識來設計并構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。

IEEE:在軟件工程術語匯編中的定義:軟件工程是:1.將系統化的、嚴格約束的、可量化的方法應用于軟件的開發、運行和維護,即將工程化應用于軟件;2.在1中所述方法的研究

FritzBauer:在NATO會議上給出的定義:建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。

《計算機科學技術百科全書》:軟件工程是應用計算機科學、數學、邏輯學及管理科學等原理,開發軟件的工程。軟件工程借鑒傳統工程的原則、方法,以提高質量、降低成本和改進算法。其中,計算機科學、數學用于構建模型與算法,工程科學用于制定規范、設計范型(paradigm)、評估成本及確定權衡,管理科學用于計劃、資源、質量、成本等管理。

比較認可的一種定義認為:軟件工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。

ISO 9000對軟件工程過程的定義是:軟件工程過程是輸入轉化為輸出的一組彼此相關的資源和活動。

內涵:

一、軟件工程過程是指為獲得軟件產品,在軟件工具的支持下由軟件工程師完成的一系列軟件工程活動,包括以下四個方面:

1、P(Plan)——軟件規格說明。規定軟件的功能及其運行時的限制。

2、D(DO)——軟件開發。開發出滿足規格說明的軟件。

3、C(Check)——軟件確認。確認開發的軟件能夠滿足用戶的需求。#p#分頁標題#e#

4、A(Action)——軟件演進。軟件在運行過程中不斷改進以滿足客戶新的需求。

二、從軟件開發的觀點看,它就是使用適當的資源(包括人員,軟硬件資源,時間等),為開發軟件進行的一組開發活動,在活動結束時輸入(即用戶的需求)轉化為輸出(最終符合用戶需求的軟件產品)。

三個階段:定義階段:可行性研究初步項目計劃、需求分析;開發階段:概要設計、詳細設計、實現、測試;運行和維護階段:運行、維護、廢棄

原則:1、抽象;2、信息隱蔽;3、模塊化;4、局部化;5、確定性;6,一致性;7、完備性;8、**性

2發展過程

軟件是由計算機程序和程序設計的概念發展演化而來的,是在程序和程序設計發展到一定規模并且逐步商品化的過程中形成的。軟件開發經歷了程序設計階段、軟件設計階段和軟件工程階段的演變過程。

程序設計階段

程序設計階段出現在1946年~1955年。此階段的特點是:尚無軟件的概念,程序設計主要圍繞硬件進行開發,規模很小,工具簡單,無明確分工(開發者和用戶),程序設計追求節省空間和編程技巧,無文檔資料(除程序清單外),主要用于科學計算。

軟件設計階段

軟件設計階段出現在1956年~1970年。此階段的特點是:硬件環境相對穩定,出現了“軟件作坊”的開發組織形式。開始廣泛使用產品軟件(可購買),從而建立了軟件的概念。隨著計算機技術的發展和計算機應用的日益普及,軟件系統的規模越來越龐大,高級編程語言層出不窮,應用領域不斷拓寬,開發者和用戶有了明確的分工,社會對軟件的需求量劇增。但軟件開發技術沒有重大突破,軟件產品的質量不高,生產效率低下,從而導致了“軟件危機”的產生。

軟件工程階段

自1970年起,軟件開發進入了軟件工程階段。由于“軟件危機”的產生,迫使人們不得不研究、改變軟件開發的技術手段和管理方法。從此軟件產生進入了軟件工程時代。此階段的特定是:硬件已向巨型化、微型化、網絡化和智能化四個方向發展,數據庫技術已成熟并廣泛應用,第三代、第四代語言出現;第一代軟件技術:結構化程序設計在數值計算領域取得優異成績;第二代軟件技術:軟件測試技術、方法、原理用于軟件生產過程;第三代軟件技術:處理需求定義技術用于軟件需求分析和描述。

3目標相關

軟件工程的目標是:在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產品。追求這些目標有助于提高軟件產品的質量和開發效率,減少維護的困難。

(1)適用性:軟件在不同的系統約束條件下,使用戶需求得到滿足的難易程度。

(2)有效性:軟件系統能最有效的利用計算機的時間和空間資源。各種軟件無不把系統的時/空開銷作為衡量軟件質量的一項重要技術指標。很多場合,在追求時間有效性和空間有效性時會發生矛盾,這時不得不犧牲時間有效性換取空間有效性或犧牲空間有效性換取時間有效性。時/空折衷是經常采用的技巧。

(3)可修改性:允許對系統進行修改而不增加原系統的復雜性。它支持軟件的調試和維護,是一個難以達到的目標。

(4)可靠性:能防止因概念、設計和結構等方面的不完善造成的軟件系統失效,具有挽回因操作不當造成軟件系統失效的能力。#p#分頁標題#e#

(5)可理解性:系統具有清晰的結構,能直接反映問題的需求。可理解性有助于控制系統軟件復雜性,并支持軟件的維護、移植或重用。

(6)可維護性:軟件交付使用后,能夠對它進行修改,以改正潛伏的錯誤,改進性能和其它屬性,使軟件產品適應環境的變化等。軟件維護費用在軟件開發費用中占有很大的比重。可維護性是軟件工程中一項十分重要的目標。

(7)可重用性:把概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。可組裝在系統的任何位置,降低工作量。

(8)可移植性:軟件從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。

(9)可追蹤性:根據軟件需求對軟件設計、程序進行正向追蹤,或根據軟件設計、程序對軟件需求的逆向追蹤的能力。

(10)可互操作性:多個軟件元素相互通信并協同完成任務的能力。

4開發信息

過程

生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿于整個開發過程,實現完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等

原則

軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。

軟件工程的原則有以下四項

軟件工程師

基本原則:

選取適宜開發范型

該原則與系統設計有關。在系統設計中,軟件需求、硬件需求以及其他因素之間是相互制約、相互影響的,經常需要權衡。因此,必須認識需求定義的易變性,采用適宜的開發范型予以控制,以保證軟件產品滿足用戶的要求。

采用合適的設計方法

在軟件設計中,通常要考慮軟件的模塊化、抽象與信息隱蔽、局部化、一致性以及適應性等特征。合適的設計方法有助于這些特征的實現,以達到軟件工程的目標。

提供高質量的工程支持

“工欲善其事,必先利其器”。

在軟件工程中,軟件工具與環境對軟件過程的支持頗為重要。軟件工程項目的質量與開銷直接取決于對軟件工程所提供的支撐質量和效用。

重視開發過程的管理

軟件工程的管理,直接影響可用資源的有效利用,生產滿足目標的軟件產品,提高軟件組織的生產能力等問題。因此,僅當軟件過程得以有效管理時,才能實現有效的軟件工程。

這一軟件工程框架告訴我們,軟件工程的目標是可用性、正確性和合算性;實施一個軟件工程要選取適宜的開發范型,要采用合適的設計方法,要提供高質量的工程支撐,要實行開發過程的有效管理;軟件工程活動主要包括需求、設計、實現、確認和支持等活動,每一活動可根據特定的軟件工程,采用合適的開發范型、設計方法、支持過程以及過程管理。根據軟件工程這一框架,軟件工程學科的研究內容主要包括:軟件開發范型、軟件開發方法、軟件過程、軟件工具、軟件開發環境、計算機輔助軟件工程(CASE) 及軟件經濟學等。#p#分頁標題#e#

方法

國外大的軟件公司和機構一直在研究軟件開發方法**概念性的東西,而且也提出了很多實際的開發方法,比如:生命周期法、原型化方法、面向對象方法等等。下面介紹幾種流行的開發方法:

結構化方法

結構化開發方法是由E.Yourdon 和 L.L.Constantine 提出的,即所謂的SASD 方 法, 也可稱為面向功能的軟件開發方法或面向數據流的軟件開發方法。

Yourdon方法是80年代 使用最廣泛的軟件開發方法。它首先用結構化分析(SA)對軟件進行需求分析,然后用結構化設計(SD)方法進行總體設計,最后是結構化編程(SP)。它給出了兩類典型的軟件結構(變換型和事務型)使軟件開發的成功率大大提高。

面向數據結構的軟件開發方法

Jackson方法是最典型的面向數據結構的軟件開發方法,Jackson方法把問題分解為可由三種基本結構形式表示的各部分的層次結構。三種基本的結構形式就是順序、選擇和重復。三種數據結構可以進行組合,形成復雜的結構體系。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統特別有效,如商業應用中的文件表格處理。該方法也可與其它方法結合,用于模塊的詳細設計。

面向問題的分析法

PAM(Problem Analysis Method)是80年代末由日立公司提出的一種軟件開發方法。 它的基本思想是考慮到輸入、輸出數據結構,指導系統的分解,在系統分析指導下逐步綜 合。這一方法的具體步驟是:從輸入、輸出數據結構導出基本處理框;分析這些處理框之間的先后關系;按先后關系逐步綜合處理框,直到畫出整個系統的PAD圖。這一方法本質上是綜合的自底向上的方法,但在逐步綜合之前已進行了有目的的分解,**目的就是充分考慮系統的輸入、輸出數據結構。PAM方法的另一個優點是使用PAD圖。這是一種二維樹形結構圖,是到目前為止最好的詳細設計表示方法之一。當然由于在輸入、輸出數據結構與整個系統之間同樣存在著鴻溝,這一方法仍只適用于中小型問題。

原型化方法

產生原型化方法的原因很多,主要隨著我們系統開發經驗的增多,我們也發

軟件工程需求分析

現并非所有的需求都能夠預先定義而且反復修改是不可避免的。當然能夠采用原型化方法是因為開發工具的快速發展,比如用VB,DELPHI等工具我們可以迅速的開發出一個可以讓用戶看的見、摸的著的系統框架,這樣,對于計算機不是很熟悉的用戶就可以根據**樣板提出自己的需求。

5研究領域

軟件工程與應用 Software Engineering and Applications 是一本**計算機領域最新進展的國際中文期刊,由漢斯出版社發行。本刊支持思想創新、學術創新,倡導科學,繁榮學術,集學術性、思想性為一體,旨在為了給世界范圍內的科學家、學者、科研人員提供一個傳播、分享和討論計算機領域內不同方向問題與發展的交流平臺。

研究領域:

軟件工程研究

軟件架構

軟件設計方法

軟件領域建模

軟件工程決策支持

軟件工程教育

軟件測試技術

自動化的軟件設計和合成

基于組件的軟件工程

計算機支持的協同工作

編程語言和軟件工程

計算機網絡

信息與通信安全

計算機圖形學與人機交互

多媒體技術應用#p#分頁標題#e#

人工智能與識別

嵌入式軟件與應用

自動控制

分布式計算與網格計算

云計算技術

存儲技術

數據庫技術研究

計算機輔助設計與應用技術

6體系結構

軟件體系結構表示了一個軟件系統的高層結構,主要特點有:1)軟件系統結構是一個高層次上的抽象,它并不涉及具體的系統結構(比如B/S還是C/S),也不關心具體的實現。2)軟件體系結構必須支持系統所要求的功能,在設計軟件體系結構的時候,必須考慮系統的動態行為。3)在設計軟件體系結構的時候,必須考慮有現有系統的兼容性、安全性和可靠性。同時還要考慮系統以后的擴展性和伸縮性。所以有時候必須在多個不同方向的目標中進行決策。

當前已經有一些關于規范化軟件體系結構,比如:ISO的開放系統互聯模型、X Window系統等等。軟件系統的結構通常被定義為兩個部分:一個是計算部件。另一個就是部件之間的交互。如果把軟件系統看成一幅圖的話,計算部件就是其中的節點,而部件之間的交互就是節點之間的弧線。部件之間的連接可以被認為是一種連接器,比如過程調用、事件廣播、數據庫查詢等等。正確的體系結構設計是軟件系統成功的關鍵。

7軟件需求

軟件需求包括 3 個不同的層次――業務需求、用戶需求和功能需求。

除此之外,每個系統還有各種非功能需求。

業務需求(Business requirement)表示組織或客戶高層次的目標。業務需求通常來自項目投資人、購買產品的客戶、實際用戶的管理者、市場營銷部門或產品策劃部門。業務需求描述了組織為什么要開發一個系統,即組織希望達到的目標。使用前景和范圍( vision and scope )文檔來記錄業務需求,這份文檔有時也被稱作項目輪廓圖或市場需求( project charter 或 market requirement )文檔。

用戶需求(user requirement)描述的是用戶的目標,或用戶要求系統必須能完成的任務。用例、場景描述和事件――響應表都是表達用戶需求的有效途徑。也就是說用戶需求描述了用戶能使用系統來做些什么。

功能需求(functional requirement)規定開發人員必須在產品中實現的軟件功能,用戶利用這些功能來完成任務,滿足業務需求。功能需求有時也被稱作行為需求( behavioral requirement ),因為習慣上總是用“應該”對其進行描述:“系統應該發送電子郵件來通知用戶已接受其預定”。功能需求描述是開發人員需要實現什么。

系統需求(system requirement)用于描述包含多個子系統的產品(即系統)的頂級需求。系統可以只包含軟件系統,也可以既包含軟件又包含硬件子系統。人也可以是系統的一部分,因此某些系統功能可能要由人來承擔。

業務規則包括企業方針、政府條例、工業標準、會計準則和計算方法等。業務規劃本身并非軟件需求,因為它們不屬于任何特定軟件系統的范圍。然而,業務規則常常會限制誰能夠執行某些特定用例,或者規定系統為符合相關規則必須實現某些特定功能。有時,功能中特定的質量屬性(通過功能實現)也源于業務規則。所以,對某些功能需求進行追溯時,會發現其來源正是一條特定的業務規則。

功能需求記錄在軟件需求規格說明( SRS )中。 SRS 完整地描述了軟件系統的預期特性。 SRS 我們一般把它當作文檔,其實, SRS 還可以是包含需求信息的數據庫或電子表格;或者是存儲在商業需求管理工具中的信息;而對于小型項目,甚至可能是一疊索引卡片。開發、測試、質量保證、項目管理和其他相關的項目功能都要用到 SRS 。#p#分頁標題#e#

除了功能需求外, SRS 中還包含非功能需求,包括性能指標和對質量屬性的描述。

質量屬性(quality attribute)對產品的功能描述作了補充,它從不同方面描述了產品的各種特性。這些特性包括可用性、可移植性、完整性、效率和健壯性,它們對用戶或開發人員都很重要。其他的非功能需求包括系統與外部世界的外部界面,以及對設計與實現的約束。

約束(constraint)限制了開發人員設計和構建系統時的選擇范圍。

8學習方法

軟體工程的方法有很多方面的意義。包括專案管理,分析,設計,程序的編寫,測試和質量控制。

軟體設計方法可以區別為重量級的方法和輕量級的方法。重量級的方法中產生大量的正式文檔。

著名的重量級開發方法包括ISO9000,CMM,和統一軟體開發過程(RUP)。

輕量級的開發過過程沒有對大量正式文檔的要求。著名的輕量級開發方法包括極限編程(XP)和敏捷流程(AgileProcesses)。

根據《新方法學》這篇文章的說法,重量級方法呈現的是一種防御型的姿態。在應用重量級方法的軟體組織中,由于軟體項目經理不參與或者很少參與程序設計,無法從細節上把握項目進度,因而會對項目產生恐懼感,不得不要求程式設計師不斷撰寫很多“軟體開發文檔”。而輕量級方法則呈現“進攻型”的姿態,這一點從XP方法特別強調的四個準則—“溝通、簡單、反饋和勇氣上有所體現。目前有一些人認為,重量級方法合于大型的軟體團隊(數十人以上)使用,而“輕量級方法”適合小型的軟體團隊(幾人、十幾人)使用。當然,關于重量級方法和輕量級方法的優劣存在很多爭論,而各種方法也在不斷進化中。

一些方法論者認為人們在開發中應當嚴格遵循并且實施這些方法。但是一些人并不具有實施這些方法的條件。實際上,采用何種方法開發軟體取決于很多因素,同時受到環境的制約

9專業設置

培養目標

軟件工程通過對計算機及軟件技術的理論、方法與技能的學習,適應軟件產業發展需要、具有扎實的專業理論基礎與較強的工程實踐能力、能夠從事計算機系統軟件與應用軟件的設計與開發以及能從事軟件工程管理相關工作的軟件人才。

培養要求

本專業是培養適應計算機應用學科的發展,特別是軟件產業的發展,具備計算機軟件的基礎理論、基本知識和基本技能,具有用軟件工程的思想、方法和技術來分析、設計和實現計算機軟件系統的能力,畢業后能在IT行業、科研機構、企事業中從事計算機應用軟件系統的開發和研制的高級軟件工程技術人才。

培養原則

軟件工程領域(管理信息化方向)工程碩士應掌握從事本工程領域堅實的基礎理論和寬廣的專業知識,了解當代信息管理技術發展前沿、應用前景和最新發展動態,能熟練地閱讀本領域的外文資料,掌握解決信息管理問題的先進技術方法和現代技術手段;具有創新意識和獨立承擔軟件工程技術管理或信息系統管理工作的能力。

主要課程

主干學科:**理論、大學外語、高等數學、大學物理、物理實驗、線性代數、概率論與數理統計、程序設計語言、數據結構、離散數學、操作系統、編譯技術、軟件工程概論、統一建模語言、軟件體系結構、軟件需求、軟件項目管理該專業除了學習公共基礎課外,還將系統學習離散數學、數據結構、算法分析、面向對象程序設計、現代操作系統、數據庫原理與實現技術、編譯原理、軟件工程、軟件項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。#p#分頁標題#e#

就業方向

本專業學生畢業后可以從事各級各類企事業單位的辦公自動化處理、計算機安裝與維護、網頁制作、計算機網絡和專業服務器的維護管理和開發工作、動態商務網站開發與管理、軟件測試與開發及計算機相關設備的商品貿易等方面的有關工作。

軟件工程與計算機科學

軟件的開發到底是一門科學還是一門工程,這是一個被爭論了很久的問題。實際上,軟件開發兼有兩者的特點。但是這并不意味著它們可以被互相混淆。很多人認為軟件工程基于計算機科學和信息科學就如傳統意義上的工程學之于物理和化學一樣。在美國,大約40%的軟件工程師具有計算機科學的學位。在世界其他地方,**比例也差不多。他們并不一定會每天使用計算機科學方面的知識,但是他們每天都會使用軟件工程方面的知識。

1
意向表
2
學習中心老師電話溝通
3
查看評估報告
1、年齡階段

2、當前學歷

3、提升學歷目標

4、意向學習方式

報考所在地
*
*
*
- 聲明 -

(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。

(二)本網站在文章內容出處標注為其他平臺的稿件均為轉載稿,轉載出于非商業性學習目的,歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,會及時進行處理解決。

首頁 考生自助服務系統
一二三四视频日本高清三