1.50M
Category: softwaresoftware

Software. Architecture

1.

Software
Architecture
Lecturer:
Smaiyl Assel Maralbayevna

2.

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

3.

Software Architecture
3
1.General introduction about the
course

4.

Course
description
Software Architecture
4
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.

5.

What do I expect
from you?
Software Architecture
Full attendance;
Participation to the class discussions;
Interesting ideas;
Submission of assignments on time;
5

6.

Course Policy
Software Architecture
6
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.

7.

Software Architecture
Grading policy
1 attestation
7
2 attestation
Laboratory works:
1 assignment,
2 assignment,
3 assignment,
4 assignment
40
10
10
10
10
Laboratory works:
5 assignment,
6 assignment,
7 assignment,
8 assignment
40
10
10
10
10
Quizzes:
1 quiz,
2 quiz
20
10
10
Quizzes:
3 quiz,
4 quiz
20
10
10
Midterm Exam
40
Endterm Exam
40

8.

Learning and
Feedback
Software Architecture
Feedback for lab works will be given during
defense
For other questions email me
([email protected])
8

9.

Course Materials
Software Architecture
9
Lecture notes (moodle.astanait.edu.kz)
Just Enough Software Architecture: A RiskDriven Approach by George Fairbanks,Marshall
& Brainerd Publishers, 2010
IBM’s online reference, IBM Developer Works
Article on Introduction to UML
Online journals and articles

10.

Course Structure
Week
No
Course Topic
Software Architecture
Week
No
10
Course Topic
1
Course introduction.
a. Course Structure;
b. Use Cases;
c. Risk Assessment;
d. Risk mitigation
6
Creating the Model
a.UML Basics
b.Scenarious and Sequence diagrams
c.UML Component Diagram
2
Architecture Basics
a. Software Architecture
b. Software Abstractions
7
UML Class Diagrams
a.Class Diagrams
b.Design Patterns
c.Classification of patterns
3
Architectural Modeling
a. Domain Models
b. Informational Model
c. Design Model
d. Context Diagrams
e. Design Decisions
8
Architectural Styles
a.Model-centered style
b.Layered Style
c.Refining Architectural Models
d.Anti-patterns and creating quality diagrams
4
Decomposition, Encapsulation and
Modeling Elements
9
Using Architectural Models
a.Modeling Dependencies
b.Humans as Analysts
c.Architecture-based performance analysis
5
Modeling Elements
Midterm Exam
10
Course Reflection and Problem Solving
Session
EndTerm Exam

11.

List of
assignments
Software Architecture
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
11

12.

What is Software
Architecture
Software Architecture
The set of structures needed to reason
about the system, which comprise:
• Software elements
• Relations among them
• Properties of both
12

13.

Ideal Candidates
for Architecture
Software Architecture
Systems that require more architecting have:
A small solution space
A high failure risk
Difficult quality attributes
13

14.

Use Cases
Software Architecture

15.

Topics and agenda
Software Architecture
Discussion: Use Cases
Assignment 1: Use Case and prioritizing,
mitigating risks
Reading: chapter 1 - 5
15

16.

What is a
Use Case?
Series of steps
Useful for:
Software Architecture
- Describing functionality
- Clarifying requirements
- Viewing system from user perspective
- Stimulating discussions
16

17.

Use Case
Diagrams
Software Architecture
17
Pictorial representation of a collection of tasks
and users
Focus on important, frequent, or complex tasks

18.

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
18

19.

Use Case Concepts
Software Architecture
19
Action
A computation or algorithmic
procedure that is invoked when
the system is acted upon
Sequence of actions
A specific flow of actions to
accomplish a task
What the system does to perform
the desired action
Developing use cases helps
determine what is in and what is
out
System performs
Observable result of value
A particular actor
Group actions so that the user
gets something of value from the
use case
Focus on needs of one actor at a
time

20.

Use Case Template
Software Architecture
20
Use Case ID
An identifier
Description
Goal to be achieved, requirements it is
addressing
Actors
List of actors involved in the use case
Assumptions
Conditions that must be true for the
use case to terminate successfully
Steps
List of interactions between the actors
and the system to accomplish the task
Variations (optional)
Allowed variations in the steps of the
use case
Quality Concerns (optional)
List of all quality requirements that
must be met
Issues
List of open issues

21.

Example Use Case
Software Architecture
21
Use Case ID
Using UseCase Template, V 1.0
Description
This is simply an example of a Use Case
created from the Use Case template
Actors
Professor, Students, Teaching Assistants
Assumptions
Reader has an interest in Use Cases and would
like to learn how to use the Use Case Template
Steps
1. Open example use case
2. Study the entries
3. Ask professor questions
4. Create own use case
Variations (optional)
Quality Concerns (optional)
Issues
Success end: Reader understands the use
case template.
Failed end: Reader is uncertain how to use
the template and must repeat Steps 2-3
before doing Step 4.
Security Concerns: None
Logging: None
Performance Concerns: Slow readers will take
longer to read the template example.

22.

Risk Assessment
and mitigation
Software Architecture

23.

Risk-Driven Model
Software Architecture
Identify and
prioritize
risks
Select &
apply a set of
techniques
Evaluate risk
reduction
23

24.

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

25.

Risk-Driven Model
Identify and
prioritize
risks
Software Architecture
• System
requirements
• First-hand
experience
• Prototypical
risks
Select &
apply a set of
techniques
Evaluate risk
reduction
25

26.

Prioritize Risks
Software Architecture
Wouldn’t it be safer to mitigate all risks
you identify, rather than prioritize them?
26

27.

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
27

28.

Risk-Driven Model
Software Architecture
Identify and
prioritize
risks
Select &
apply a set of
techniques
Evaluate
risk
reduction
• Re-Assess
Risk
• Continuous
Process
28

29.

Software Architecture
29
Thank you for your attention!
English     Русский Rules