如何评测软件工程知识技能水平?

软件工程师是IT领域的重要岗位之一,随着IT行业多年的发展,软件工程师也有很多细分的方向,比如Web方向、大数据方向、物联网方向、云计算方向、人工智能方向、区块链方向等等,不同方向的软件工程师需要具备的知识结构也会有所区别。另外,不同行业(金融、教育、通信、医疗)的软件工程师往往在知识结构上也有所区别。

通常情况下,软件工程师需要具备以下几个方面的知识结构:

第一:操作系统知识。操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。

第二:编程语言和算法。编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发可能会使用PHP、Python、Java等语言,而大数据可能会使用Java、R、Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言,以应对不同的开发环境。算法是软件工程师的重点知识结构,因为软件研发说到底就是个数学问题,所以算法的掌握情况往往能够决定软件工程师的成长高度。当然,对于应用级软件工程师来说,也有可能不会接触到更多的算法。

第三:领域知识。不同开发领域需要掌握不同的知识结构,比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。

软件工程试卷:

来自浙江大学 2007–2008 学年春季学期《软件工程》课程期末考试试卷

https://github.com/QSCTech/zju-icicles/blob/master/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/%E8%AF%95%E5%8D%B7/2007-2008.pdf

 

I. Please select the correct answers and fill in the answer sheet: (20 pts.)

Note:

Zero point

for a blank selection since there is at least one answer for each problem.

1. Which question no longer concerns the modern software engineer?

A) Why does computer hardware cost so much?

B) Why does software take a long time to finish?

C) Why does it cost so much to develop a piece of software?

D) Why can't software errors be removed from products prior to delivery?

2. How does a software project manager need to act to minimize the risk of software failure?

A) double the project team size

B) request a large budget

C) start on the right foot

D) track progress

3. What does the system specification describe?

A) functions of a computer-based system

B) implementation of each allocated system

C) performance and constraints of the system

D) time required for system simulation

4. Which of these are goals for WebE requirements gathering?

A) Define user interaction scenarios

B) Identify WebApp development tools

C) Determine performance constraints

D) Identify content requirements

5. The criteria used to assess the quality of an architectural design should be based on system

A) accessibility

B) control

C) data

D) implementation

. 6. The OO testing integration strategy involves testing

A) groups of classes that collaborate or communicate in some way

B) single operations as they are added to the evolving class implementation

C) operator programs derived from use-case scenarios

D) none of the above

7. Which of these activities is not one of the activities recommended to be performed by an independent SQA group?

A) prepare SQA plan for the project

B) review software engineering activities to verify process compliance

C) report any evidence of noncompliance to senior management

D) serve as the sole test team for any software produced

8. As the WebApp architecture is constructed which types of testing are used as integration tests?

A) Component testing

B) Content testing

C) Navigation testing

D) Usability testing 9 Which of the following tasks are part of software configuration management?

A) change control

B) statistical quality control

C) reporting

D) version control

10. Software risk always involves two characteristics

A) fire fighting

B) loss

C) uncertainty

D) crisis management

II. Please specify “T” (true) or “F” (false) for the following statements and fill in the answer sheet. (10 pts.)

1. It is generally accepted that one cannot have weak software processes and create high quality end products.

2. Because there are many factors to consider in any design effort, all design should be as complex as possible.

3. Components should be loosely coupled to one another and to the external environment.

4. The computer's display capabilities are the primary determinant of the order in which user interface design activities are completed.

5. Object-oriented domain analysis is concerned with the identification and specification of reusable classes within an application domain.

6. Test planning can begin as soon as the analysis model is complete.

7. The purpose of software reviews is to uncover errors in work products so they can be removed before moving on to the next phase of development.

2 8. Once a software engineering work product becomes a baseline it cannot be changed again.

9. Tasks that lie on the critical path in a task network may be completed in any order as long as the project is on schedule.

10. The generic process framework — communication, planning, modeling, construction and deployment — is not applicable to WebE.

III. Please give brief answers to the following questions: (20 pts.)

1. Please list three characteristics that can serve as a guide to evaluate design quality. (6 pts)

2. For the statement if ((A>B)||(C==D)), what is the minimum number of test cases required to test every condition at least once? Please briefly verify your answer. (6 pts)

3. Please describe the three partitioning strategies that can be used when performing class-level testing for object-oriented systems. (6 pts.)

4. Please describe the contents of the WebApp functional, and interaction models. (2 pts.)

IV. Order-Processing System (50 pts.)

Software scope: A company is establishing a new catalog sales division (分类推销部) to sell casual apparel (便装) and outdoor merchandise (户外活动商品). The casual apparel catalog includes shirts (bowling shirts, golf shirts, racing shirts, college shirts, etc.), wears (ladies wear, active wear, outer wear, etc.), jackets (leather jackets, rain jackets, casual jackets, etc.), and others such as sunglasses, hats, pants, and more. The outdoor merchandise catalog includes goods for hunting, fishing, camping, and more. The catalog will be published on the World Wide Web, and orders can be placed by e-mail, via the web site, or via telephone, or fax. A client/server system will be built to support order processing at the company site. The orders are to be collected daily from all places, and be stored in a database. Everyday at 6:00pm, the orders are classified and sent to the corresponding shipment departments. Shipment can be made if payment is by credit card, and must wait until the check is cashed if payment is by check. If the odered item is out of storage, a notification will be sent to the customer, and the order will be delayed or canceled, depending on the customer’s decision.

1. Please draw the data flow diagram for processing an order. (12 pts.)

2. Please give the two CRC cards for classes “catalog” and “order”. (8 pts.)

3. Please give the use-case for browsing the web-site and place an order with credit card payment. (10 pts.)

4. Please draw the corresponding NSU for the use-case described in step 3. (10 pts.)

5. Please draw the overall hierarchical call-and-returen architecture of the system. (10 pts.)

答案:

 https://github.com/QSCTech/zju-icicles/blob/master/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/%E8%AF%95%E5%8D%B7/2007-2008%20%E7%AD%94%E6%A1%88.pdf

你可能感兴趣的:(如何评测软件工程知识技能水平?)