110 likes | 232 Vues
This document provides comprehensive guidelines for Architecture-Driven Object-Oriented Development (ADOOD), outlining both short-term and long-term goals. It emphasizes the importance of an architectural approach to software project culture, comparing various styles such as calendar-driven and requirements-driven methodologies. ADOOD focuses on creating a framework that adapts to evolving requirements while addressing scalability, extensibility, and reusability. Additionally, the document discusses system development views and the significance of real-life examples to engage the audience, ultimately guiding them towards effective ADOOD practices.
E N D
Architecture Driven OO Development Paul Sorenson Dept. of Computing Science University of Alberta Special Acknowledgements: Jim Hoover and Tony Olekshy I much of this from a course they offer Architecture Driven OO Dev
Introduction • Short-term Goal: Provide you with guidelines on how you might go about your product/project development • Long-term Goal: Give you real experience using a “good method” with associated tools. Architecture Driven OO Dev
Software Project Culture Every software project follows one of several cultural styles [Booch96]. • Calendar-driven: obsessive focus on schedule; • Requirements-driven: rigid focus on outwardly • observable behaviour of system; • Documentation-driven: degenerate form of requirements-driven style with software process gone mad; • Quality-driven: obsessive focus on specific quantifiable • measures; scalability, extensibility, portability, reusability • can't be measured; Architecture Driven OO Dev
Architectural Driven • Architecture-driven: natural evolution of requirements-driven; focus is on creating framework that satisfies all known hard requirements, yet is resilient enough to adapt to poorly understood or unknown requirements; scalability, extensibility, portability, reusability are major concerns; decisions are based on satisfying immediate concerns, while also giving reasonable flexibility for future issues; incremental and evolutionary. Architecture Driven OO Dev
Architectural Driven (continued) • Architecture-driven development uses software process and technology to support an incremental and evolutionary approach to delivering solutions. This "release early and often" approach provides one of the best ways of managing risk in an environment where there is incomplete and changing understanding of the problem to be solved and the technology available to solve it. Architecture Driven OO Dev
System Development Views vocabulary functionality vocabulary functionality Design View Implementation View Use Case View behaviour Process View Deployment View distribution deliver installation performance scalability throughput Architecture Driven OO Dev
Topic Two • Details about this topic • Supporting information and examples • How it relates to your audience Architecture Driven OO Dev
Topic Three • Details about this topic • Supporting information and examples • How it relates to your audience Architecture Driven OO Dev
Real Life • Give an example or real life anecdote • Sympathize with the audience’s situation if appropriate Architecture Driven OO Dev
What This Means • Add a strong statement that summarizes how you feel or think about this topic • Summarize key points you want your audience to remember Architecture Driven OO Dev
Next Steps • Summarize any actions required of your audience • Summarize any follow up action items required of you Architecture Driven OO Dev