
2주차 온라인 강의 요약소프트웨어를 개발, 운영 및 유지보수소프트웨어 위기의 원인규모 및 복잡도 증가 유지보수 어려움예측의 어려움요구사항 변경소프트웨어 개발 프로세스 이미 개발된 프로젝트, 더 좋은 품질의 소프트웨어를 만들기위해 기록된 문서를 통해 지식을 습득프로세스어

초기에 발견하고 문제를 빠르게 해결하여 안정적인 코드 상태를 유지CI로 통합된 코드를 실제 운영 환경에 자동으로 배포하는 프로세스모든 변경사항이 자동으로 운영환경에 배포 사용자에게 최신 기능을 빠르게 배포자동화로 인한 효율성 향상빠른 피드백 루프 품질 개선배포 속도 증

많은 오류가 발생할 수 있는 단계 => 요구분석 단계요구 분석 작업1\. 도메인 분석2\. 요구 추출3\. 요구 분석 및 정의(명세화)4\. 요구 확인요구의 배경,소프트웨어를 사용할 것으로 예상되는 고객이 말하는 분야의 비즈니스나 기술도메인 개념 찾기해당 분야의 핵심

시스템 개발을 위한 시각적인 설계 표기법객체지향시스템 개발 시 산출물을 명세화, 시각화, 문서화하는데 사용개발하는 시스템을 이해하기 쉬운 형태로 표현분석가, 설계자, 의뢰인이 효율적으로 의사소통할 수 있게 해줌시각화 언어소프트웨어의 개념 모델을 시각적인 형태로 표현이를

클래스공통의 속성, 메서드(오퍼레이션), 관계, 의미를 공유하는 객체 집합에 대한 기술클래스의 속성클래스가 가진 데이터클래스의 구조적 특성에 이름을 붙인 것으로, 인스턴스가 보유할 수 있는 값을 범위를 기술클래스의 메서드클래스가 수행할 수 있는 작업을 정의오퍼레이션이름

요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수클래스 다이어그램 그리기시나리오에서 자주 등장하고 중요한 명사를 중심으로 엔티티 추출속성, 메서드 추가구조 구성 - 클래스 간 관계 추출예) user -> Reservation: 1:N시나리오 읽기: 명사(객

모듈화독립적인 기능이 있는 논리적 묶음(조각)에 해당하는 모듈로 소프트웨어 시스템을 구성하는 접근 방식변경사항 반영의 편의성재사용 가능성 향상소프트웨어 모듈에는 독립적인 기능이 있기 때문에 추후 다른 소프트웨어 개발에서 쉽게 재사용될 수 있음추적성 증진기능 개선이나 변

시스템의 전체적인 구조를 정의하는 중요한 개념좋은 아키텍처 설계소프트웨어의 품질, 유지보수성, 확정성을 결정하는 핵심요소시스템의 전체적인 구조 정의시스템으 ㄹ구성하는 주요 부분(컴포넌트)과 그 부분들이 어떻게 상호작용하는지를 정의ex) 웹기반 시스템에서는 클라이언트와

포트와 어댑터 아키텍처, 내부의 도메인 비지니스 로직이 외부 요소에 의존하지 않도록 설계된 아키텍처핵심 비지니스 로직 중심으로 배치하고 외부 시스템과의 상호작용은 포트와 어댑터를 통해 이루어짐포트외부 영역과 내부 영역 사이의 연결을 추상화한 인터페이스도메인 로직과 외부

소프트웨어 개발의 인간 중심의 활동이며 지적 활동오류가 발생하기 쉬운 활동결합을 낮추는 방법방지인스펙션, 정적 분석식별과 제거테스트, 디버깅시험할 소프트웨어에 테스트 케이스를 주어 실행시킨 후 시스템 동작이 예상대로 실행되는지 확인하는 것접근법블랙박스 테스트구현을 고려

조직 테스트 프로세스조직 레벨의 테스트 정책과 전략을 수립하는 프로세스테스트 정책과 테스트 전략을 수립테스트 관리 프로세스테스트 관리를 위한 프로세스테스트 계획에 따라 테스트가 수행되는지를 모니터링하고 문제가 발생하면 이에 대한 대책을 수립하여 대응하기위한 프로세스테스