Week 10,11: Architecture and Process

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/55

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

56 Terms

1
New cards

What is Software Architecture?

The large-scale organization of elements in a software system, addressing structural elements, interfaces, collaboration, and composition.

2
New cards

What are the four main architectural decision concerns?

Structural elements, interfaces, collaboration, and composition of software components.

3
New cards

What is Architectural Analysis?

An activity to identify factors influencing the architecture, understand their variability and priority, and resolve them.

4
New cards

What makes a requirement 'architecturally significant'?

It has a large impact on design, potentially affecting system structure or requiring significant redesign if not addressed early.

5
New cards

Give two examples of architecturally significant functional requirements.

Auditing (providing audit trails) and Localization (supporting multiple languages).

6
New cards

Give two examples of architecturally significant non-functional requirements.

Reliability (availability, failover) and Performance (throughput, response time).

7
New cards

What are variation points in architecture?

Places where requirements may change or vary, necessitating flexible design to accommodate future changes.

8
New cards

What are evolution points?

Factors indicating how the system should evolve over time and support future extensions.

9
New cards

What are the common steps in Architectural Analysis?

1) Identify architectural factors; 2) Analyze alternatives and create solutions; 3) Record decisions.

10
New cards

What are the three priority categories in architectural decision-making?

Inflexible constraints, business goals, and other goals.

11
New cards

What is an Architectural Factor Table?

A table documenting factors, quality scenarios, variability, impact, priority, and difficulty/risk for architectural factors.

12
New cards

List the columns of an Architectural Factor Table.

Factor; Measures and Quality Scenarios; Variability; Impact; Priority; Difficulty/Risk.

13
New cards

What is a Technical Memo?

A document recording architectural issues, solution summaries, factors, motivations, unresolved issues, and alternatives considered.

14
New cards

List the sections of a Technical Memo.

Issue; Solution Summary; Factors; Solution; Motivation; Unresolved Issues; Alternatives Considered.

15
New cards

What is Logical Architecture?

The organization of software classes into packages, subsystems, and layers without deployment concerns.

16
New cards

Which UML diagram is used to illustrate Logical Architecture?

UML Package Diagram.

17
New cards

What are common layers in a layered architecture?

User Interface; Application Logic/Domain; Technical Services; Foundation.

18
New cards

What distinguishes strict from relaxed layered architecture?

Strict: layers only call directly lower layer; Relaxed: higher layers may call several lower layers.

19
New cards

Name three guidelines for layered architecture.

Maintain separation of concerns; dependencies only downward; avoid showing external resources as internal layers.

20
New cards

What is the purpose of a UML Component Diagram in architecture?

Provide a high-level implementation view showing components and external services.

21
New cards

How do SSD system operations map to layered architecture?

They represent calls from the UI layer to operations in the Application/Domain layer.

22
New cards

What are the benefits of layered architecture?

Reduces coupling, separates concerns, improves reuse, simplifies division of development work.

23
New cards

Why avoid placing external resources in the bottom layer of the logical architecture?

External resources are not part of the system and should not be mistaken for internal layers.

24
New cards

What is the goal of recording architectural decisions?

To capture rationale, alternatives, and unresolved issues for future reference and maintenance.

25
New cards

How does architectural analysis align with business goals?

By prioritizing high-impact requirements and focusing design effort on features critical to business success.

26
New cards

Who was the client in the Week 11 case study?

The Chauffeured Car Company, with about 30 drivers, whose core business was bookings and dispatch.

27
New cards

What distinguishes the Chauffeured Car Company’s business model from Uber?

They offer pre-booked guaranteed pickups at scheduled times (e.g., 5 pm), catering to busy or elderly clients, resulting in lower car utilization and premium pricing.

28
New cards

List the client-perceived issues with the existing system.

Slow or hung UI; reliance on paper/pen during outages; missing invoicing/reporting; lack of customer portal; unhelpful IT provider; high maintenance costs.

29
New cards

Describe the system's current architecture in the case study.

Thin client via Remote Desktop to Developer A's server; backend SQL Server; two front ends (V3 in VB6 and V5 in C#/.NET) sharing the same database.

30
New cards

Why did the company maintain two versions of the system?

V3 provided the familiar booking workflow; V5 rewrite lacked that workflow, so operators continued using V3 for bookings while using V5 for customer management.

31
New cards

What three main options were considered for system improvement?

1) Commercial off‑the‑shelf software; 2) Rebuild from scratch; 3) Modify the existing system.

32
New cards

Which option was selected and why?

Modify the existing system—easier business transition, control over software, and leverage existing functionality—given a willing developer was found.

33
New cards

What were the four stages of the planned system improvement?

Stage 1: Local thick client and merge V3 features into V5; Stage 2: Migrate SQL Server to AWS; Stage 3: Introduce pricing service and website; Stage 4: Add booking service and portal.

34
New cards

What were the key goals of Stage 1?

Eliminate VB6 dependency, consolidate V3 functionality in V5, run V5 locally to reduce UI lag and simplify maintenance.

35
New cards

What benefits did Stage 2 deliver?

Removed dependency on Developer A, increased reliability, scalability, redundancy, and reduced maintenance costs by migrating database to AWS.

36
New cards

What new component was added in Stage 3?

A centralized pricing service and website integration, replacing in-system pricing logic for reuse and customer transparency.

37
New cards

What did Stage 4 introduce?

A booking service and customer portal for online bookings, partitioning the database to separate booking data and enabling self‑service.

38
New cards

What architectural style emerged from the case study?

Service-based architecture, encapsulating business functions (pricing, booking) as reusable services.

39
New cards

Name two lessons learned from the case study.

Balance client perspective with technical analysis; plan incremental migration paths; design-driven options generation.

40
New cards

What is the Inception phase in the Unified Process?

An initial short phase to establish vision, scope, feasibility, analyze ~10% of use cases, identify key non‑functional requirements, and decide go/no‑go.

41
New cards

Name three artefacts produced during Inception.

Vision & Business Case; Use‑Case Model (with ~10% detailed); Supplementary Specification for critical non‑functional requirements.

42
New cards

What does the Supplementary Specification capture?

Non‑functional requirements (e.g., performance, reliability, security) that significantly influence the architecture.

43
New cards

What is the Elaboration phase?

A series of initial iterations to develop and test the core architecture, define ~80% of requirements, and mitigate high‑risk elements.

44
New cards

What is an executable architecture?

A working subset of the system demonstrating core structural and behavioral elements of the software architecture.

45
New cards

Explain 'Do the Right Thing' vs 'Do the Thing Right'.

'Do the Right Thing' refers to validating requirements; 'Do the Thing Right' refers to verifying the correctness of the design/implementation.

46
New cards

Why is early iteration important?

It surfaces inevitable changes early, stabilizes goals, and reduces the cost and risk of later modifications.

47
New cards

How should complex use cases be managed across iterations?

Break them into smaller scenarios or features and allocate each to successive iterations for progressive elaboration.

48
New cards

List three approaches to object design.

1) Code-first; 2) Draw UML then code; 3) Only draw and generate code (rare in practice).

49
New cards

What is Agile Modeling in UP?

Lightweight UML/static and dynamic modelling (class and interaction diagrams), hand-drawn or tool-assisted, done in short exercises near iteration start.

50
New cards

What distinguishes object design skill from UML notation skill?

Design skill focuses on responsibility assignment and patterns; notation skill ensures clear communication but is secondary.

51
New cards

When do modelling and design occur in the Unified Process?

During Inception and Elaboration phases, iteratively across development iterations before full construction.

52
New cards

Why keep modelling overhead minimal?

Models are communication tools capturing key decisions; excessive detail isn’t worth the effort.

53
New cards

What is a domain model?

A static UML class diagram representing conceptual classes, attributes, and associations in the problem domain.

54
New cards

What is a design sequence diagram?

A dynamic UML diagram showing message sequences and interactions among objects for a specific scenario.

55
New cards

What does a Technical Memo record?

Architectural issues, solution summaries, factors, motivations, unresolved issues, and alternatives considered.

56
New cards

How does the Unified Process differ from Waterfall?

It’s iterative and incremental; Inception isn’t final requirements gathering and design overlaps implementation in iterations.