Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together.

Similar presentations


Presentation on theme: "Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together."— Presentation transcript:

1 Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together

2 Outline A Mountaineering Example Project Context –Goals, Environment, Methods, Tools, Methodology Methodology Issues –Planning, Design Reuse, Modeling, Process, Control & Monitoring, Redefinition Methodology Spectrum –Royce’s Methodology based on the unified process –Extreme Programming Methodological Heuristics

3 Key Decisions in an Expedition A leader has to answer several key questions to create a successful expedition –What mountain should be climbed? –What process should be used? –What types of tools should be used? –Who should be member of the team? –Does the expedition need a leader? Different answers to these questions lead to different styles

4 Key Decisions in an Software Project –Project goals –Schedule –Cost –Project organization –Software life cycle Model –Tools –Methods –Team members

5 If the Project Goal cannot be achieved A project goal is too ambitious or the original goal is simply wrong. Continuing is not an option. Option 1: Ask for more resources or a revised schedule. –Not really an option, because there is no more money and the schedule is fixed. Option 2: Admit the problem and turn the project into a “successful failure”: –Do a thorough analysis to understand what went wrong. –Focus on the failure to determine lessons learned. –Try to recycle the work that has been achieved so far for another project. Option 3: Revise the project goal –Turn the current project status into the goal. –Sometimes the revised project goal is actually as good or better than the originally envisioned

6 Methodology Issues Methodologies provide guidance, general principles and strategies for selecting methods and tools in a given project environment. The key questions for which methodologies typically provide guidance include: –How much involvement of the customer? –How much planning? –How much reuse? –How much modeling? –How much process? –How much control and modeling? Royce vs. XP

7 System Model Forward Engineering: Source code is generated from the system model (Ideal: „0 % manual coding“, Component- Based Software Engineering) Reverse Engineering: The system model is reconstructed from existing source code (legacy systems) Use Case Model Source Code class... Refactoring: The source code is transformed according to refactoring rules (program transformation) Object Model Dynamic Model Analysis, System Design Object Design are Model Transformations Scenario - Carl enters the store - He buys a car toy..... Textual scenarios generate external models

8 XP Source Code class... Refactoring: The source code is transformed according to refactoring rules (program transformation) Stories User Stories generate source code

9 Methodology Do’s and Do Not’s Try to train the client. Train the developers about the process Try to find a dedicated lab for all the developers Think carefully about how to maintain the infrastructure Use version control as an integration tool Make sure to have resources to deal with iteration overlaps Make sure to allow informal communication

10 Methodological Heuristics Be prepared to change the system –Functional requirements can change during a project when the client becomes more experienced –Technological change can occur any time Be prepared to change the organization –Move from hierarchical organization to participatory management when project participants are becoming capable of making decisions Be prepared to change the process –Move from activity-oriented to entity-oriented during a project when beginners become experienced developers Shorten client decision time –Train the client Build trust Learn the right lessons and nothing more


Download ppt "Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together."

Similar presentations


Ads by Google