一、名词解释题(本大题共10小题,每小题4分,共40分),解释每小题所给名词的含义,
若解释正确则给分,若解释错误则无分,若解释不准确或不全面,则酌情扣分。 1. Software
Software: Software is (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately manipulate information; and (3) documents that describe the operation and use of the programs.
2. software engineering
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).
3. Capacity Maturity Model Integration (CMMI)
The CMMI assesses each process area against specific goals and practices and rates each one in six capability levels. They are: Level 0: Incomplete, Level 1: Performed, Level 2: Managed, Level 3: Defined, Level 4: Quantitatively managed. Level 5: Optimized.
4. Unified Modeling Language (UML)
UML (unified modeling language): The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software intensive system.
5. Unified Process model
Inception phase (customer communication, planning, use-case creation) Elaboration phase (creation of analysis and design models)
Construction phase (translates design model into software components)
Transition phase (software transferred from developer to end user for acceptance testing) Production (on-going monitoring and support of software during active use)
6. Software Quality Assurance (SQA)
Software Quality Assurance is a planned and systemantic pattern of actions that required to ensure high quality in software. 7. Software Architecture
Software Architecture: the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
8. Information Hiding
The principle of information hiding implies that modules only share information with each other on a \to know\basis to achieve some specific software function. Hiding enforces the procedural constraints to both the module procedural detail and any data structures local to the module.
9. Use-Cases
A use case describes a sequence of events, performed by the system, that yields an observable results of value to a particular actor.
10. requirements engineering
Inception Elicitation Elaboration Negotiation Specification Requirements validation
二、问答题(本大题共12小题,每小题5分,共60分 )。
1.How do software characteristics differ from hardware characteristics?
Software is developed, not manufactured. Software does not wear out, but it can deteriorate when changes are made. Most software is custom built, not assembled out of components.
2.What are the six steps for requirements engineering?
Inception Elicitation Elaboration Negotiation Specification Requirements validation
3. List the four design models required for a complete specification of a software design and the role of each.
Data design - high level model depicting user’s view of the data or information.
Architecture design – shows relationships and collaborations among specific analysis model software and hardware elements
Interface design - interface depicts a set of operations that describe the externally observable behavior of a class and provides access to its operations
Component-level design - Describes the internal detail of each software component
4. For the waterfall model, describe situations where this model can and cannot be used and
why. Discuss the pros and cons of prototyping model and how it differs from the spiral model.
The waterfall model is appropriate for projects with the following characteristics: (1) the problem is well understood (requirements are well-defined); (2) the delivery date is realistic; (3) it's unlikely that major changes in requirements will be requested as the project proceeds.
The pros and cons of prototyping model are: Pro: evaluated by user and used to refine requirements; Con: the first system built is barely usable; unrealistic expectations from the customer; the performance issue
The spiral model combines the iterative nature of prototyping with the systematic control found in the linear sequential model
5. Describe the differences between the software engineering terms coupling and cohesion. Cohesion implies that a component or class encapsulates only the attributes and operations closely related to one another and to the class itself. Coupling is a qualitative measure of the degree to which components are connected to one another.
6 . Describe the five framework activities of general process model. Communication
Planning
Modeling (Analysis of requirements Design) Construction (Code generation Testing) Deployment
7. High Quality High quality = project timeliness, why ?
less rework
8. Describe System Context Diagram (SCD) and System Flow Diagram (SFD)
System Context Diagram (SCD) - top level node in system hierarchy used to establish the boundary between the system being implemented (system model template serves as its basis) System Flow Diagram (SFD) - refinement of the process and control functions from SCD, derived by identifying the major subsystems and lines of information flow (precursor to Data Flow Diagram)
Initial SFD is the top level node of a hierarchy of more detailed SFD's 9. What’s a Use-Case Diagram? Please give an example in UML.
A use-case diagram is created to visualize the interaction of your system with the outside world.
10. What’s an Activity Diagram? Please give an example in UML.
activity diagram shows the flow of events within our system.
11. What’s a Sequence Diagram, Collaboration Diagram respectively? What’s the difference between them?
A sequence diagram shows step by step what must happen to accomplish a piece of functionality provided by the system. A collaboration diagram displays object interactions organized around objects and their links to one another.
12. As you know, a view is a perspective of the model that is meaningful to specific
stakeholders. Please list the 1+4 views in Rational Unified Process (RUP).
相关推荐: