Software Development, Lab Reports of Software Development Methodologies

Thank you for watching this topic of SDA architecture

Typology: Lab Reports

2024/2025

Uploaded on 02/16/2025

astha-thapa-1
astha-thapa-1 🇸🇬

1 document

1 / 75

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Unit-1
Introduction to Software Design and Architecture
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b

Partial preview of the text

Download Software Development and more Lab Reports Software Development Methodologies in PDF only on Docsity!

Unit- 1

Introduction to Software Design and Architecture

Overview

1.1 Overview of software design and architecture 1.2 Design levels: Architectural vs. detailed design 1.3 Design principles (modularity, abstraction, separation of concerns) 1.4 The role of the software architect 1.5 Key design goals: Performance, scalability, maintainability 1.6 Relationship between software design and software architecture 1.7 Object Oriented Software Development: Unified Software Development Process.

Vitruvius - De architectura

  • Marcus Vitruvius Pollio (born c. 80-70 BC, died after c. 15 BC)
  • author of De Architectura , known today as The Ten Books on

Architecture

  • carefully described existing practices, not only in the design and

construction of buildings, but also in what are today thought of as

engineering disciplines

  • Vitruvius is famous for asserting that a structure must exhibit the

three qualities of firmitas, utilitas, venustas - that is, it must be strong

or durable, useful, and beautiful.

Roman house plan after Vitruvius

More Architectures

Taj Mahal

Build a Palace?

Build a Palace?

?

Software Development

  • Lists
  • Arrays
  • Class
  • Object
  • Procedures
  • Functions
  • Algorithms
  • Etc.

Large-Scale, Complex software Systems…

  • Large(Distributed) system
  • Many people working on the

same problem

  • Overly Complex
  • Millions of Code…
  • Should be delivered on time and

within budget!

Adding More Programmers… ??

Mythical Man-Month

  • Fred Brooks, The Mythical Man-Month( 1975 )
  • “Adding manpower to a late software project makes it later.”
  • Conceptual Integrity
    • To make a user-friendly system, the system must have conceptual integrity, which can only be achieved by separating architecture from implementation.
    • A single chief architect... decides what goes in the system and what stays out.
    • "Having a system architect is the most important single step toward conceptual integrity...after teaching a software engineering laboratory more than 20 times, I came to insist that student teams as small as four people choose a manager, and a separate architect."

The Architect…

Structure Matters - Dijkstra 1968

  • Dijkstra, 1968
    • "...Correct arrangement of the structure of software systems before simple programming..."
  • Layered Structure
    • Programs are grouped into layers
    • Programs in one layer can only communicate with programs in adjoining layers
  • With easier development and maintenance Focused on Structure of Programming Edsger W. Djikstra 1930 - 2002 A.D.