1 of 11

Architecture

Making Decisions About Software Structures

DB

STDIO Ghana

2 of 11

Goals

  • Begin your project with informed decisions
    • Data Storage
    • Data Access
    • Data Processing
    • User Interfacing

  • Make the building blocks modular
    • Easier to divide for a group
    • Easier to expand/reuse in the future

DB

STDIO Ghana

3 of 11

Considerations

  • Stakeholders
  • Separation of concerns
  • Quality
  • Style
  • Conceptual Integrity

DB

STDIO Ghana

4 of 11

Stakeholders

Who are your stakeholders?

Describe your project from each point of view.

DB

STDIO Ghana

5 of 11

Design Patterns (Style)

  • Client Server
  • Data Centric
  • Event Driven
  • Monolithic
  • Peer-to-Peer

DB

STDIO Ghana

6 of 11

Design Patterns

Which design pattern best suits your project?

Check out the book!

DB

STDIO Ghana

7 of 11

Process

  • Architectural Analysis
      • Planning
  • Architectural Synthesis
      • Execution
  • Architectural Evaluation
      • Requirements Met?
  • Architectural Evolution
      • Adapt in the future

DB

STDIO Ghana

8 of 11

Implications of the Hardware

  • PC
  • Mobile Platform
  • Supercomputer
  • Prototyping Device
    • Arduino
    • Raspberry Pi
    • FPGA

DB

STDIO Ghana

9 of 11

Implications of the Operating System

  • Windows

  • OS X

  • Linux

  • Custom

  • None

DB

STDIO Ghana

10 of 11

Implications of the Environment

  • Environment Variables
  • chroot
  • Account/Process Privileges

DB

STDIO Ghana

11 of 11

Implications

-

What hardware and OS will your team be using?

Will your program interact with other programs? Files? The system environment?

How will these factors affect how you design your product?

DB

STDIO Ghana