tft每日頭條

 > 科技

 > 軟考程序員相關試題

軟考程序員相關試題

科技 更新时间:2025-04-04 06:25:35

軟考程序員相關試題(軟考重點7軟件工程)1

一、軟件工程概述1. 軟件生存周期
  • 軟件:包含程序、數據及相關文檔
  • 軟件工程:涉及到軟件開發、維護、管理等多方面的原理、工具與環境 。最終的目的是開發高質量的軟件。
  • 目的:提高軟件生産率、提高軟件質量、降低軟件成本。

文檔作用:

  • 提高軟件開發過程的能見度
  • 提高開發效率,便于發現錯誤和不一緻性;
  • 作為開發人員在一定階段的工作成果和結束标志;
  • 記錄開發過程中的有關信息,便于協調以後的軟件、開發、使用和維護;
  • 提供對軟件的運行、維護和培訓的有關信息,便于相關人員和用戶之間的協作、交流和了解;
  • 便于潛在用戶了解軟件的功能、性能,為選購提供選擇依據。
2. 軟件生成周期模型(1)瀑布模型(Waterfall Model)

按軟件生成周期為序來制定的開發模型,适合需求明确的模型,但缺乏靈活性。

軟考程序員相關試題(軟考重點7軟件工程)2

原型模型的概念

在短時間先開發一個很簡易的原型版本。

(2)演化模型(Evolutionary Model)

基于原型模型,對需求缺乏準确認識的情況下,根據用戶使用過程中提出的意見和建議對原型不斷重複改進,缺點是要對用戶要求加以控制。

(3)增量模型(Incremental Model)

基于原型模型,把需求先劃分多個模塊,每個模塊可進行增量開發。

(4)螺旋模型(Spiral Model)

适合風險比較大的項目,加入了風險分析。

軟考程序員相關試題(軟考重點7軟件工程)3

(5)噴泉模型(Fountain Model)

以用戶需求為基礎,适用于面向對象開發。開發要重複多次。

(6)統一過程(Unified Process)

用例和風險驅動,以架構為中心。

(7)敏捷方法(Agile Development)

盡可能早地、持續地對有價值的軟件的交付,強調是快速、時效性高,不強調文檔。

3. 軟件開發方法(1)結構化方法

自上向下逐層分解。

(2)面向對象開發方法

面向對象分析、設計與實現,适合比較複雜的項目模型。

(3)Jackson方法

面向結構的開發方法。

(4)原型化方法

需求不清晰、業務不确定的情況。

二、軟件需求分析(1)可行性分析
  • 技術可行性
  • 經濟可行性
  • 操作可行性
(2)需求分析
  • 功能需求
  • 非功能需求
  • 設計約束
三、軟件設計(1)軟件設計的原則
  • 抽象:内聚(模塊内的交互程度)、耦合(模塊間的交互程度),希望高内聚、低耦合;
  • 模塊化
  • 信息隐蔽
  • 模塊獨立
(2)内聚和耦合内聚類型:
  • 功能内聚:最強的内聚,完成一個單一功能;
  • 順序内聚:前一個功能的輸出是後一個功能的輸入;
  • 通信内聚:所有處理元素集中在一個數據結構的區域上;
  • 過程内聚
  • 暧時内聚(時間内聚):同時執行的動作組合在一起
  • 邏輯内聚
  • 偶然内聚:功能間沒有任何聯系
耦合

非直接耦合:模塊間沒有直接關系,模塊間不傳遞任何信息。

四、軟件測試1. V模型

軟考程序員相關試題(軟考重點7軟件工程)4

2. 軟件測試的過程(1)單元測試、模塊測試

一般使用白盒測試(知道内部結構和程序流等)

(2)集成測試

黑盒測試,按系統設計說明書進行測試。

(3)确認測試

黑盒測試,檢查軟件的功能、性能和其他特征是否與用戶的需求一緻。

(4)系統測試

墨盒測試,把軟件放在實際的硬件和網絡環境中進行測試,主要測試軟件的非功能需求和質量屬性是否得到滿足。

3. 黑盒測試與白盒測試

軟考程序員相關試題(軟考重點7軟件工程)5

  • 語句覆蓋:被測程序的每個語句至少執行一次(最弱的覆蓋标準)。
  • 判定覆蓋:判定條件(if)至少獲得一次真、假值。
  • 條件覆蓋:每個判定語句中的每個邏輯條件的各種可能值至少滿足一次。
  • 路徑覆蓋:覆蓋所有可能的程序運行路徑。
  • 判定/條件覆蓋:同時滿足判定和條件覆蓋。
  • 條件組合覆蓋:……
4. 測試原則與注意事項(1)測試原則
  • 盡早測試、測試應貫穿在開發的各個階段;
  • 測試工作應避免由開發者承擔;
  • 設計測試方案的時候,不僅要确定輸入數據,還要根據系統功能确定預期的輸出結果;
  • 設計測試用例時,要輸入不合理的數據或條件;
  • 測試程序中要檢驗程序是否做了該做的事、還要确認不要多做了事情;
  • 測試要有計劃,測試計劃、測試用例作為文檔的一部分保存;
  • 測試用例精心設計 ,便于重複使用。
(2)測試注意事項
  • 發現錯誤較多的模塊,在糾正錯誤後,遺留的錯誤也比較多;
  • 測試的目的是為了發現錯誤,而不是驗證程序沒有錯誤;
  • 通過軟件測試不可能完全發現錯誤;
  • 不可能保證程序100%沒問題;
  • 測試工作由開發方負責,從需求階段提出;
  • 開發時将質量也構建進産品;
  • 測試人員與開發人員要密切合作;
  • 軟件測試的目的不僅要找出缺陷,還要随時提供質量相關信息。
五、軟件運行與維護
  • 可理解性
  • 可測試性
  • 可修改性

軟件維護類型:

  • 正确性維護:更正程序錯誤。
  • 适應性維護:使用軟件适應新技術變化或管理需求變化。
  • 預防性維護:為了改進應用軟件的可靠性和可維護性,為了适應未來的軟硬件的變化,主動增加預防性的功能。
  • 完善性維護:擴充功能和改善性能。
六、程序員職業素養1. 軟件工程基本原理
  • 用分階段的生命周期計劃嚴格管理,将複雜問題簡化處理;
  • 堅持進行階段評審;
  • 嚴格的版本管理;
  • 采用現代程序設計技術,但不追求最新技術;
  • 審查記錄;
  • 開發小組人員少而精;
  • 知識管理。
2. 軟件工程的最終目标
  • 正确性
  • 可用性
  • 可靠性
  • 友好性
  • 可讀性
  • 健壯性:不合理的數據操作可以檢查、糾正、提示;
  • 效率
  • 可移值性
3. 程序員的職業素養
  • 有團隊精神和較強的溝通能力
  • 文檔與知識管理
  • 版本管理
  • 編碼規範
  • 測試體系
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved