⑴ 軟體工程試題,誰知道答案
一, 單項選擇題(每題1分,共10分):
1. ( ) 計算機系統就是:
A) 主機,顯示器,硬碟,軟碟機,列印機等.
B) CPU,存儲器,控制器,I/O介面及設備.
C) 計算機硬體系統和軟體系統.
D) 計算機及其應用系統.
2.( )產生軟體危機的原因主要與兩個方面的問題有關:
A) 軟體在計算機中很難識別,存在磁碟中也看不到.
B) 軟體設計對人的智商要求很高,也要求很高的資金投入.
C) 軟體產品本身的特點與其它工業產品不一樣,而且在軟體的開發和維護過程中用
的方法不正確.
D) 軟體很難理解,硬體也很復雜.
3.( )軟體開發瀑布模型中的軟體定義時期各個階段依次是:
A) 可行性研究,問題定義,需求分析.
B) 問題定義,可行性研究,需求分析.
C) 可行性研究,需求分析,問題定義.
D) 以上順序都不對.
4.( )軟體維護的四類維護活動是:
A) 改正性維護,適應性維護,完善性維護和預防性維護.
B) 適應性維護,完善性維護,搶救性維護和輔助性維護.
C) 改正性維護,適應性維護,完善性維護和輔助性維護.
D) 適應性維護,完善性維護,搶救性維護和預防性維護.
5.( ) 可行性研究主要從以下幾個方面進行研究:
A) 技術可行性,經濟可行性,操作可行性.
B) 技術可行性,經濟可行性,系統可行性.
C) 經濟可行性,系統可行性,操作可行性.
D) 經濟可行性,系統可行性,時間可行性.
6.( ) 系統邏輯模型主要由以下內容:
A) 數據流程圖,數據字典,簡要的演算法描述.
B) 程序流程圖,Jackson圖,IPO圖.
C) 數據流程圖,數據字典,ER圖.
D) Jackson圖,ER圖,IPO圖.
7. ( ) 耦合是對軟體不同模塊之間互連程度的度量.各種耦合按從強到弱排列如下:
A) 內容耦合,控制耦合,數據耦合,公共環境耦合.
B) 內容耦合,控制耦合,公共環境耦合,數據耦合.
C) 內容耦合,公共環境耦合,控制耦合,數據耦合.
D) 控制耦合,內容耦合,數據耦合,公共環境耦合.
8. ( ) 在詳細設計階段所使用到的設計工具是:
A) 程序流程圖,PAD圖,N-S圖,HIPO圖,判定表,判定樹.
B) 數據流程圖,Yourdon 圖,程序流程圖,PAD圖,N-S圖,HIPO圖.
C) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,PAD圖,N-S圖.
D) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,層次圖.
9. ( ) 按照軟體工程的原則,模塊的作用域和模塊的控制域之間的關系是:
A) 模塊的作用域應在模塊的控制域之內.
B) 模塊的控制域應在模塊的作用域之內.
C) 模塊的控制域與模塊的作用域互相獨立.
D) 以上說法都不對.
10. ( ) 包含所有可能情況的測試稱為窮盡測試.下面結論成立的是:
A) 只要對每種可能的情況都進行測試,就可以得出程序是否符合要求的結論.
B) 一般來說對於黑盒測試,窮盡測試是不可能作到的.
C) 一般來說對於白盒測試,窮盡測試是不可能作到的.
D) 在白盒測試和黑盒測試這兩個方法中,存在某一個是可以進行窮盡測試的.
二, 填空題(每題1分,共10分)
1.軟體危機是指在( )所遇到的一系列嚴重問題.
2.在軟體開發的各個階段經過階段評審後的文檔和程序代碼成為( ).
3.結構程序設計的基本思想是( ).
4.總體設計的第二項任務是設計軟體的結構,即確定( ).
5.描繪物理系統的傳統工具是( ).
6.如果模塊內所有元素都使用同一個輸入數據和產生同一個輸出,稱為( )內聚.
7.數據流程圖按照信息流的類型主要分為( )兩種.
8.( )年,( )和( )證明了SISO程序只需要三種基本控制結構.
9. 從應用特點分類,高級語言主要分為( ),( )和( )三類.
10. 黑盒測試又稱為( ),白盒測試也稱為( ).
三, 多項選擇題(以下各題均有兩個以上的正確答案.將正確答案的標號填入各題前面括弧
內,注意多選或少選該題均不得分,每題2分,共20分):
1.( )軟體開發各個階段所耗費的時間或工作量是:
A) 可行性研究佔5%;
B) 綜合測試佔40%;
C) 設計階段在所有開發階段所佔的比例最大.
D) 編碼和單元測試佔20%.
E) 以上說法都不對.
2.( )對軟體開發與維護,以下觀點是正確的:
A) 為了加快開發速度,可以一邊寫程序,一邊設計文檔.
B) 對於軟體而言,程序和軟體配置成分是同等重要的,不能重此偏0.
C) 把軟體漫長的生命周期劃分為若干個階段的出發點是降低開發的困難程度和
簡化復雜性.
D) 可行性研究的主要任務就是確定軟體項目的工程規模和目標.
E) 面向對象的方法學比傳統的軟體開發方法開發軟體容易,開發效率提高.
3.( ) 對於以下圖形工具的作用,
A) 數據流程圖和數據字典共同構成軟體的高層數據模型.
B) 層次圖是用來描述軟體結構的,不能用於描述數據結構.
C) IPO圖能方便地描繪輸入數據,對數據的處理和輸出數據的關系,它是美國微
軟公司發明並逐漸發展完善起來的.
D) ER圖描述現實世界中的實體,不涉及這些實體在系統中的實現方法.
E) Yourdon圖實際上也是結構圖,所以它與層次方框圖是等價的.
4.( ) 面向數據結構的設計方法有:
A) Jackson方法.
B) Warnier方法.
C) Halstead方法.
D) PAD方法.
E) G. M y e r s方法.
5.( )以下測試方法是白盒測試方法的是:
A) 判定覆蓋和邊界值分析法.
B) 等價劃分和錯誤推測法.
C) 路徑覆蓋和判定/條件覆蓋法.
D) 條件組合覆蓋和語句覆蓋法.
E) 條件覆蓋和錯誤推測法.
6.( )以下關於集成測試的論述,正確的是:
A) 先對每個模塊分別測試,然後統一組裝成軟體系統的方法稱為非漸增式測試.
B) 自頂向下的集成測試本質上是漸增式測試方法.
C) 存根模塊是漸增式測試方法中使用的,在非漸增式測試中也用不到樁模塊.
D) 一般來說,存根模塊和樁模塊在用過以後,不會作為軟體的正式模塊而存在.
E) 由於是對程序進行測試,測試方案的設計一般在詳細設計階段完成以後才進行.
7. ( ) 對於程序設計,正確的陳述是:
A) 為了減少程序的長度,最好不要在程序中增加註釋.
B) 變數名以簡潔為好,名字太長了難以理解,增加了程序的復雜性.
C) 程序語句要求體現層次性,以使結構清晰明顯.
D) 數據結構的組織和復雜程度在設計期間確定,但數據說明的風格是在寫程序時確
定的.
E) 對所有的輸入數據都要進行檢驗,以便確定其合法性.
8. ( ) 內聚標志一個模塊內各個元素彼此結合的緊密程度.
A) 內聚是信息隱蔽和局部化概念的自然擴展.理想內聚的模塊只做臆見事情.
B) 一個模塊所包含的任務必須在同一段時間內執行,該模塊的內聚為時間內聚.
C) 一個模塊內的處理元素是相關的,必須以特定次序執行,稱為過程內聚.
D) 順序內聚和功能內聚是高內聚,而偶然內聚和邏輯內聚是低內聚.
E) 時間內聚,通信內聚,過程內聚是中等程度的內聚.
9. ( )McCabe方法對程序復雜程度的定量度量的結果稱為程序的環行復雜度,
其計算公式是:V(G)=m-n+p.
A) 應用McCabe方法的前提是對應的程序圖變換成強連通圖.
B) V(G)代表程序圖G的線性無關環的個數.
C) 一般對於結構化程序,p恆等於1.
D) m是有向圖G中的弧數.
E) n是有向圖G中的節點數.
10.( )詳細設計階段的根本目標是確定應該怎樣具體的實現所要求的系統.
A) 詳細設計階段不具體的編寫程序.
B) 詳細設計階段的設計結果基本決定了最終的程序代碼質量.
C) 詳細設計的目標不僅要邏輯上正確的實現每個模塊的功能,而且對每個模塊的處
理過程也應確保簡明易懂,清晰具體.
D) 詳細設計的關鍵技術是結構程序設計技術.
四, 基本概念題(每題2分,共10分)
1. 軟體工程.
2. 軟體測試.
3. 數據流圖及其組成和作用.
4. 結構化分析方法.
5. 信息隱蔽原理.
五, 敘述分析題:(每題5分,共20分)
1. 試述對用戶要求沒有完整的認識就匆忙著手編寫程序是許多軟體開發工程失敗的主要
原因.
2. 簡述軟體可靠性和可用性的定義,平均無故障時間的計算公式及應用.
3. 簡述軟體重用的定義,范圍和主要技術.
4. 說明軟體測試在軟體開發階段的地位和作用.比較測試和調試的異同點.
六, 設計,作圖,計算題(每題5分,共30分)
1.以下是某系統的數據流程圖,請將其轉換成相應的SC圖.
2. 研究下面的偽碼程序,完成以下問題:
START
INPUT X,N
DIMENSION A(N),F(N)
DO I=1 TO N
INPUT F(I)
END DO
K=0
DO WHILE (KA(K)=0
DO J=1 TO N-K
A(K)=A(K)+F(J)*F(J+K)/(N-K+1)
END DO
PRINT K*X,A(K)
K=K+1
END DO
STOP
A) 畫出等價的控制流程圖,.
B) 判斷是否結構化的,說明理由.
C) 寫出對應的PAD圖.
D) 用McCabe方法計算環行復雜度.
3. 為方便儲戶,某銀行擬開發計算機儲蓄系統.儲戶填寫的存款單或取款單由業務員鍵
入系統.如果是存款,系統記錄存款人姓名,住址,存款類型,存款日期,利率等信
息,並印出存款單給儲戶;如果是取款,系統計算利息並印出利息清單給儲戶.
1)畫出該系統的高層數據流程圖和第二層細化流程圖.
2)對數據流定義數據字典.
4. 某航空公司規定,乘客可以免費托運不超過20公斤的行李.當行李重量超過20公斤
時,對頭等艙的乘客超重部分每公斤收費4元,其它艙的乘客收費6元.對殘疾乘客超重部分
在艙位等次相同的情況下收費減半.用判定表描述行李托運費的處理過程.
5.設計程序,先讀入三個整數值代表一個三角形的三條邊,然後根據這三個值判斷該三
角形屬於不等邊,等腰或等邊三角形中的哪一種.請設計滿足判定/條件覆蓋標準的測試
方案.
6.設模塊RootForSquare(int a,int b,int c,int *x,int *y) 的功能是一元二次方程求根.請使用
等價劃分法來設計測試方案.
⑵ 軟體工程師筆試題集
用友筆試題目NET面試題專欄 (部分)
用友, 筆試, NET, 專欄, 題目
1、 面向對象的語言具有___封裝__性、___繼承__性、___多態_性。
2、 能用foreach遍歷訪問的對象需要實現 __ IEnumerable __介面或聲明__GetEnumerator __方法的類型。
3、 以下敘述正確的是:
A. 介面中可以有虛方法。 B. 一個類可以實現多個介面。
C. 介面不能被實例化。 D. 介面中可以包含已實現的方法。
4、 簡述 private、 protected、 public、 internal 修飾符的訪問許可權。
Private 私有成員:只有本類內部可以訪問
Protected 受保護成員:只有本類和本類的子類可以訪問
Public 公有成員:完全公開,沒有訪問限制
Internal :在同一命名空間下可以訪問
5、寫出一條Sql語句: 取出表A中第31到第40記錄(SQLServer, 以自動增長的ID作為主鍵, 注意:ID可能不是連續的。)
select top 10 * from A where id not in (select top 30 id from A)
5、 DataReader與DataSet有什麼區別?
(1)、dataset表示一個數據集,是數據在內存中的緩存。 可以包括多個表;
(2)、dataset連接資料庫時是非面向連接的。把表全部讀到Sql中的緩沖池,並斷開於資料庫的連接
(3)、datareader 連接資料庫時是面向連接的。讀表時,只能向前讀取,讀完數據後有用戶決定是否斷開連接。
6、 簡述什麼是裝箱?
把一個值類型的數據轉換為引用類型的數據的過程叫裝箱。
7、 下列選項中,(c)是引用類型。
a) enum類型 b) struct類型
c) string類型 d) int類型
8、 一個資料庫中的一個表中有 year 、salary這兩個欄位,原表中數據如原表,請用SQL查詢出結果顯示的數據:
原表中數據:
year salary
—————————————–
2000 1000
2001 2000
2002 3000
2003 4000
結果表中數據:
year salary
——————————————
2000 1000
2001 3000
2002 6000
2003 10000
寫出SQL語句如下:
create table test([year] int ,salary int)
insert test(year,salary) values(2000,1000)
insert test(year,salary) values(2001,2000)
insert test(year,salary) values(2002,3000)
insert test(year,salary) values(2003,4000)
select t1.year, (select sum(salary) from test as t2 where t2.year
⑶ 有誰有.net軟體工程師筆試題目,給我一份啊,非常感謝
.net軟體工程師筆試題目
1. 請為ASP.Net下一個定義。
2. 請解釋B/S,並比較C/S,給出B/S的優點。
3. 請說明人們提出「面向對象編程」概念的用意是什麼?
4. 閱讀以下C++代碼,並回答問題。
CPerson *aPerson = new CChinese();
aPerson->Say();
aPerson = new CAmerican();
aPerson->Say();
return 0;
(1) 上述代碼的范型是「結構化編程」、「面向對象編程」、「泛型編程」中的哪一種,為什麼?
(2) 為上述代碼構造一個函數簽名。
(3) 說出上述代碼存在的問題。
(4) 請說出「CPerson」、「CChinese」、「CAmerican」三者之間的關系。
(5) 請說明第二個「aPerson->Say( )」代碼調用的是「CChinese」還是「CAmerican」的「Say」函數?這體現了什麼特徵?
5. 請說出三種程序的基本結構。
6. 請說明什麼是「客戶程序」。
7. 請指出以下哪幾個變數名取得比較好?
(1)abc (2)m_Name (3)aCat (4)curTime (5)currentTime
(6)seekCount4Person (7)sc_Person (8)found (9)fnd
(10)iCount (11)count
8. 請說明「關系表達式和邏輯表達式」與「命題邏輯和謂詞邏輯」之間的關系。
9. 請說出C++中獨立函數的構成元素。
10. 請解釋「介面」的概念。
11. 閱讀以下C++代碼,並回答問題。
int add( int x = 0, int y = 0 )
{ return x + y;}
float add( float x = .0f, float y = .0f )
{ return x + y;}
double add( double x, double y )
{ return x + y;}
void main(void){
cout << add( 1, 2 ) << endl;
cout << add( 3.5, 4.7 ) << endl;
cout << add( ) << endl; }
(1) 上述代碼使用到的是「Overload」技術還是「Override」技術?
(2) 在C++中可以採用什麼技術簡化上述代碼,請實現之。
(3) 說出上述代碼存在的問題。
12. 請說出C++中「成員變數的私有」、「定義類的成員」、「某個類是另外一個類的子類」、「Override和virtual成員函數」四種代碼表現分別體現了面向對象的四大基本特徵的哪一個?
13. 請說出C++中「類的組合」、「成員函數的參數為某個類的對象」、「某個類是另外一個類的子類」、「純虛成員函數」四種代碼表現分別體現了面向對象的四種基本關系的哪一種?
14. 請說出為什麼在C++中析構函數最好定義為虛函數?
15. 請說明C++中,怎樣讓一個客戶程序無法實例化某個類的對象。
16. 請說明C++中,怎樣讓整個程序只能實例化一次某個類的對象。
17. 請看以下的UML圖,編寫「CAnimal」、「CDog」、「CEye」三個類的C++聲明代碼。
18. 閱讀以下C++代碼,並回答問題。
class CString {
public:
int Compare(const char* s);
CString(CString& s);
int Compare(CString& s);
CString& Add(CString& s);
int GetLength();
const char* C_Str();
CString(char c, unsigned int n = 1);
CString(const char* s);
CString();
virtual ~CString();
protected:
int CalLength(const char* s);
void Clear();
void Init();
private:
unsigned int m_length;
char* m_str;
};
(1) 請說明該類有幾個構造函數?
(2) 「const char* C_Str()」為什麼要加上const關鍵字?
(3) 如果「CString s = otherString;」會不會調用構造函數,如果調用將會調用哪個構造函數?
(4) 請實現「GetLength」成員函數。
(5) 請實現「CString(char c, unsigned int n = 1);」構造函數。
(6) 請實現「Compare(const char*s);」成員函數。
(7) 請實現「Clear();」成員函數。
(8) 如果增加「InputString」成員函數用於從鍵盤輸入字元串,請問是否合適,為什麼?
(9) 請問代碼「Compare(CString& s){ return Compare(s.C_Str());}」是否可行,如果可行,有什麼好處?
19. 請說明資料庫中View是「外模式」、「模式」還是「內模式」?
20. 請看下屬公式說明的是什麼連接運算?
21. 閱讀以下資料庫模式,並回答問題。
Course( CourseID#, Name, CheckType, Property )
Student( StudentID#, Name, ClassID )
Class( ClassID#, Name, SpecialityID, DepartmentName )
Speciality(SpecialityID#, Name, DepartmentID )
Department(DepartmentID#, Name, Address )
ChooseCourse(StudentID#, ClassID#, CourseID#, Term#, Score1, Score2)
注意:上述「#」表示主碼。
(1) 寫SQL,求每門課程的修讀人數(結果中包含課程名稱)。
(2) 寫SQL,求修讀人數大於30人的課程(結果中包含課程名稱)。
(3) 寫SQL,求修讀課程數多於1門的學生(結果中包含學生姓名)。
(4) 寫SQL,求「信管04-1班」每位同學選修的學分總數(結果中包含學生姓名)。
(5) 寫SQL,求每個學院(部門)的學生人數 。
(6) 請說出上述資料庫模式是否符合第四範式?如果不符合,請將其進行規范化處理。
(7) 請說出為什麼需要規范化處理?
(8) 請為上述規范化到第四範式的資料庫繪制出概念模型(ER圖)。
22. 請完成下表的填寫。
隔離級別
臟讀
不可重復讀取
幻像
READ UNCOMMITTED
READ COMMITTED(默認)
否
REPEATABLE READ
是
SERIALIZABLE
否
注意:「是」表示某隔離級別會出現某種錯誤的情況,「否」則反之。
23. 請按照下圖解釋「三層系統架構」。
Presentation
Business
Data
DB
網頁
24. 請完成以下翻譯(可以精簡成內容提要)。
Passage One:
The .NET Framework provides a first-class foundation for building and consuming Web services based off of the fundamental protocols of XML, SOAP, and WSDL. But despite the interoperable and loosely coupled beauty of these traditional Web services, before long one finds one's self wanting for more. For instance, in the area of security, it seems contradictory to depend on HTTP security mechanisms when SOAP messages were designed to hold metadata-like security information. Similarly, the request/response nature of HTTP, which fits perfectly for many message exchange patterns, seems like an overly restrictive one-size-fits-all solution when other message exchange patterns would fit your business needs better. This is a particularly frustrating restriction because the SOAP specification goes out of its way to avoid such limitations in Web service message exchange.
Web Services Enhancements (WSE) is the Microsoft extension to the Web service support in the .NET Framework that builds on the foundation of XML, SOAP, and WSDL with higher-level protocols that support such things as message-based security, policy-based administration, and the flexibility to move message-exchange out of the HTTP-only world. The result is a Web service platform that can save developers from the tedious, time-consuming, and fragile world of developing higher-level requirements themselves. Instead they can rely on the supported and interoperable solution that is provided by WSE.
Passage Two:
The BaseDataBoundControl is the root of all data-bound control classes. It defines the DataSource and DataSourceID properties and validates their assigned content. DataSource accepts enumerable objects obtained and assigned the ASP.NET 1.x way.
Mycontrol1.DataSource = dataSet;
Mycontrol1.DataBind();
DataSourceID is a string and refers to the ID of a bound data source component. Once a control is bound to a data source, any further interaction between the two (in both reading and writing) is handled out of your control and hidden from view. This is both good and bad news at the same time. It is good (rather, great) news because you can eliminate a large quantity of code. The ASP.NET framework guarantees that correct code executes and is written according to recognized best practices. You're more proctive because you author pages faster with the inherent certainty of having no subtle bugs in the middle. If you don't like this situation—look, the same situation that many ASP.NET 1.x developers complained about—you can stick to the old-style programming that passes through the DataSource property and DataBind method. Also in this case, the base class saves you from common practices even though the saving on the code is less remarkable.
⑷ 求解軟體工程測試題
把流程圖給他畫出來,立馬顯而易見
⑸ 軟體工程考試題
問題識別 就是從系統角度來理解軟體,確定對所開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標准.這些需求包括:功能需求(做什麼),性能需求(要達到什麼指標),環境需求(如機型,操作系統等),可靠性需求(不發生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟體運行是所需的內存,CPU等),軟體成本消耗與開發進度需求,預先估計以後系統可能達到的目標.
分析與綜合 逐步細化所有的軟體功能,找出系統各元素間的聯系,介面特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分.最後,綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什麼的模型).
制訂規格說明書 即編制文檔,描述需求的文檔稱為軟體需求規格說明書.請注意,需求分析階段的成果是需求規格說明書(好象軟考曾經考過這個問題),向下一階段提交.
評審 對功能的正確性,完整性和清晰性,以及其它需求給予評價.評審通過才可進行下一階段的工作,否則重新進行需求分析。