자격증/정보처리기사

소프트웨어 설계(1)

짱뚱짱 2025. 3. 25. 09:27

소프트웨어 공학의 기본 원칙

  • 현대적인 프로그래밍 기술을 계속적으로 적용해야 한다.
  • 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
  • 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.

폭포수모형

  • 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 다음 단계를 진행하는 개발 방법론이다.
  • 보헴이 제시한 고전적 생명 주기 모형이다.
  • 요구사항을 반영하기 어렵다.

나선형모형

  • 나선을 따라 돌듯이 점진적으로 완벽한 최종 소프트웨어를 개발하는 것이다.
  • '계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가' 과정이 반복적으로 수행된다.

애자일 모형의 주요 방법론

  • 스크럼(Scrum)
  • XP(eXtreme Programming)
  • 기능 중심 개발(FDD : Feature Driven Development)
  • 칸반(Kanban)
  • Lean

애자일 개발 4가지 핵심 가치

  • 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
  • 방대한 문서보다는 실행되는 SW에 더 가치를 둔다.
  • 계약 협상보다는 고객과 협업에 더 가치를 둔다.
  • 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.

XP의 핵심 가치

  • 의사소통(Communication)
  • 단순성(Simplicity)
  • 용기(Courage)
  • 존중(Respect)
  • 피드백(Feedback)

주요 비기능 요구사항

  • 성능 요구사항
  • 보안 요구사항
  • 품질 요구사항
  • 제약사항
  • 인터페이스 요구사항

요구사항개발 프로세스

요구사항 분석

  • 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미
  • 소프트웨어 개발의 실제적인 첫 단계
  • 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
  • 사용자의 요구를 정확하게 추출하여 목표를 정하고, 해결 방식을 결정

HIPO

  • 하향식 소프트웨어 개발을 위한 문서화 도구이다.
  • 기호, 도표 등을 사용하므로 보기 쉽고 이해하기도 쉽다.
  • 기능과 자료의 의존 관계를 동시에 표현할 수 있다.

UML

  • 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
  • 구성요소 : 사물(Things), 관계(Relationships), 다이어그램(Diagram)

자료 흐름도의 구성 요소

UML의 주요 관계

  • 일반화(Generalization) 관계 : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
  • 의존(Dependency) 관계 : 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
  • 실체화(Realization) 관계 : 사물이 할 수 있거나 해야 하는 기능으로 서로를 그룹화 할 수 있는 관계를 표현

자료 사전의 표기 기호

  • = : 정의
  • + : 연결
  • ( ) : 생략
  • [ | ] : 선택
  • { } : 반복
  • * * : 설명

구조적(Structural) 다이어그램의 종류

  • 클래스 다이어그램(Class Diagram)
  • 객체 다이어그램(Object Diagram)
  • 컴포넌트 다이어그램(Component Diagram)
  • 배치 다이어그램(Deployment Diagram)
  • 복합체 구조 다이어그램(Composite Structure Diagram)
  • 패키지 다이어그램(Package Diagram)

'자격증 > 정보처리기사' 카테고리의 다른 글

소프트웨어 개발(2)  (0) 2025.05.26
소프트웨어 개발(1)  (0) 2025.05.12
소프트웨어 설계(4)  (0) 2025.05.09
소프트웨어 설계(3)  (0) 2025.04.28
소프트웨어 설계(2)  (0) 2025.04.09