A Development Process Lecture Oo13 Objectory based method
References n Ambler, S., The Object Primer, Cambridge Univ. Press, 2001, Section , 10.9
Teaching Points n Macro Process n Micro Process n Work Products
Review n What are packages? n Can a class appear in more than one package? n What is a software engineering method?
The Method n Process (Macro/Micro) n Notation (UML) n Tool (Rational Rose)
Macro Process Based on Objectory process: n Establish business rational and scope (Inception) n High level requirements analysis, architectural design (Elaboration) n Evolve the implementation (Construction) n Performance tuning, user training, beta test (Transition)
Micro Process n Identify the classes and objects at a given level of abstraction n Identify the semantics of these classes and objects n Identify the relationships among these classes and objects n Specify the interface and then the implementation of these classes and objects
Iteration n The process of elaboration/construction is a repetitive application of the micro process
Inception (Purpose) n Establish roughly how much it will cost and what the benefit will be. n Establish a vision for the system and validate its assumptions n Initial analysis to get sense of the project’s scope
Inception (Products) n Preliminary business case n Initial Use Case diagrams
Elaboration (Purpose) Domain Analysis n Provide a description of the problem n Elaboration focuses on behavior, not form NOT an exhaustive understanding of the system=s behavior. –It is sufficient to accomplish an Elaboration of all the primary behaviors of the system, with some secondary behaviors considered as well to ensure that no essential patterns of behavior are missed.
Elaboration (Products) Domain Analysis n Use Case Diagrams n Object interaction diagrams to denote each use case. n Class diagrams to show associations among object classes n Rudimentary class specifications STD=s
Elaboration (Purpose) Architecture and planning n To create an architecture for the evolving implementation n To establish common tactical policies that must be used by disparate elements of the system –localized mechanisms that appear throughout the system (eg. Error detection/handling, memory management, data storage management, approaches to control, domain specific tactics, etc.)
Elaboration (Products) Architecture and planning n Class/Package diagrams n Executable release plan n Executable release prototype
Construction (Purpose) n To grow and change the implementation through successive refinement, ultimately leading to the production system
Construction (Products) n A stream of executable releases representing successive refinement to the initial architectural release. n Releases every 6-8 weeks, depending on complexity. –Who gets an executable release? n Behavioral prototypes n Evolving system documentation
Transition (Purpose) n No new development to add functionality n There is development to correct faults found n Product tuning n Optimization
Transition (Products) n Maintain Analysis/Design documentation
Maintenance (Purpose) n Is the activity of managing post delivery construction n Similar to construction phase, but: –Architectural innovation is less of an issue. –Localized changes are made as new requirements are added and lingering bugs fixed.
Maintenance (Products) n Similar to construction
Teaching Points n Macro Process n Micro Process n Work Products