• 沒有找到結果。

Software Engineering Final Exam

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering Final Exam"

Copied!
2
0
0

加載中.... (立即查看全文)

全文

(1)

Software Engineering

Final Exam

January 17, 2003

1. Please specify “T” (true) or “F” (false) for the following statements: (30 pts.) (1) Adding more people to a project that is already behind schedule is a good way to

catch up. ( F )

(2) The three generic phases of software engineering are definition, development, and support. ( T )

(3) Sales people is a key player in the software process. ( F )

(4) Software feasibility is mainly based on business and marketing concerns. ( F ) (5) Timeline charts assist project managers in determining what tasks will be

conducted at a given point in time. ( T )

(6) People who perform software quality assurance must look at the software from the customer's perspective. ( T )

(7) Configuration audits are needed even if you make use of formal technical reviews as part of your software engineering process. ( T )

(8) System models are built to allow the system engineer to evaluate the system components in relationship to one another. ( T )

(9) Implementation view should be considered first during software requirements analysis. ( F )

(10) The state transition diagram depicts functions that transform the data flow. ( F ) (11) Information hiding makes program maintenance easier by hiding data and

procedure from unaffected parts of the program. ( T )

(12) With thorough testing it is possible to remove all defects from a program prior to delivery to the customer. ( F )

(13) Improved execution performance is one of the primary benefits of object-oriented architectures. ( F )

(14) Unlike structured analysis, top-down decomposition and consideration of end-to-end processing sequences are not present when OOA is used. ( T )

(15) Object-oriented designs do not need to be implemented using object-oriented programming techniques. ( T )

2. Please answer the following questions: (30 pts.)

(1) Explain what is wrong with the notion that software engineering is too time consuming and interferes with a programmer's productivity. (6 pts.)

Answer: Producing a lot of code quickly is not the object of software development. The software needs to meet the needs of the customer and perform correctly or it will need to be reworked.

Rework is expensive, time consuming and inefficient. Most software products must be maintained for many years after they are developed, the time spent documenting a program and planning for changes is easily justified over the product's lifetime. Studies have shown the later a change is introduced in the development process, the more costly it is to implement.

1

(2)

(2)

How does perfective maintenance differ from adaptive maintenance? (6 points.)

Answer: In perfective maintenance the software is enhanced or extended beyond its original functional requirements, under adaptive maintenance software is modified to accommodate changes to its external environment.

(3)

Explain why encapsulation, inheritance, and polymorphism are three important characteristics of object-oriented systems. (9 pts.)

Answer: Classes provide an encapsulation (information hiding) mechanism by which data (attributes)have their access controlled by a set of operations. When properly implemented this yields systems with low coupling and high modularity. Inheritance provides a mechanism by which changes to higher level classes can be propagated to lower level classes quickly.

Polymorphism reduces the effort required to extend an object system by enabling a number of different operations to share the same name.

(4)

Explain the role of each element of the conventional analysis model: data dictionary, entity relationship diagram, and data flow diagram. (9 pts.)

Answer:

Data dictionary - contains descriptions of all data objects produced or consumed by the software;

Entity relationship diagram (ERD) - depicts data object relationships;

Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system and the functions that transform the data flow.

3. Given the description of a system, please analyze the system requirements and complete the requested models by either the conventional methods or the object-oriented methods. (40 pts.)

The E-mail System description: You are responsible for the development of an electronic mail (e-mail) system to be implemented on a PC network. The e-mail system will enable users to receive letters from another user, or to create letters to be mailed to another user or to a specific address list. Letters can be read, copied, stored, etc. The e-mail system will make use of a simple full-screen editor on a video display terminal to create letters. The editor allows text to be inserted, deleted, and modified.

Sections of text can be “cut” from one part of the file and “pasted” to another part of the file. The user can specify a text string, and the editor can find the next occurrence of that string. Through the editor, the user can specify margin, background, and tab settings.

Please specify your choice here: A – conventional methods; or B – object-oriented methods

A B (1) Please draw the data flow diagram for the

e-mail system. (10 pts.)

(2) Please describe at least 4 important data by data dictionary cards. (8 pts.)

(3) Please draw an entity relationship diagram for the e-mail system. (5 pts.)

(4) Please draw a system hierarchy based on DFD given in step (1). (12 pts.)

(5) Suppose you have 5 people in your team.

As the project manager, how would you assign jobs to your team members according to Chief Programmer Team organization? (5 pts.)

(1) Please draw the data flow diagram for the e-mail system. (10 pts.)

(2) Please draw an event trace diagram for the normal use case of the e-mail system. (5 pts.)

(3) Please draw the class diagrams and specify the relationships between objects. (12 pts.) (4) Please draw at least 2 state transition

diagrams. (8 pts.)

(5) Suppose you have 5 people in your team.

As the project manager, how would you assign jobs to your team members according to Chief Programmer Team organization? (5 pts.)

2

參考文獻

相關文件

Overview of a variety of business software, graphics and multimedia software, and home/personal/educational software Web applications and application software for

To assist with graphics and multimedia projects To assist with graphics and multimedia projects To support home, personal, and educational tasks To support home, personal,

 “More Joel on Software : Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those

• Nokia has been using Socialtext wiki software for a year and a half to facilitate information exchange within its Insight &

 “More Joel on Software : Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those

1.16 Works means the construction and maintenance works to be carried out by the contractors not included in the fee proposal appointed and paid separately by the School under

Variable symbols: Any user-defined symbol xxx appearing in an assembly program that is not defined elsewhere using the ( xxx) directive is treated as a variable, and

The aim of this study is to develop and investigate the integration of the dynamic geometry software GeoGebra (GGB) into eleventh grade students’.. learning of geometric concepts