1. 디자인 패턴 Design Pattern의 개요각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미디자인 패턴 구성 : 문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플 코드 등개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고하여 적용하는 것이 더 효율적한 패턴에 변형을 가하거나 특정 요구사항을 반영하면 유사한 형태의 다른 패턴으로 변화되는 특징이 있음GoF의 디자인 패턴수많은 디자인 패턴들 중 가장 일반적인 사례에 적용될 수 있는 패턴들을 분류하여 정리유형에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개로 구성2. 디자..
1. 코드의 개요컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게하고 특정 자료의 추출을 쉽게 하기 위해서 사용하는 기호정보를 신속, 정확, 명료하게 전달할 수 있게 함일정한 규칙에 따라 작성되며, 정보 처리의 효율과 처리된 정보의 가치에 많은 영향을 미침코드의 주요 기능식별 기능 : 데이터 간의 성격에 따라 구분이 가능분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터 그룹화 가능배열 기능 : 의미를 부여하여 나열 가능표준화 기능 : 다양한 데이터를 기준에 맞추어 표현할 수 있음간소화 기능 : 복잡한 데이터 간소화 가능2. 코드의 종류순차 코드 Sequence Code : 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련 번호를 부여하는 ..
1. 공통 모듈의 개요여러 프로그램에서 공통적으로 사용할 수 있는 모듈자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있음모듈의 재사용성 확보, 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있음공통 모듈 구현의 명세 기법정확성 Correctness : 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성명확성 Clarity : 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성완전성 Completeness : 시스템 구현을 위해 필요한 모든 것을 기술일관성 Consistency : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성추적성 Traceability : 기능에 대한 요구사항의 출처, 관련 ..
1. 모듈의 개요모듈화를 통해 분리된 시스템의 각 기능들 = 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등단독으로 컴파일이 가능, 재사용 가능모듈의 기능적 독립성 : 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것, 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로써 이루어짐독립성이 높은 모듈일수록 모듈을 수정하더라도 다른 모듈들에게는 거의 영향을 미치지 않음, 오류가 발생해도 쉽게 발견하고 해결할 수 있2. 결합도 Coupling모듈 간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계다양한 결합으로 모듈을 구성할 수 있음결합도가 약할수록 품질이 높고, 강할수록 품질이 낮음결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움결합도의 종류 :..
1. 객체지향 분석의 개념사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업소프트웨어 개발을 위한 비즈니스를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석분석가에게 중요한 모델링 구성 요소(클래스, 객체, 속성, 연산)를 표현해서 문제를 모형화할 수 있게 해줌객체는 클래스로부터 인스턴트화되고, 이 클래스를 식별하는 것이 객체지향 분석의 주요한 목적2. 객체지향 분석의 방법론Rumbaugh 럼바우 방법 : 가장 일반적으로 사용되는 방법, 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법Booch 부치 방법 : 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법, ..
1과목. 소프트웨어 설계1장. 요구사항 확인SECTION 001. 소프트웨어 생명주기 001. 소프트웨어 생명 주기 002. 소프트웨어 공학003. 폭포수 모형004. 프로토타입 모형 (원형 모형)005. 나선형 모형 (점진적 모형)006. 애자일 모형007. 애자일 개발 4가지 핵심 가치SECTION 002. 스크럼 기법008. 스크럼의 개요009. 스크럼 개발 프로세스SECTION 003. XP 기법010. XP011. XP의 주요 실천 방법SECTION 004. 현행 시스템 파악 012. 현행 시스템 파악SECTION 005. 개발 기술 환경 파악013. 데이터베이스 관리 시스템014. 웹 애플리케이션 서버SECTION 006. 요구사항 정의015. 요구사항 정의016. 요구사항 개발 프로세스017..