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, Individual 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.
因篇幅问题不能全部显示,请点此查看更多更全内容