소프트웨어 시스템의 전체 구조를 설계하는 과정. 주요 구성 요소와 그 구성 요소 간의 관계를 식별. 초기 단계에서 전체 시스템 아키텍처 설계를 완료해야 함. 점진적인 아키텍처 개발은 실패 가능성이 높음. 아키텍처 리팩터링은 고비용이 발생.The architecture
설계와 구현은 밀접하게 연결되며, 종종 병행하여 진행. 상용 패키지를 구매해 재사용하고, 패키지를 요구사항에 맞게 구성하는 데 집중.Agile 방법론을 사용할 때에는 비공식 스케치를 사용하고, 설계 결정을 프로그래머에게 맡김.소프트웨어 재사용, 구성 관리, 오픈소스 개
서론 테스트의 목적 프로그램이 의도된 기능을 수행하는지 확인 요구사항에 따라 테스트 케이스를 작성하고 실행. Validation Testing: 시스템이 예상대로 동작하는지 확인. 정상적인 입력 → 예상된 출력 확인. 프로그램 결함(버그)을 발견 입력 또는 입력 순서를 통해 오류, 비정상 동작 탐색. Defect T...
소프트웨어 시스템 수명: 대형 소프트웨어 시스템은 긴 수명을 가짐. 예: 군사 및 인프라 시스템 (항공 교통 관제 시스템) 30년 이상, 비즈니스 시스템 10년 이상.운영 소프트웨어의 진화: 시스템은 비즈니스 변화, 사용자 기대 변화에 따라 진화해야 함. 오류 수정,
정의: 신뢰성, 가용성, 안전성, 보안을 포함.의미: 시스템이 예상대로 작동하고 정상 사용에서 실패하지 않는 정도.중요성:시스템 실패는 모든 사용자에게 영향.불안정한 시스템 → 사용자 거부 및 기업 신뢰도 하락.시스템 실패 비용은 매우 큼 (예: 항공기, 원자로 제어
Human Error (인적 오류): 개발자의 실수로 인해 시스템에 결함(fault)이 도입됨. 예: 시간 계산 코드에서 23.00 이후 1시간을 더하는 실수로 인해 문제가 발생.System Fault (시스템 결함): 소프트웨어가 오류 상태(error)를 유발할