본문 바로가기
728x90

소프트웨어 공학14

요구분석 SW개발의 목적 -개발된 SW의 고객 만족 -고객 만족을 위한 특성 -적시성: 빠른 출시를 통한 시장의 점유 -유연성: 다양한 환경에서의 적응성 -통합: 기존 시스템과의 쉬운 통합 -고객만족의 개발 조건 -고품질의 제품 개발 -정해진 기간 내에 개발 -주어진 예산내의 개발 요구사항 -사용자와 개발자 간에 합의(요구분석 명세)한 개발 범위에서 시스템이 제공해야 하는 기능 요구 분석 명세서 -개발 초기에 사용자의 요구사항(비기능 요구사항 포함)을 추출해 정리한 문서 요구분석 과정 사용자요구 파앆 -> 목표 수립 -> 모델링 -> 요구분석 명세서 요구분석 -SW요주 사항 정의를 위해 사용자의 요구 사항을 조사하고 확인하는 과정 -SW개발 생명주기의 첫 단계 -SW 개발 성패의 열쇠 현 상태 파악 -> 사용자 .. 2021. 5. 3.
디자인패턴 1. 자주 사용하는 설계 형태를 정형화 해 이를 유형별로 설계 템플릿을 만들어 둔 것 2. 많은 개발자들이 경험상 체득한 설계 지식을 검증하고 이를 추상화하여 일반화한 템플릿 3. 동일한 문제 유형에 대해서 그 해결 방법에 대한 지식이나 노하우가 패턴 형태로 충붕히 일반화 된것 장점: -개발자 간의 원활한 의사소통 -소프트웨어 구조 파악 용이 -재사용을 통한 개발 시간 단축 -설계 변경 오청에 대한 유연한 대처 단점 -객체지향 설계 / 구현 위주 -초기 투자 비용 부담 명세 형식 이름 패턴은 이름과 타입을 가짐. 패턴의 타입은 생성, 구조, 행위 패턴으로 나뉜다 배경, 문제 패턴이 적용되는 상황 또는 다루려는 문제를 간단히 설명 솔루션 패턴의 구조적인 설계나 행위적인 설계를 기술. UML의 클래스 다이어.. 2021. 4. 30.
소프트웨어 아키텍쳐 정의: 외부에서 인식할 수 있는 특성이 담김 소프트웨어의 기본구조 필요 요소: 1. 구성요소(모듈, 컴포넌트, 서비스, 객체 등) 2. 구성요소들 사이의 관계 3. 구성 요소들이 외부에 드러내는 속성 4. 구성 요소들과 주변 환경 사이의 관계 5. 구성 요소들이 제공하는 인터페이스 6. 구성 요서들의 협력 및 조립 방법 특징: 1. 개발할 소프트웨어에 대한 전체적인 구조를 다룬다 2. 소프트웨어를 이루고 있는 여러 구성요소(컴포넌트, 서브시스템)를 다룬다 3. 구성 요소들이 인터페이스를 통해서 어떻게 상호작용하는지를 정의해야 한다. 4. 세부 내용보다는 중요한 부분만을 다룬다 5. 시스템 설계와 개발 시 적용되는 원칙과 지침이 있어야 한다. 설계시 고려사항 1. 의사소통 도구로 활용할 수 있어야 한다. .. 2021. 4. 27.
상위 설계 분석 단계에서 파악한 비기능적 요구 사항과 제약 사항을 고려한다. How에 대한 관점을 가진다. 설계는 요구분석 명세서를 기반으로 어떻게 구축할 것인가를 결정한다. 설계자는 다양한 제약 조건을 만족시킬 수 있는 최적의 설계안을 만드는 것이 중요하다. 좋은 설계의 조건 1. 요구 분석 명세서의 내용을 설계서에 모두 포함해야 한다. 2. 유지보수가 용이하도록 추적이 가능해야 한다. 3. 변화에 쉽게 적응할 수 있어야 한다. 4. 시스템 변경으로 인한 영향이 최소화되도록 국지적이여야한다. 5. 설계서는 읽기 쉽고, 이해하기 쉽게 작성해야 한다. 설계의 종류 1. 상위 설계: 1.1 아키텍쳐 설계: 시스템 전체적인 구조 1.2 데이터 설계: 시스템에 필요한 정보를 자료주고와 데이터베이스 설계에 반영 1.3 인터.. 2021. 4. 27.
728x90