Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.

Similar presentations


Presentation on theme: "CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown."— Presentation transcript:

1 CSPC 464 Fall 2014 Son Nguyen

2 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown 3. An Introduction to Software Architecture, David Garlan and Mary Shaw 4. Software Architecture, A. Bijlsma, B.J. Heerendr., E.E> Roubtovair, S. Stuurman 2

3  Attendance/Roster  Review Tuesday’s topics  Today’s topics: Process of Architecting ◦ Method Content  Work products  Tasks  Roles ◦ Types of Process  Waterfall  Iterative  Agile

4  What is an architecture?  What is software architecture?  What is the role of the architect?  What is architecting?

5 5

6  Use SW and Systems Process Engineering Metal Model Specification (SPEM) standard  An effective SW development method should describe who does what, how, and when ◦ Roles: The Who ◦ Work products: The What ◦ Tasks: The How ◦ Phases, iterations, and activities: The When

7

8  A SW development project typically moves through several phases  Each phase is divided into several iterations  Within each iteration, there are various activities that reference ◦ Tasks  performed by roles  Produces work product

9  Defines the responsibilities of an individual or a set of individuals working together as a team  Responsible for one or more work products and performs a set of tasks ◦ Requirement Analyst ◦ Project manager ◦ Lead architect ◦ Application architect ◦ Infrastructure architect ◦ Data Architect

10  A piece of information or physical entity that is produced/used during execution of the process  The SPEM defines three types: ◦ Artifact: document, model, source code, executable ◦ Deliverable: content packaged for delivery to a stakeholder ◦ Outcome: a result or state as the result of task execution

11  An activity represents a group of tasks  The architect performs tasks within the activities: creating logical architecture (chapter 8) and creating physical architecture (chapter 9)  A task is a unit of work that provides a meaningful result ◦ Has a clear purpose (e.g., document architecture decisions) ◦ Performed by appropriate roles ◦ May be repeated several times, especially when an iterative development approach is taken

12

13  The application of the method content in terms of sequence in which they are applied  Three types of process: ◦ Waterfall ◦ Iterative ◦ Agile

14  Each discipline is deemed to be complete when all the appropriate work products for that discipline have been created and signed off on  The requirements discipline considered to be complete when all the requirements have been identified in detail, and reviewed. Then the outputs from requirements flows into the architecture discipline

15 15 Requirements Design Code & Unit Test Integration Test (Validation & Verification) Maintenance

16  This approach is widely used in: ◦ the development of a system involves a relative small amount of risk ◦ projects represent minor enhancements of an existing system  This approach can be problematic for ◦ Greenfield projects where architect starts from a scratch ◦ Projects are changing extensively for several reasons.

17  Major Problems: ◦ Project progress cannot be measured accurately  Focus on creation of work products, not achievement of results  Completing requirements without doing any architecture, development, or testing will NOT give you an accurate indication of how long project would take ◦ User feedback cannot obtained until late in the project – when the system is available for use ◦ Resolution of certain risks (e.g., activity identifies flaws in design or requirements) is deferred until late in the project – after the system is built, integrated, and tested ◦ Project that follow a waterfall approach are prone to schedule slippage

18  Iteration: ◦ A short and set duration of a project ◦ Allow to demonstrate incremental value ◦ Obtain early and continuous feedback  A pass is made through each of disciplines  Each iteration results in ◦ Better understanding of requirements ◦ A more robust architecture ◦ A more experienced development org ◦ A more complete implementation  More productive and successful

19  Phases – OpenUP defines four sequential phases: ◦ Inception Phase:  Where the business case and objectives for project is established  Where the focus is on ensuring project is valuable and feasible ◦ Elaboration phase:  Where the architecture is established  Where the architect expends the most effort ◦ Construction Phase:  Where the remaining requirements are clarified  Where development of the system is completed on the baselined architecture ◦ Transition Phase:  Where the system is deployed in user’s environment for acceptance testing  Where project should be to closed out by the end

20  Phases and iterations together provide foundation for an iterative development process  Objectives of each phase are achieved by executing one or more iterations within the phase  Each phase concludes with a major milestone  Successful assessment allows the project to move to the next phase

21  An iterative development process is result- driven (vs. work-product driven), providing more accurate measures of project progress  An iterative approach: ◦ allows early user feedback through execution of incremental releases ◦ Integration and testing occur within each iteration and executable release is produced ◦ Risks are detected early on

22  Agile Manifesto (2009) states the following values: ◦ Individuals and interactions over processes and tools. ◦ Working software over comprehensive documentation. ◦ Customer collaboration over contract negotiation. ◦ Responding to change over following a plan.  Scrum is a management and control process that cuts through complexity to focus on building software to meet business needs. Scrum is superimposed on top of and wraps existing engineering practices, development methodologies and standards. [Schwaber 2002]

23  Scrum focuses on: ◦ Content of an iteration (Sprint) ◦ Prioritized requirements to be considered in iteration (Sprint Backlog) ◦ A Short daily meeting (a Scrum)  Scrum methodology will be discussed in more detail later in Oct 9 lecture

24  Next week, we will take a look at ◦ Elements of Software Architecture ◦ Architectural Design Process  Homework assignments this week – read chapter 1, 2, and 3 in The Process of Software Architecting  Any questions? 24


Download ppt "CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown."

Similar presentations


Ads by Google