Advantages and Comparison of Identify Software Classes
1. Discuss why it may be seen as an advantage to use business processes as a way to identify analysis classes and thus also the software classes in an object-oriented system. Identify and compare other ways of identifying software classes.
2. Examine the case for the waterfall life cycle. Does the waterfall life cycle still play a useful role in modern systems development, and if so, at which stages?
3. If we consider UML as 'just a modelling language' then it should not matter which methodology or life-cycle we use it within. But is this true? Discuss whether or not UML should be used only when the project life-cycle is iterative and incremental.
4. Is the use of a software development methodology necessary only for inexperienced developers? Should the experienced staff also follow a methodology? Discuss.
5. Are Agile Methods now no more than a fashion that has become out-of-date?
6. What is the best way to identify software classes from use cases?
7. In what circumstances would it not be appropriate to follow an iterative and incremental path? Why?
8. Explain what it means to say that Object Oriented modelling is ‘seamless’ throughout the life-cycle? Discuss whether this claim is justified or exaggerated.
9. The reuse of software and models is said to help make systems development more economical. Which aspects of Object Oriented development actually achieve this benefit in practice?
10.Patterns were first applied to OO program design, but over time patterns have been identified for analysis, project management, systems architecture and more. What are UML Profiles, and what is their value to the modelling process?
11.Agile Methods such as XP emphasise code over documentation. A potential criticism is that those who have to maintain such systems appear to have very little information to tell page 4 them what it does and why it was designed that way. Does this make XP a good choice of methodology?
12.Would it make sense to have a life-cycle that was iterative but not incremental? Or one
that was incremental but not iterative? Why is the RUP life-cycle both?
13.Just how important is UML to the success of OO software projects today? Discuss.
14.Does the spread of mobile and distributed computer systems present new challenges for systems analysts or designers? Critically analyse and discuss.
15.Agile Methods like DSDM and SCRUM appear to take as much control as they can away from senior managers and put it in the hands of the project team. Is this is really such a good idea?
16.In an iterative life-cycle, the activities of documenting requirements, analysing requirements, design, implementation and so on are all seen as ‘disciplines’ or activities that run through all the phases of the project life-cycle. Explain and assess the advantages of organising a project this way.
17.What is Model Driven Architecture™? Does it deliver any real benefits to the clients of systems development organisations? Explain.
18.Use Cases are not inherently object-oriented. Why then is use case modelling so important in the OO approach? Discuss.
19.Object-oriented development methods generally follow an iterative life-cycle – is this really necessary, or could you have OO without iteration?
20.“New systems development increasingly relies on software components developed outside the client organisation.” First, is this statement true, and second, what does it imply for the activities of analysis and design?
21.UML does not include any advice or guidance about the sequence of activities within the life-cycle - that is the concern of methodology. But why should the notation for analysis and design be completely independent of the methodology? Explore this aspect of systems development.