iut-cse / course-content--software-design-and-architecture

Content and Discussion about Software Design and Architecture Course at IUT
MIT License
0 stars 0 forks source link

Brainstorming - Topics to Include #1

Open mohayemin opened 4 years ago

mohayemin commented 4 years ago

This is a special issue to discuss what topics should be included in the course. This issue will be closed when the topics are somewhat stable. After that, if a new topic needs to be included, a separate issue will be created.

To suggest a topic, please comment on this issue. The author will update this content with your suggestion. Please also mention some reference material, prerequisites, and other related things if possible.

Suggested Topics

  1. Intro
    1. What is engineering design and architecture
    2. What is software design and architecture
  2. Object-Oriented Analysis and Design
    1. UML Diagrams
    2. Encapsulation, composition, Generalization, Abstraction
    3. Design principles like SOLID, DRY, ACID
  3. Software Architecture Concepts
    1. n-Tier architecture
    2. MVC, Domain-Driven Design
    3. Coupling and Cohesion
    4. Monolithic and microservices
    5. ORMs
  4. Database Design and Architecture Concepts
    1. CQRS
    2. Event Sourcing
    3. Normalization and Denormalization
    4. Evolutionary Database Design
    5. Add more RDBMS topics
    6. Add more NoSQL topics
  5. Release and Deployment Architectures
    1. TODO: Add items
  6. Authentication Architectures
    1. Session-based authentication
    2. Token-based authentication
  7. Misc.
    1. REST, SOAP, Web services
    2. GraphQL
    3. Client-server model
    4. HTTP and web
    5. Peer-to-peer
    6. Serverless architecture
farhan129 commented 4 years ago

Suggested Topics

  1. Object-Oriented Analysis and Design

    • UML Diagrams
    • Encapsulation, composition, Generalization, Abstraction
    • Design principles like SOLID, DRY, ACID
  2. Software Architecture Concepts

    • n-Tier architecture
    • MVC, Domain-Driven Design
    • Coupling and Cohesion
    • Monolithic and microservices
    • ORMs
  3. Misc.

    • REST, SOAP, Web services
    • Client-server model
    • HTTP and web
    • Peer-to-peer
    • Serverless architecture
farhan129 commented 4 years ago

Helpful Resources

  1. https://khalilstemmler.com/articles/software-design-architecture/full-stack-software-design/
  2. https://martinfowler.com/architecture/
  3. https://www.coursera.org/specializations/software-design-architecture
  4. https://www.udacity.com/course/software-architecture-design--ud821
  5. https://www.youtube.com/watch?v=S8M2XGviyGg&list=PLAwxTw4SYaPkMTetlG7xKWaI5ZAZFX8fL
farhan129 commented 4 years ago
software design and architecture