Download presentation
Presentation is loading. Please wait.
Published byAlexia Welch Modified over 9 years ago
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.