云南大学软件学院2007年秋学期

200级(本科)《软件工程》期中考试试卷

任课教师:康雁

专业______学号______姓名______班级______

  1. Fill in the blank (each 2 points,total 40 points)

1.Software engineering is an engineering ______that is concerned with all aspects of software production. discipline

2.A system is a purposeful collection of inter-related ______working together to achieve some common objective. components

3.______charts show task dependencies and the critical path.______charts show schedule against calendar time. Activity,Bar

4.Risk ______assess the likelihood and consequences of these risks. analysis

5.______requirements are the statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.______requirements are the constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.______requirements are the requirements that come from the application domain of the system and that reflect characteristics of that domain. Functional, Non-functional, Domain

6.Requirementselicitation, requirements______, requirements______and requirements______are a number of generic activities common to all processes. analysis, validation, management.

7.Two principal event-driven models are ______models and ______models. Broadcast, Interrupt-driven

8.Data processing model showing how the data is processed at different stages.Composition model showing how entities are composed of other entities.______model showing principal sub-systems.______model showing how entities have common characteristics.______model showing the system’s reaction to events. Architectural, Classification, Stimulus/response

9.Data ______are lists of all of the names used in the system models. Descriptions of the entities, relationships and attributes are also included. dictionaries

10.Rather than inheriting the attributes and services from a single parent class, a system which supports ______inheritance allows object classes to inherit from several super-classes. multiple

11.An ______model shows how classes that are collections are composed of other classes. aggregation

12.A ______is a system component that provides services to other components but would not normally be considered as a separate system. Module

  1. True or False (each 2 points, total 10 points)
  2. Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs. ture
  3. Productivity is proportional to the number of people working on a task.Adding people to a late project makes it earlier because of communication overheads. false
  4. The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process.
  5. Sequence diagramsshow the sequence of events that take place during some user interaction with a system.You read them from top to bottom to see the order of the actions that take place.
  6. Three types of interface may have to be defined, such as procedural interfaces, data structures that are exchanged, and data representations.
  1. Noun Explanation. (each 5 points, total 20 points)
  1. software process :A set of activities whose goal is the development or evolution of software.Generic activities in all software processes are:Specification - what the system should do and its development constraints. Development - production of the software system. Validation - checking that the software is what the customer wants. Evolution - changing the software in response to changing demands.
  2. Project scheduling:Split project into tasks and estimate time and resources required to complete each task.Organize tasks concurrently to make optimal use of workforce.Minimize task dependencies to avoid delays caused by one task waiting for another to complete.Dependent on project managers intuition and experience.
  3. Risk management:is concerned with identifying risks and drawing up plans to minimise their effect on a project.
  4. Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself.A set of use cases should describe all possible interactions with the system.
  1. Answer the following question?(each 10 points,total 30 points)
  1. Please give the weaknesses of the structured methods.

Answer:

They do not model non-functional system requirements.

They do not usually include information about whether a method is appropriate for a given problem.

The may produce too much documentation.

The system models are sometimes too detailed and difficult for users to understand.

  1. Giving reasons for your answer, suggest an appropriate structural model for the following system.

. an automated ticket issuing system used by passengers at a airway station;

. a computer-controlled video conferencing system which allows video, audio and computer data to be visible to several participants at the same time;

. a robot floor cleaner which is intended to clean relatively clear spaces such as corridors. The cleaner must be able to sense walls and other obstructions.

Ticket issuing system. The most appropriate architectural model is a centralised

model with a shared repository of route and pricing information. This means that

changes are immediately available to all machines. As little local processing is

necessary, there is no real advantage in a client-server architecture. The centralised

system also allows global information and route use to be collected and processed.

Video conferencing system. The most appropriate is a client-server model. The reason

for this is the need for a lot of local processing to handle multimedia data.

Robot floor cleaner. The most appropriate model is a repository model where all subsystems

place information in the repository for other sub-systems to use. In the case

of AI systems as this would be, a special kind of repository called a blackboard is

normally used.

  1. Discover ambiguities or omissions in the following statement of requirements for part of a ticket issuing system.

An automated ticket issuing system sells rail tickets. Users select their destination, and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged with its cost. When the user presses the start button, a menu display of potential destination is activated along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identified. When the credit transaction has been validated, the ticket is issued.

Can a customer buy several tickets for the same destination together or must they be bought one at a time?

Can customers cancel a request if a mistake has been made?

How should the system respond if an invalid card is input?

What happens if customers try to put their card in before selecting a destination (as they would in ATM machines)?

Must the user press the start button again if they wish to buy another ticket to a different destination?

Should the system only sell tickets between the station where the machine is situated and direct connections or should it include all possible destinations?