Похожие презентации:
Software. Architecture
1.
SoftwareArchitecture
Lecturer:
Smaiyl Assel Maralbayevna
2.
OutlineCourse Introduction
Course Structure
Use Cases
Risk Assessment
Risk mitigation
Software Architecture
2
3.
Software Architecture3
1.General introduction about the
course
4.
Coursedescription
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 expectfrom you?
Software Architecture
Full attendance;
Participation to the class discussions;
Interesting ideas;
Submission of assignments on time;
5
6.
Course PolicySoftware 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 ArchitectureGrading 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 andFeedback
Software Architecture
Feedback for lab works will be given during
defense
For other questions email me
([email protected])
8
9.
Course MaterialsSoftware 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 StructureWeek
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 ofassignments
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 SoftwareArchitecture
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 Candidatesfor Architecture
Software Architecture
Systems that require more architecting have:
A small solution space
A high failure risk
Difficult quality attributes
13
14.
Use CasesSoftware Architecture
15.
Topics and agendaSoftware Architecture
Discussion: Use Cases
Assignment 1: Use Case and prioritizing,
mitigating risks
Reading: chapter 1 - 5
15
16.
What is aUse Case?
Series of steps
Useful for:
Software Architecture
- Describing functionality
- Clarifying requirements
- Viewing system from user perspective
- Stimulating discussions
16
17.
Use CaseDiagrams
Software Architecture
17
Pictorial representation of a collection of tasks
and users
Focus on important, frequent, or complex tasks
18.
Example: Use CaseDiagram
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 ConceptsSoftware 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 TemplateSoftware 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 CaseSoftware 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 Assessmentand mitigation
Software Architecture
23.
Risk-Driven ModelSoftware Architecture
Identify and
prioritize
risks
Select &
apply a set of
techniques
Evaluate risk
reduction
23
24.
Identify RisksSoftware Architecture
24
How do you commonly identify risks when
starting a new project?
25.
Risk-Driven ModelIdentify and
prioritize
risks
Software Architecture
• System
requirements
• First-hand
experience
• Prototypical
risks
Select &
apply a set of
techniques
Evaluate risk
reduction
25
26.
Prioritize RisksSoftware Architecture
Wouldn’t it be safer to mitigate all risks
you identify, rather than prioritize them?
26
27.
Risk-Driven ModelSoftware 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 ModelSoftware Architecture
Identify and
prioritize
risks
Select &
apply a set of
techniques
Evaluate
risk
reduction
• Re-Assess
Risk
• Continuous
Process
28
29.
Software Architecture29
Thank you for your attention!