Presentation is loading. Please wait.

Presentation is loading. Please wait.

Process 4 Hours.

Similar presentations


Presentation on theme: "Process 4 Hours."— Presentation transcript:

1 Process 4 Hours

2 Agenda Process First Principles The Macro Process The Micro Process

3 First Principles Traits of Successful Projects
Strong Architectural vision Iterative and Incremental lifecycle Architecture: Organization of System, its components along with its relationships (with each other and its environment) and principles guiding its design. Good Software Architecture Well-defined layers of abstraction Clear separation of concerns (interfaces and implementations) Simple (common behaviour is achieved through common abstractions and mechanisms)

4 Iterative and Incremental Lifecycle Well-defined problems.
Developed in series of releases. Modern software development methods (Extreme Programming and SCRUM). Agile and Plan Driven

5 Advantages of an iterative approach
Requirement changes Integration is progressive Risks are addressed early Tactical changes are possible Reuse is facilitated Defects can be found earlier Efficient project personnel employment Team members learn along the way Development process can be refined and improved

6 Toward a Rational Development Process
Many software development process are available (XP, SCRUM, RUP, etc.) Agile process: Deliver a system that meets their goals in shortest time. Plan driven: Apart from delivering system in time frame, define and validate software development process.

7 Agile Process Plan-driven Process
Lightweight and less ceremony Reliant on Knowledge of team members Tactical not Strategic (not for future) Customers participate in requirements Self-organizing and managing (team takes decisions) Not predetermined Heavyweight and more ceremony Reliant on well—documented processes Strategic not tactical (accommodate future changes) Agree upon a contract up front on what is to be built Managed and controlled (plans and milestones) Defined upfront and continuously improved

8 The Macro Process The Software Development Lifecycle
Overview Scope: From idea to first version of the system Subsequent versions – Another lifecycle of macro process. Primary product: stream of releases Secondary product: prototypes and documentations Serves as the controlling framework for the micro process. Represents the activities of the entire development team.

9 The macro software development process can be described in terms of:
Content Dimensions Time dimensions Requirements  Analysis and Design  Implementation  Test  Deployment. Project management, Configuration and Change management, Environment. Milestones and Phases Date and milestones Phases: Inception, Elaboration, Construction and Transition

10

11 Inception Elaboration
Purpose: Valuable and Feasible, Applicable for existing systems also. Activities: Core system requirements, agreement. Work Products: Initial risk list, prototypes, key architectural mechanisms. Milestone: Scope is understood. Purpose: Overall architecture framework Activities: Establish, Implement, Test and Refine framework. Work Products: Architecture document and manifestation of actual release. Milestone: Architecture is stable.

12 Construction Transition
Purpose: Discovery  Production Activities: Development based on architecture Work Products: Series of executable releases Milestone: System is ready for End-user testing Purpose: Ensure acceptability Activities: User evaluation (alpha and beta) Work Products: Support documentation, Training materials, etc. Milestone: System is ready to be deployed

13 Iterations Time spent in each disciplines varies depending on phase of iteration. Iteration is same across software development methods, durations varies.

14 Release Planning Purpose: Identify a controlled series of releases, each growing in functionality and finally achieving the whole system behaviour. First Step: Define the heartbeat of the project. Second Step: Prioritize the system requirements to be delivered. Third Step: Allocate requirements to iterations releases. Final Step: Identify detailed iteration plans. Release could internal or external, but final release would be external.

15 The Micro Process: The Analysis and Design Process
The micro process gets input (requirements) from macro process and produces design specifications (architecture). Micro process in terms of two dimensions: Levels of Abstraction and Content.

16 Levels of Abstraction Analysis takes system requirements and produces initial solution. Design takes the results of analysis and produces a specification for implementation. No. of levels is not known in prior and depends on the system under consideration.

17 Activities Identify the elements (Object-oriented decomposition)
Define the collaborations between the elements (How elements collaborate to produce system behaviour) Define the relationships between the elements Define the semantics of the elements (behaviour and attributes)

18 Products The architecture description describes the system architecture. The analysis/design model includes the analysis and design elements of the software product, their organizations and their realizations. Benefits: Central repository Global view of the project Model driven architecture- MDA (Separate analysis and design models)

19 The Micro Process and Levels of Abstraction
Architect  framework for evolving architectures Engineer  guidance in making tactical decisions Focus of micro process activities: When performing architectural analysis – initial version of the architecture During architectural design – refining the identified elements, responsibilities In component analysis – first approximation of the system components During component design – refine in terms of implementable classes

20 Identifying Elements Identify the key elements that will be describe the solution. Identification happens at different levels of abstraction. Product: Analysis/Design model with different elements. Steps: Discovery and Invention. Milestones and Measures: Elements identified at different levels of abstraction and a stable analysis/design model.

21 Defining Element Collaborations
Distribution of responsibilities. Products: realizations that show how identified elements collaborate to achieve a behaviour. Steps Behaviour Analysis  to understand how behaviour are realized by elements Pattern Scavenging  patterns that provides opportunity for reuse. Milestones and Measures: Fundamental behaviour is realized.

22 Defining Element Relationships
Define relationships among collaborating elements. Products: relationships at current level of abstraction. Steps Identification of associations Refinement of associations Milestones and Measures: Consistent relationships, Measures (Cohesion, coupling and completeness)

23 Detailing Element Semantics
Clarify the behaviour and attributes of each element at specific level of abstraction. Products: Refined analysis/design model that includes detailed semantics of the elements. Steps: Selection of structures and algorithms. Milestones and Measures: Complete understanding of the semantics, Measure (Simplicity)


Download ppt "Process 4 Hours."

Similar presentations


Ads by Google