软件工程复习题-问答题

更新时间:2023-04-23 21:26:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程复习题-问答题

QA

1. What are the essential attributes of good software?

Maintainability, dependability and security, efficiency and acceptability

2. What is software engineering?

An engineering discipline concerned with all aspects of software production from specification to system maintenance.

3. What are the four fundamental activities in software processes?

Software specification, software development, software validation and software evolution.

4. What software engineering fundamentals apply to all types of software systems?

a. Systems should be developed using a managed and understood

development process.

b. Dependability and performance are key system characteristics

c. Understanding and managing the software specification and requirements are important.

d. Effective use should be made of available resources.

5. List the 3 generic process models that are used in software engineering? The waterfall model

Incremental development

Reuse-oriented software engineering

6.What are the three benefits of incremental development, compared to the waterfall model?

(a) The cost of accommodating changes to customer requirements is reduced. (b) It is easier to get customer feedback on development work that has been done.

(c) More rapid delivery and deployment of useful software to the customer is possible.

7.What are the principal requirements engineering activities?

Feasibility study

Requirements elicitation and analysis Requirements specification

Requirements validation

8.What are three important characteristics of extreme programming? Requirements expressed as scenarios,

Pair programming,

Test-first development.

9. What is the distinction between functional and non-functional requirements? Functional requirements define what the system should do. Non-functional requirements are not directly concerned with specific system functions but specify required system properties or place constraints on the system or its development process.

软件工程复习题-问答题

10. What is the software requirements document?

The official document that defines the requirements that should be

implemented by the system developers.

11. What is a use-case?

A use-case identifies a typical interaction with a system and the actors (human or computer) involved in that interaction.

12. What is requirements management?

The process of managing changes to requirements during requirements specification and after the system has gone into use.

13. What are the 5 key activities in an object-oriented design process?

Understand and define the context and use of the system. Design the system architecture

Identify the principal objects in the system

Develop design models

Specify object interfaces

14. What are the principal aims of software configuration management? To support system integration so that all developers can access the project code and documents in a controlled way, find out what components have been changed and compile and link components to create a system.

15. What is the distinction between validation and verification?

Validation: Are we building the right product?

Verification: Are we building the product right?

16. What are the advantages of inspections over testing?

Inspections can discover many errors. In testing, one error may mask another. Incomplete versions of a system can be inspected.

Inspections can consider broader quality attributes as well as program defects.

17. What is an equivalence partition?

A class of inputs or outputs where it is reasonable to expect that the system will behave the same way for all members of the class.

18. What are the three types of user testing?

Alpha testing, where users work with the development team to test the software as it is being developed.

Beta testing where the software is released to selected users for testing before the formal system release

Acceptance testing, where customers test a system to check that it is ready for deployment.

19. What are the three different types of software maintenance and how is effort distributed across these maintenance types?

Maintenance to repair software faults (17%),

Maintenance to adapt the software to a different environment (18%), Maintenance to add to or modify the system s functionality (65%).

软件工程复习题-问答题

20. What are the principal systems re-engineering activities?

Source code translation,

Reverse engineering,

Program structure improvement,

Program modularization

Data re-engineering

21. List four important factors used to assess applications for maintenance. Any four from:

Understandability, Documentation, Data, Performance, Programming language, Configuration management, Test data, Personnel skills

22. What are the four principal dependability properties?

Reliability, availability, safety and security

23. Explain the difference between a system fault and a system failure.

A fault is an internal system condition that can lead to an erroneous system state. A failure is an externally observed deviation from expected system behaviour.

24. List the main benefits of software reuse.

Increased dependability, reduced process risk, effective use of specialists, Standards compliance, accelerated development.

25. What are the main benefits of COTS reuse?

More rapid deployment of a reliable system is possible

It is easier to judge if an application is likely to be suitable because its functionality is visible.

Some development risks are avoided by reusing complete products. Business can focus on their core activity without devoting resources to software development.

As operating platforms evolve, the COTS supplier is responsible for updating the application.

26. What is a workflow?

A sequence of activities, ordered in time, that make up a coherent business processes with each activity carrying out some part of the work of that process.

27. List 4 fundamental project management activities.

Project planning, Reporting, Risk management, People management, Proposal writing

28. Briefly describe two types of cost estimation techniques?

Experience-based techniques where the estimate is based on a manager s experience of past projects and the application domain.

软件工程复习题-问答题

Algorithmic cost modeling where a formulaic approach is used to estimate the development effort required, based on attributes of the software and the development team.

29. What are the stages in the software inspection process?

Planning, Overview, Inpidual preparation, Inspection meeting, Rework, Follow-up.

30. What is a baseline?

A controlled system (collection of component versions) where the component versions making up the system cannot be changed.

31. What may be included in a system release?

The executable code of a system, Configuration files,

Data files,

An installation program

Electronic and paper documentation, packaging and publicity.

32. What is the difference between a system version and a system release?

A system version is an instance of a system that differs, in some ways, from other instances. A system release is a version that is released to customers.

33.What are the main factors that affect software product quality?

Development technology, People quality,Cost, time and schedule, Process quality.

34. What are the identified levels in the CMMI staged model?

Initial, Managed, Defined, Quantitatively managed, Optimizing.

本文来源:https://www.bwwdw.com/article/mq5q.html

Top