Q1: Choose the best alternative in the following (8 marks) (0.33 marks for each item): 1. What is usability in software engineering? (a) a measure of the relative effort required to learn how to use a software product. (b) the degree to which the product integrates with the environment in which it is used. (c) a metric that describes the degree to which a software product meets its requirements. (d) the ability of the end user to use the product successfully. 2. _____________ is the process of developing a software specification. (a) software Engineering. (b) requirements Engineering. (c) systematic Engineering. (d) computer Engineering. 3. Verification is defined as _____________ . (a) are we building the right project? (b) are we building the right product? (c) are we building the product right? (d) are we building the project right? 4. The ability of the system to deliver services when requested is defined by ______________ . (a) availability. (b) reliability. (c) usability. (d) security. 5. Which activity refers to the action Are we building the product right? (a) verification. (b) validation. (c) testing. (d) debugging. 6. The stand alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them are called ____________. (a) customized product. (b) generic product. (c) system product. (d) software product. 7. The risk that is derived from the software or hardware that is used to develop a system is called ____________ . (a) technology risks. (b) people risks. (c) dangerous risks. (d) organizational risk. 8. The likelihood and consequences of the risk that are assessed is called as _________ . (a) risk identification. (b) risk analysis. (c) risk planning. (d) risk management. 9. As the reliability decreases, failure intensity ______________ . (A) decreases (B) increases (C) no effect (D) none of the above 10. What is the main concern of software engineering area? (a) hardware configuration (b) software validation (c) software production (d) software reusability 11. ___________ is concerned with modifying existing software systems to meet new requirements. (a) software specification (b) software design and implementation (c) software validation (d) software evolution 1 12. Is the capability of software to provide functions which meet stated and implied needs when the software is used. (a) efficiency (b) portability (c) functionality (d) maintainability 13. The Microsoft Excel is an example of ____________ . (a) Interactive transaction-based applications (b) Embedded control systems (c) Stand-alone applications (d) Entertainment systems 14. Business trends are dictating that the time to market of a product should be ______________. (a)raised. (b) reduced. (c) fixed. (d) good. 15. The most important feature of spiral model is _______________ . (a) requirement analysis. (b) risk management. (c) quality management. (d) configuration management. 16. The feature of the object oriented paradigm which helps code reuse is ___________ . (a) object. (b) class. (c) inheritance. (d) aggregation. 17. The prototyping model of software development is _____________ . (a) a reasonable approach when requirements are well defined. (b) a useful approach when a customer cannot define requirements clearly. (c) the best approach to use for projects with large development teams. (d) a risky model that rarely produces a meaningful product. 18. _______________ describe the “what” of a system, not the “how”. (a) requirements. (b) design. (c) coding. (d) testing. 19. ____________ are statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. (a) user designs. (b) user requirements. (c) customer statements. (d) customer documents. 20. ___________ are statements of services the system should provide and how the system should react to particular inputs. (a) non-functional requirements. (b) functional requirements. (c) domain requirements. (d) system requirements. 21. _____________ are constraints on the services or functions offered by the system such as timing constraints. (a) non-functional requirements. (b) user requirements. (c) domain requirements. (d) system requirements. 22. _______________ are requirements which specify that the delivered product must behave in a particular way e.g. execution speed and reliability. (a) non-functional requirements. (b) product requirements. (c) domain requirements. (d) organizational requirements. 23. ______________ requirements cannot be sacrificed. (a) non-functional requirements. (b) functional requirements. (c) mandatory requirements. (d) desirable requirements. 2 24. _______________ is quite helpful when tradeoffs need to be made. (a) non-functional requirements. (b) functional requirements. (c) Ranking requirements requirements. (d) desirable requirements. Q2: Match the items on the right to those on the left (4 marks) (0.5 marks for each item): Job satisfaction is increased for developers Timeboxing process model 1 2 3 in the V process model 4 for the prototyping model 5 waterfall model is one of the XP unique practices user training to use the system a disadvantage of the Spiral model 6 7 8 ( ) no strict standards for software development ( ) is a document-driven process Automated unit tests are written first before the ( ) actual code is written, and then the code should be written to pass the tests is well suited for projects that require a large number of features to be developed in a short ( ) time around a stable architecture using stable technologies ( ) is one of the advantages of prototyping model is one of the advantages of iterative ( ) enhancement model ( ) testing is a full life-cycle activity ( ) requirements are not freezed Q3: Write “T” if the statement is true and “F” if the statement is false. Correct the false statements to make them true (4 marks) (0.33 marks for each item): 1. Adaptive maintenance means enhancing the performance or modifying the programs to respond to the user’s additional or changing needs. 2. The goal of the design phase is to transform the requirements specified in the SRS document into a program. 3. Detailed design is also called high-level design. 4. Object oriented design has higher development time and effort. 5. The system testing is done in two phases. 6. The main disadvantage of the waterfall model is its simplicity. 3 7. The selection of the development process specifies things like how long each phase should last. 8. A software plan is usually produced after the development activity begins. 9. External requirements are requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc. 10. “The system shall be completely reliable” is an example of good requirements. 11. “It imposes an additional burden” is one of the advantages of a decision table. 12. For DFDs, the direction of flow is from destination to source. Q4: Answer the following questions (20 marks) (5 marks for each question): 1. Design your own development process for the following software project: The client is willing to spend some time only at the start to help develop the requirements - The developing organization is not familiar with the problem domain - The client wanted to reduce the delivery time as much as possible - The project requires a large number of features and there is some flexibility in grouping them. 2. A software project uses the time-boxing process model with 6 stages in each time box. Suppose that each stage takes 5 days. Find the number of time boxes if the time required to complete this project is 620 days. 3. Construct a DFD that describes the arithmetic expression (a * b) + (a – b * c). Assume that the data a, b, and c are read from a keyboard and the result is printed. 4 4. Convert the following flowchart into a decision table. Is the decision table complete? Why? Is there any redundant or contradictory rules? Why? Explain your answer. Q5: Answer the following questions (4 marks) (2 marks for each question): 1. Suppose changes are to be made to a software system that is in operation. Why will changes to such a system cost a lot more than just making changes to the source code files? 2. If the primary goal is to make software maintainable, list some of the things you will do and some of the things you will not do during design and coding. ، ، ، انتهت األسئلة مع خالص دعائي بالتفوق 5