Software. Architecture

Содержание

Слайд 2

Outline Course Introduction Course Structure Use Cases Risk Assessment Risk mitigation Software Architecture

Outline

Course Introduction
Course Structure
Use Cases
Risk Assessment
Risk mitigation

Software Architecture

Слайд 3

1.General introduction about the course Software Architecture

1.General introduction about the course

Software Architecture

Слайд 4

Course description This course introduces students to large systems and how

Course description

This course introduces students to large systems and how they

are partitioned into subsystems and components, as well as how the structuring of these elements into a solution and the interfaces used to join them together facilitates communication and control.
Learning-by-doing activities include individual and small group tasks, completed in a situated, context-rich environment that authentically mirrors the workplace.

Software Architecture

Слайд 5

What do I expect from you? Full attendance; Participation to the

What do I expect from you?

Full attendance;
Participation to the class discussions;
Interesting

ideas;
Submission of assignments on time;

Software Architecture

Слайд 6

Course Policy Students are forbidden to: submit any tasks after the

Course Policy

Students are forbidden to:
submit any tasks after the deadline.

Failure to pass assignments in on time will result in 0% for the assignment.
cheat. Plagiarized papers shall not be graded (ZERO);
be late for classes. students who come late to class for more than 5 minutes are not allowed to get in to class and consequently, they will be marked as “absent” for the specific hour.
Students should always
show consideration for and mutual support of teachers and other students;
must participate in at least 80% of all class time, otherwise he/she fails the course;
let the teacher know of any problems arising in connection with their studies
Attestation I and II: Students with score less than 25% for Attestation period I or Attestation period II (RK1/RK2) are automatically failed and should take the course again.

Software Architecture

Слайд 7

Grading policy Software Architecture

Grading policy

Software Architecture

Слайд 8

Learning and Feedback Feedback for lab works will be given during

Learning and Feedback

Feedback for lab works will be given during defense


For other questions email me (assel.smaiyl@astanait.edu.kz)

Software Architecture

Слайд 9

Course Materials Lecture notes (moodle.astanait.edu.kz) Just Enough Software Architecture: A Risk-Driven

Course Materials

Lecture notes (moodle.astanait.edu.kz)
Just Enough Software Architecture: A Risk-Driven Approach by

George Fairbanks,Marshall & Brainerd Publishers, 2010
IBM’s online reference, IBM Developer Works Article on Introduction to UML
Online journals and articles

Software Architecture

Слайд 10

Course Structure Software Architecture

Course Structure

Software Architecture

Слайд 11

List of assignments Assignment 1. Use Case and prioritizing, mitigating risks.

List of assignments

Assignment 1. Use Case and prioritizing, mitigating risks. Reading:

chapter 1-5;
Assignment 2. Project Risk Assessment and analyze architecture diagrams. Reading: chapter 6-8;
Assignment 3. Initial Design. Reading: chapter 9-13;
Assignment 4. Create an Effective Encapsulation. Reading: chapter 14;
Assignment 5. Consolidating the Model and Diagramming the Components. Reading: chapter 15;
Assignment 6. Creating Model. Reading: chapter 15;
Assignment 7. Patterns and Styles. Reading: chapter 15;
Assignment 8. Using the Architecture

Software Architecture

Слайд 12

What is Software Architecture The set of structures needed to reason

What is Software Architecture

The set of structures needed to reason about

the system, which comprise:
Software elements
Relations among them
Properties of both

Software Architecture

Слайд 13

Ideal Candidates for Architecture Systems that require more architecting have: A

Ideal Candidates for Architecture

Systems that require more architecting have:
A small

solution space
A high failure risk
Difficult quality attributes

Software Architecture

Слайд 14

Use Cases Software Architecture

Use Cases

Software Architecture

Слайд 15

Topics and agenda Discussion: Use Cases Assignment 1: Use Case and

Topics and agenda

Discussion: Use Cases
Assignment 1: Use Case and prioritizing, mitigating

risks
Reading: chapter 1 - 5

Software Architecture

Слайд 16

What is a Use Case? Series of steps Useful for: -

What is a Use Case?

Series of steps
Useful for:
- Describing functionality
- Clarifying

requirements
- Viewing system from user perspective
- Stimulating discussions

Software Architecture

Слайд 17

Use Case Diagrams Pictorial representation of a collection of tasks and

Use Case Diagrams

Pictorial representation of a collection of tasks and users
Focus

on important, frequent, or complex tasks

Software Architecture

Слайд 18

Example: Use Case Diagram Give an overview of how the system

Example: Use Case Diagram

Give an overview of how the system should

interact with entities outside of the system
Describes expectations
Visually represents interactions with the system environment
Each oval in a use case diagram has a use case written up that describes it in more detail

Software Architecture

Слайд 19

Use Case Concepts Software Architecture

Use Case Concepts

Software Architecture

Слайд 20

Use Case Template Software Architecture

Use Case Template

Software Architecture

Слайд 21

Example Use Case Software Architecture

Example Use Case

Software Architecture

Слайд 22

Risk Assessment and mitigation Software Architecture

Risk Assessment and mitigation

Software Architecture

Слайд 23

Risk-Driven Model Software Architecture

Risk-Driven Model

Software Architecture

Слайд 24

Identify Risks How do you commonly identify risks when starting a new project? Software Architecture

Identify Risks

How do you commonly identify risks when starting a new

project?

Software Architecture

Слайд 25

Risk-Driven Model Software Architecture Identify and prioritize risks System requirements First-hand

Risk-Driven Model

Software Architecture

Identify and prioritize risks
System requirements
First-hand experience
Prototypical risks
Select & apply

a set of techniques
Evaluate risk reduction
Слайд 26

Prioritize Risks Wouldn’t it be safer to mitigate all risks you

Prioritize Risks

Wouldn’t it be safer to mitigate all risks you identify,

rather than prioritize them?

Software Architecture

Слайд 27

Risk-Driven Model Software Architecture Identify and prioritize risks Select & apply

Risk-Driven Model

Software Architecture

Identify and prioritize risks
Select & apply a set of

techniques
Problem solving
Analytic models
Analogic models
Viewtype Matching
Techniques with Affinities
Evaluate risk reduction
Слайд 28

Risk-Driven Model Software Architecture Identify and prioritize risks Select & apply

Risk-Driven Model

Software Architecture

Identify and prioritize risks
Select & apply a set of

techniques
Evaluate risk reduction
Re-Assess Risk
Continuous Process