Skip to content Skip to navigation

Connexions

You are here: Home » Content » Exercise

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

This feature requires Javascript to be enabled.

Exercise

Module by: Trung Hung VO

Summary: There are some exercises of the Software Engineering course.

Exercises (from the readings, assigned labs, software projects, etc.) will be used to complement the lectures and readings. Exercises are due at the beginning of class as specified in the course schedule.

Since much of the course will discuss software development in the context of not only the code itself, but how it is documented, tested, packaged and delivered, these elements should be critical in your consideration of how to turn in programming exercises in particular. Unless otherwise specified, completed programming exercises should be delivered by both handing in a printed copy, and e-mailing the instructors with a link to your source code (and, when applicable, any "front end" or instructions for running the software). If the assigment is being delivered by a group, only one person from the group need send an e-mail, but it should indicate that all group members have "signed off" on the delivery.

Here are some exercises:

  1. During the first decades of computers, programming was learned through the guidance of a more experienced programmer, in the way of an apprenticeship. Where in software engineering can you still see the effect of these "good old days"? Compare to other fields of engineering such as construction that has also originally been learned by starting as a handyman at a construction site.
  2. Your enterprise Cleany Ltd is going to design a next generation washing machine starting from scratch. In addition to the usual programs, the washing machine can iron and fold the laundry. It also has a database where you can load new programs for washing, ironing and folding. Produce an overview of the system using your chosen technique. The overview must show the sub-systems, their main components and the relations of the sub-systems. Describe the functionality of each subsystem in general.
  3. Software is often a part of various devices and systems where malfunction can have a very dramatic effect on people or the entire society - consider for example banking systems, power distribution or hospital equipment. What is (or, what should be) the responsibility of software providers (organizations or individual software engineers) for their work? In some countries software engineering is a certified profession in a similar way as doctors: what are the advantages and disadvantages of this solution? Do you think that it solves the problem above: why / why not?
  4. All processes include some activities that are part of every phase. They are called umbrella activities as they act as a framework or umbrella covering the entire process. Documentation is a typical umbrella activity. What other umbrella activities can you think of? If the project is in problems, for example delayed, do you think that supressing or restricting the umbrella activities is a good way to fix the problem?
  5. Explain why the process of project planning is iterative and requires continuous reviewing and revising of the plan. Consider each part of the project plan one by one and try to think of reasons that may cause changes in the part. How could you make it easier to update the plan?
  6. Your enterprise Cleany Ltd has decided to implement the next generation washing machine presented in the first exercise. You are responsible for the risk management of the software project. Identify possible project, product and business risks for the washing machine software. Select the risk type, probability and effect for each risk. (The classification for risk types, probabilities and effects are presented in the course book, page 87). Which of the risks are most important, requiring that some risk management strategies should be planned for them?
  7. A project is planned for designing the software to control a radiotherapy machine to treat patients suffering from cancer. The system is embedded in the machine and must run on a special-purpose processor with a fixed amount of memory (8 Mbytes). The software communicates with a patient database system to obtain the details of the patient and, after treatment, automatically records the radiation dose delivered and other treatment details in the database. The COCOMO method is used to estimate the effort required to develop this system and a base estimate of 26 person-months is computed (with no adjustment factors).
  8. What product, hardware, personnel, and project factors does the project have that should be taken into account as adjustment factors (cost drivers) when computing the final effort estimate?
  9. In his classical collection of essays The Mythical Man-Month (Addison-Wesley, 1975) Fred Brooks presents the following often quoted statement: Adding people to a late software project makes it later.
  10. Suggest reasons why this statement is true - or is it true? What should the project manager of a late software project do to cure the situation?
  11. Your company Cellular Inc. is developing a simple and cheap cellular phone especially for older people. Make a list of user requirements that in your opinion define the functional requirements of the new cellular phone software.
  12. Give non-functional requirements to the new Cellular Inc. phone for older people.
  13. Give three use cases of the use of the Cellular Inc. phone. Include also failed scenarios in the use cases.
  14. Explain why it is almost inevitable that the requirements of different stakeholders will conflict in some ways. How should the project group handle conflicting requirements?
  15. What is the status of modeling in requirements engineering? Why is one model usually not sufficient in the modeling phase?
  16. Create a UML use case diagram of a WWW-based store software. You can concentrate on the actors and use cases. Give a short description of each use case (but don't get into too deep details).
  17. Create a UML class diagram based on aggregates and composition of a structure of a laptop computer.
  18. Create a data flow diagram of an ATM (automatic teller machine).
  19. A simple coffee machine works as follows: The machine has a number of drink choices for a thirsty customer. Once the customer has chosen a drink, the machine waits for the payment. The machine accepts 20 cent coins. Once the machine has got enough coins it will give a cup of coffee. All sums are multiples of 20 cents so no coins are returned. Create a UML state machine diagram of the coffee machine.
  20. Create a UML activity diagram of the previously defined coffee machine.
  21. You have been assigned to calculate the number of days between two given dates (the same date = 0 days). Create three different abstractions of your solution.
  22. Leffa Inc wishes to improve their customer service. They offer a ticket reservation system for their customers. Leffa Inc. has several theatres that may have several stages. All stages have numbered seats only. The reservation system allows customers to reserve seats from a wished showing. Information of theatres, stages, and showings are received automatically from a Leffa Inc. program system. All information exchange is automated.Based on the previous scope please create an object-oriented design plan for a Leffa Inc. ticket reservation system. Identify subsystems and components.
  23. Select one of the subsystems from the previous system and design its components to object classes. You do not have to get into a pseudo language level.
  24. You are responsible for the development of an electronic mail (e-mail) system to be implemented on a PC network. The e-mail system will enable users to create letters to be mailed to another user or to a specific address list. Letters can be read, copied, stored, etc. The e-mail system includes an internal text editor to create letters.
  25. Based on the previous scope please create an object-oriented design plan for a Leffa Inc. ticket reservation system. Identify subsystems and components.
  26. Select one of the subsystems from the previous system and design its components to object classes. You do not have to get into a pseudo language level.
  27. How do components differ from objects? Why does object-oriented design become easier when a new abstract entity, component, is added between subsystems and objects?
  28. What kind of effects do you see in the use of software product families on requirements engineering, design, implementation, testing and project management?
  29. Why does integration testing reveal errors although unit testing has been done well? Why does system testing reveal errors although integration testing has been done well? Why does beta-testing reveal errors although system testing has been done well?
  30. Standards and defined work processes are an essential part of quality assurance. On the other hand, software engineers sometimes oppose them, claiming that they stifle technological innovation. Give examples of situations where adhering to standards might be harmful. What problems (if any) would bending the rules cause in your example cases?
  31. Software process measurement often involves measuring the work of individual people in the process, such as time spent or faults made in certain tasks. What problems are there in collecting this kind of information and how could these problems be reduced?
  32. Suggest a few application domains where the SEI capability model is unlikely to be appropriate. Give reasons why this is the case. Do you think that some of the process types described by Sommerville (informal, managed, methodical, improving) would be better in describing typical software processes in these application fields?

Comments, questions, feedback, criticisms?

Send feedback