Duration : 2 hours (Closed books) Question 1 (10 points) Software is the differentiating characteristic in many computer-based products and systems. Provide examples of two or three products and at least one system in which software, not hardware, is the differentiating element. Answer: Products: Cellular phones, Pocket PC's System: Automated Teller Machine (ATM) Question 2 (15 points) . The Software Engineering Institutes people management capability maturity model (PM-CMM) takes an organized look at key practice areas that cultivate good software people. Your instructor will assign you one KPA for analysis and summary. Answer: The cultivation of motivated, highly skilled software people has been discussed since 1960s .In fact, the people factor is so important that the Software Engineering Institute has developed a people management capability maturity model (PM-CMM), to enhance the readiness of software organizations to undertake increasingly complex applications by helping to attract, grow, motivate, deploy, and retain the talent needed to improve their software development capability. The people management maturity model defines the following key practice areas for software people: recruiting, selection, performance management, training, compensation, career development, organization and work design, and team/culture development. Organizations that achieve high levels of maturity in the people management area have a higher likelihood of implementing effective software engineering practices. The PM-CMM is a companion to the software capability maturity model that guides organizations in the creation of a mature software process. Issues In a study published by the IEEE [CUR88], the engineering vice presidents of three major technology companies were asked the most important contributor to a successful software project. They answered in the following way: - VP 1: I guess if you had to pick one thing out that is most important in our environment, I'd say it's not the tools that we use, it's the people. - VP 2: The most important ingredient that was successful on this project was having smart people . . . very little else matters in my opinion. . . . The most important thing you do for a project is selecting the staff . . . The success of the software development organization is very, very much associated with the ability to recruit good people. - VP 3: The only rule I have in management is to ensure I have good peoplereal good peopleand that I grow good peopleand that I provide an environment in which good people can produce. Indeed, this is a compelling testimonial on the importance of people in the software engineering process. And yet, all of us, from senior engineering vice presidents to the lowliest practitioner, often take people for granted. Managers argue (as the preceding group had) that people are primary, but their actions sometimes belie their words. In this section we examine the players who participate in the software process and the manner in which they are organized to perform effective software engineering. The Players The software process (and every software project) is populated by players who can be categorized into one of five constituencies: - 1. Senior managers who define the business issues that often have significant influence on the project. Companies that sensibly manage their investment in people will prosper in the long run. Tom DeMarco & Tim Lister
- 2 Given these statistics, its reasonable to ask how the impact of computers continues to grow exponentially and the software industry continues to post double digit sales growth. Part of the answer, I think, is that a substantial number of these failed projects are ill-conceived in the first place. Customers lose interest quickly (because what they requested wasnt really as important as they first thought), and the projects are cancelled. Question 3 (15 points) Suggest three measures, three metrics, and corresponding indicators that might be used to assess the service department of an automobile dealership. Answer: The measure which we have to take on service department of auto mobile dealer ship is 1: Technical staff Measure: As technical staff is one of the most important factor planning for the service dept. of the automobile. As this measure show how efficient are there services. The metrics which we got from technical staff measure is: QOTW (quality of technological worker). QOTW = 1 (for excellent) QOTW = (a1 + a2 + a3n )/n; 2: Personal relationship Measure: Personal relationship measure show how the company contact are going on if the dealer have higher personal relationship then it goes well. PRF = NOC/R, where PRF depend on number of relation relative to client. NOC = number of client. R = Number of relation. Question 4 (15 points). Team A found 342 errors during the software engineering process prior to release.Team B found 184 errors. What additional measures would have to be made for projects A and B to determine which of the teams eliminated errors more efficiently? What metrics would you propose to help in making the determination? What historical data might be useful? Answer: The cyclometric complexity of projects A and B would have to be measured in order to judge the size of the project. Perhaps you could divide the number of errors found by the weighted methods per class to normalize the number of errors generated by the complexity of the problem being solved. Previous error data and cyclometric complexity data would help show the correlation between errors found and complexity. Question 5 (15 points) Do a functional decomposition of the home security system software you described in problem 5.1. Estimate the size of each function in LOC. Assuming that your organization produces 450 LOC/pm with a burdened labor rate of $7000 per person-month, estimate the effort and cost required to build the software using the LOC-based estimation technique described in Section 5.6.3 Question 6 (15 points) Draw a context-level model (leve 0 DFD) for Library Management. Write a contextlevel processing narrative for the system. And then, develop level 1 and level 2 data flow diagrams Remember to specify all information flow by labeling all arrows between bubbles. Use meaningful names for each transform.
Question 7 (15 points) Using your own words, describe the difference between verification and validation. Do both make use of test case design methods and testing strategies? Answer: Validation: Conrmation that the product conforms to customer requirements. Verication: Conrmation by examination and through the provision of objective vidence at specied requirements have been fullled. [ISO 9000]. Validation: When, Who, and How? When: Early in the development cycle, and/or at the beginning of each iteration, and/or late in the development cycle and/or Who: Systems engineers, testers, architects, developers, additional stakeholders (sales, marketing, R&D, ) How: Prototyping, Customer collaboration, Onsite customer testing, Focus groups Anything that works Will the customer get what the customer wants? Verication: When, Who, and How? When: Design (incl architecture), coding, testing Anytime a specication or critical artifact is produced Specication: A restriction that is insisted upon as a condition for an agreement. A contract. Who: Systems engineers, testers, architects, developers, users, additional stakeholders (sales, marketing, R&D, ) How: Reviews (incl inspections), testing, assertion checking, program proving, model checking, Does the artifact meet its specications? Because Validation answer the question Have I built the right product? and Verification answer the question Have I built the product right?, then, both of them make use of test case des methods and testing strategies.
Question 5 (15 points) Assume that you are the project manager for a company that builds software for consumer products. You have been contracted to build the software for a home security system. Write a statement of scope that describes the software. Be sure your statement of scope is bounded. If youre unfamiliar with home security systems, do a bit of research before you begin writing. Alternate: Replace the home security system with another problem that is of interest to you. Question 6 (15 points) Draw a context-level model (leve 0 DFD) for Hotel Management. Write a context-level processing narrative for the system. And then, develop level 1 and level 2 data flow diagrams Remember to specify all information flow by labeling all arrows between bubbles. Use meaningful names for each transform.
Question 7 (15 points) Select a specific GUI for a program with which you are familiar and design a series of tests to exercise the GUI.