03
  • Tutorial
  • Lab
  • This Tutorial is based on questions from the book Software Engineering 10 by Ian Sommerville and is based on the material covered in chapter 2.

    Week 3 Tutorial

    Software processes

    1. What are the fundamental activities that are common to all software processes?
    2. List the 3 generic process models that are used in software engineering?
    3. Why are iterations usually limited when the waterfall model is used?
    4. List three benefits of incremental development, compared to the waterfall model?
    5. What are the development stages in reuse-based development?
    6. Why is it increasingly irrelevant to distinguish between software development and evolution?
    7. What are the advantages of using incremental development and delivery?
    8. Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:
    A system to control anti-lock braking in a car
    A virtual reality system to support software maintenance
    A university accounting system that replaces an existing system
    An interactive travel planning system that helps users plan journeys with the lowest environmental impact
    9. Explain why change is inevitable in complex systems and give examples (apart from prototyping and incremental delivery) of software process activities that help predict changes and make the software being developed more resilient to change.

    Download PDF Version
  • Week 3 Lab Exercise

    Task 1

    The following BBC news article discusses some aspects of the recent emissions scandal that has affected the German car makers Volkswagen.

    Volkswagen: The Scandel Explained

    Read through this article and any other related articles on the BBC web site.

    Produce a short report outlining what the problem is and what the ethical issues that a software engineer employed by Volkswagen or one of its suppliers may have faced either when developing the flawed software or when it was released into production. Your report should be in the region of 750- 1000 words.

    Spend no more than 45 minutes on this task.

    Task 2

    By now you should be formed into a group of 4 or 5 students for the purposes of completing the coursework for Fundamentals of Software Engineering.

    If you are not in group speak to your lab supervisor immediately!

    Task 3

    You will need to share documents and create a single group report for this assignment. Discuss how you are going to do this. You may want to consider using Google Docs or Skydrive as a means of creating a shared repository. Record the decision that you make in the meeting record in Appendix B of your assignment. Include the email addresses that you use on the meeting record.

    Task 4

    If you have not read the coursework assignment yet do so now. The coursework is available in the assignments area for this module on GCULearn.

    Task 5

    Once you have read through the assignment discuss your initial thoughts with your fellow group members. You should spend around 1 hour on this activity. You should start to record the features that the proposed system should have. At this point in time you are expected to use “natural” English to record the features that you identify.

    At the end of this activity you should have completed a Group meeting record as specified in the coursework. Print a copy of this off and hand it to your lab supervisor. You will be required to demonstrate to the lab supervisor on a regular basis that you are making progress with the assignment.

    NOTE You are required to work on your assignment outside of the lab sessions.

    Download PDF Version