Text Book: Software Engineering: Principles and Practice (3rd edition), by Hans Van Vliet, Wiley, 2008.
Answer the following problems related to contents of Chapters 3 and 9 of the textbook. prepare your answers in a Word or PDF.
problem 1: Discuss the main differences between prototyping and incremental development.
problem 2: Describe the commonality and main differences between agile approach and RUP.
problem 3: describe refactoring in XP practices. Why refactoring is important for developing high quality software systems using agile approach?
problem 4: Can agile approach being used in developing conventional (non-software) engineering systems and products? describe your answer.
problem 5: What is test-driven software development? Why test-driven software development is important in agile development approach?
problem 6: Describe how the following software development models deal with frequent changes in software development process.
- Waterfall with feed back.
problem 7: In terms of maintenance in software life cycle, does RUP or agile approach provide better support? describe your answer.
problem 8: Describe how agile development approach and RUP measure progress of a software development project.
problem 9: What is the main difference between throwaway prototyping as a way of eliciting the “true” user requirements and prototyping as an evolutionary development method? What are the relative merits of these two approaches?
problem 10: Support you are involved in a large project concerning the development of a patient management system for a hospital. You may opt for one of two strategies. The first strategy is to start with a thorough analysis of user requirements, then build the system according to these requirements. The second strategy starts with a less complete requirements analysis phase, after which a pilot version is developed. This pilot version is installed in a few departments. Further development of the system is guided by the experience gained in working with the pilot version. Discuss the pros and cons of the both strategies. Which strategy do you favor? describe your answer.
problem 11: Consider the patient management system project given in problem 10, under what conditions would you opt for an agile approach for this project? describe your answer.
problem 12: What is the difference between an implicit and an explicit conceptual model?
problem 13: There are four steps or activities in requirements engineering: elicitation, specification, validation, and negotiation. Briefly describe the task of each of the four steps. Why requirements engineering has to be an iterative process of doing these activities/steps?
problem 14: Assume that you as a system analysis conduct requirement elicitation for developing a new course registration system for UNB. Describe an ex scenario for using each of the following approaches:
- Functional (objective + order)
- Social-relativism (subjective + order)
- Radical-structuralism (objective + conflict)
- Neohumanism (subjective + conflict)