본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그

나의 서재125

7.2 다형성 (polymorphism) 1. 다형성의 개요 가. 다형성의 정의 -하나의 객체가 여러 가지 타입을 가질 수 있는 특성 -프로그램 언어 각 요소들(상수, 변수, 객체, 매소드 등)이 다양한 자료형에 속하는 것이 허가되는 특성 나. 다형성의 특징 -부모 클래스 타입의 참조 변수 -여러 타입 객체를 하나의 타입으로 관리 가능 -적은 결합도 코딩 가능 -재사용성 증가 -프로그램 가독성 저하, 디버깅 어려움 증가 -중복되는 코드 제거 가능 2. 다형성 구현 방법 구분 오버로딩 오버라이딩 정의 -매개변수의 개수와 타입을 달리하여 동일한 이름의 메소드를 정의하는 기술 -상위 클래스의 메서드를 하위 클래스에서 재정의하는 기법 특징 -메소드의 이름이 같아야 한다. -매개 변수의 개수 또는 타입이 달라야 한다. -매개 변수는 같고, 리턴 타입이 .. 2021. 12. 4.
7.1. 상속 관계 1. 상속의 개요 가. 상속의 정의 -기존 클래스의 상태 데이터와 행위를 재사용하는 기법 나. 상속의 특징 -(계층 구조), 클래스 사이에서 계측 구조가 성립 시 발생 -(일반화 과정), 상속 계층 구조는 일반화 과정을 통해 형성 (추상화) -(재사용 용이), 클래스의 계층 구조는 기존 클래스의 재사용을 용이하게 함 -(도메인 정보 이해), 도메인에 존재하는 정보를 계층적으로 정의하여 문제 도메인의 구조를 쉽게 이해 가능 2. 상속관계의 개념도 가. 상속관계의 개념도 나. 상속관계의 종류 구분 구성 설명 일반화 (Generalization) 슈퍼(부모) 클래스 서브(자식) 클래스 -하위 계층의 클래스들의 공통 features를 추출하여 상위 계층 클래스를 정의하는 기법 특수화 (Specialization.. 2021. 11. 30.
7. 객체 지향과 UML 1. 객체의 개요 가. 객체의 정의 - 잘 정의된 경계와 정체성을 가지며 상태와 행위를 캡슐화한 개별 독립체 나. 객체의 특징 -(유형/무형), 실제 존재하는 것(사람 1,2, 자동차 3,4)과 개념적 추상적인 것(주문 1,2) 일 수 있음 -(정체성), 모든 객체는 고유의 정체성을 가짐 -(Features), 객체가 가질 수 있는 속성과 수행할 수 있는 작업으로 구성 -(메시지 통신), 상태 데이터와 행위를 객체로 정의하고 객체 사이의 행위 요청(메시지 통신)을 통해 문제 해결 -(4 특징), 캡슐화(정보은닉), 추상화, 상속, 다형성 실세계 도메인 분석/설계 모델링 구현 C++ JAVA 특징 상태 데이터 속성 인스턴스 변ㅅ 데이터 멤버 필드 행위 연산 메소드 멤버 함수 메서드 -(시그니처), 객체지향.. 2021. 11. 30.
6.4 자료 사전과 프로세스 명세 1. 자료 사전 -구조적 분석 동안 발생하는 모든 자료의 특징을 체계적으로 정리한 사전 -(공용어), DD에 나타나는 용어는 프로젝트 개발 단계에서 공용어로 사용 항목 예시 설명 이름 전화번호 자료나 자료 저장소 이름 별명 번호 자료에 대한 다른 이름 이용장소 및 방법 전화번호 읽기 전화번호 표시 장거리전화 분석 자료를 이용하는 프로세스에 대한 리스트와 함께 어떻게 이용되는지 묘사 내용 전화번호=지역번호+국번+가입자번호 지역번호=0+첫자리+{십진수}^2 0 국번={십진수}^4 3 가입번호={십진수}^4 4 자료에 대한 세부적인 구성 내용 표현 기타 정보 숫자와 영문 혼합 자료 타입, 이미 정의된 값, 제한 조건 2. 프로세스 명세 -DFD의 최하위 단계에서 나타나는 프로세스 기술 -미니스펙 (도구) (소.. 2021. 11. 29.
6.3 행위 모델링 (STD) 1. STD의 개요 가. STD의 정의 -외부 사건에 의해 발생하는 시스템의 상태변화를 보이는 행위 분석 모델링 도구 나. STD의 특징 -(외부 사건) -(상태 변화 묘사) 2. STD의 개념도 및 구성요소 가. STD의 개념도 나. STD의 구성요소 구분 모형 설명 시스템 상태 직사각형 시스템이 수행중인 상태를 의미 시스템 변화 화살표 시스템이 어떤 상태에서 다른 상태로 변화하는 과정 표현 *사검 : 상태 변화를 일으키는 부분, 화살표의 시작 *조검 : 사검의 결과로 발생하는 부분, 화살표 끝 2021. 11. 29.
6.2 기능 모델링 (DFD) 1. DFD의 개요 가. DFD의 정의 -자료 흐름을 모델링하기 위해 이용하는 그래픽 도구 나. DFD의 특징 -(사용자 요구 분석) -(시스템 주요 기능 표현) -(추상화 수준), 최상위 추상화 수준에서부터 상세 수준까지 시스템 표현 가능 2. DFD의 개념도 및 구성요소 가. DFD의 개념도 나. DFD의 구성요소 구분 부호 설명 단말 (외부개체) 자료의 생산자 또는 소비자 사람, 조직, 하드웨어, 소프트웨어 등 프로세스 입력자료를 출력자료로 변형 세금계산, 입력처리, 보고서 작성 등 자료 흐름 시스템에서 자료흐름 표시 자료 저장소 자료 저장 장소를 표시 데이터베이스, 파일, 문서박스, 캐비넷 등 3. DFD의 추상화 수준 (소프트웨어 공하의 기본원리, 154페이지) 2021. 11. 29.
6.1 데이터 모델링 (ERD) 1. ERD의 개요 가. ERD의 정의 -구조화된 데이터에 대한 일련의 표현 기법 나. ERD의 특징 -(데이터 중심), 구조적 분석 방법에서는 데이터 관리에 대한 요구 중요 -(모델링 도구), 문제 영역에 대한 데이터 개체와 데이터 특징, 데이터 사이의 관계를 이해하고 표현 -(의사소통 도구), 분석가와 개발자 등과의 의사소통을 원활히 하기 위한 도구 -(메타 데이터), 데이터에 관한 데이터를 포함 2. ERD의 개념도 및 구성요소 가. ERD의 개념도 나. ERD의 구성요소 구분 표시 설명 Entity 사각형(학생, 과목) 데이터 객체를 표현 Attiribute 타원형(학번, 이름, 과목코드) 데이터 Relationship 직선 객체 간의 관계를 표현 Relationship name 마름모(등록) 관.. 2021. 11. 29.
6. 구조적 분석 방법 1. 구조적 분석 방법의 개요 가. 구조적 분석 방법의 정의 -데이터 흐름과 이를 변형하는 프로세스 중심으로 분석하는 방법 구조적 개발 방법론 -데이터 흐름과 이를 변형하는 프로세스 중심의 분석과 하향식 모듈 설계에 기초하여 시스템을 개발하는 방법 구조적 분석 방법론 -사용자 요구를 파악하기 위해 문제를 데이터 흐름과 이를 변형하는 프로세스(기능) 중심으로 분석하는 방법 구조적 설계 방법론 -계층적인 하향식 모듈 중심으로 설계하는 방법 구조적 프로그래밍 방법론 -하향식 프로그래밍 구조와 3가지 제어(순차, 선택, 반복)에 기반을 둔 프로그래밍 방법 나. 구조적 분석 방법의 특징 -(분석 방법), 사용자 요구사항을 데이터흐름과 이를 변형하는 프로세스(기능) 중심으로 분석 -(구조적 개발 방법론), 구조적 .. 2021. 11. 29.
5.1 SRS의 특징 및 작성 목적 가. SRS의 특징 구분 설명 정확성 -사용자의 요구를 올바르게 명세하여야 함 일관성 -애매모호하거나 다양한 해석을 갖지 않도록 명세하여야 함 완전성 -모든 주요 요구사항을 포함하도록 명세하여야 함 확인성 -요구가 만족되었는지 아닌지 확인할 수 있도록 명세하여야 함 (가능하면 정량적으로 기술) 수정성 -구조나 스타일을 유지하면서 쉽고 일관성 있게 수정될 수 있도록 명세하여야 함 -요구사항이 서로 의존적이지 않고 독립적이 되도록 기술 추적성 -시스템의 각 기능과 관련된 요구사항을 쉽게 추적될 수 있도록 명세 나. SRS의 작성 목적 -고객과 개발자의 계약 문서로 활용 -유지보수를 위한 기본 문서로 활용 -프로젝트 비용 추정, 일정 계획, 위험 분석 등을 위한 정보 제공 -중요 개발 산출물의 하나 2021. 11. 28.
5. 요구 공학 1. 요구 공학의 개요 가. 요구 공학의 정의 요구의 정의 (IEEE Std 용어사전) (1) 사용자의 문제를 해결하거나 목적을 달성하기 위해 필요한 조건이나 능력 (2) 계약, 표준, 명세서나 공식적인 문서 내용을 만족하기 위해 시스템이나 시스템 컴포넌트가 소유하거나 만족해야만 하는 조건이나 능력 요구 공학의 정의 사용자 요구를 체계적으로 다루기 위한 프로세스와 방법, 도구, 기법 등을 정의한 학문 -조건은 비기능 요구사항, 능력은 기능 요구사항을 의미함 나. 요구의 분류 기능 요구사항 -시스템에 의해 제공되어야 하는 기능/서비스/능력을 의미 비기능 요구사항 가용성 -특정 시점에서 시스템이 얼마나 정상 운영되는지에 대한 요구 (오전 6시부터 오후 12시까지 최소 99.5% 정상 운영) 효율성 -시스템이.. 2021. 11. 28.
4.3 간트 차트 1. 간트 차트의 개요 가. 간트 차트의 정의 -WBS 계층구조의 각 작업이 언제 시작하고 끝나는지 쉽게 파악하는 것을 돕는 막대 차트 형태의 일정 수립 도구 나. 간트 차트의 특징 -(전체 일정), 각 업무별로 일정의 시작과 끝을 그래픽으로 표시하여 전체 일정을 한눈에 표시 -(업무 사이 관계), 막대 그래프를 통해 업무 간의 시작과 끝의 관계 표시 -(경영진 보고), 경영진 및 관계자를 대상으로 전체적인 프로젝트 계획과 진행 상태 전달에 적합 -(변화, 변경), 일정 계획 수립 시 정밀성을 기대하기 어려우며 작업 상호 간 유기적인 관계가 명확하지 않음 2. 간트 차트의 개념도 및 가. 간트 차트의 개념도 나. 간트 차트의 작성 절차 구분 특성 설명 (1) 업무 식별 WBS 활용 -WBS의 Work P.. 2021. 11. 27.
4.2 프로젝트 일정 관리 1. 프로젝트 일정 관리의 개요 가. 프로젝트 일정 관리의 정의 -프로젝트의 달성 가능한 현실적인 일정을 수립하고 관리하는 기법 나. 프로젝트 일정 관리의 특성 -(달성 가능), 달성할 수 있는 현실적인 일정 계획을 수립 -(모니터링), 수립된 일정계획을 근거로 프로젝트 실적을 모니터링하고 일정 지연 시 필요한 조치 수행 -(고려사항), 업무 담당자, 전후 관계, 업무 규모, 생산성 등을 고려하여 일정 수립 -(개별 활동 수행 기간), 착수일과 종료일로 결정, 종료일-착수일 -(착수일과 종료일), 작업 규모, 투입 가능 자원, 생산성, 투입 인원수, 작업 간의 전후 관계 등을 고려 2. 프로젝트 일정 관리 프로세스의 개념도 및 구성요소 가. 프로젝트 일정 관리 프로세스의 개념도 나. 프로젝트 일정 관리 .. 2021. 11. 27.
4.1 프로젝트 범위 관리 1. 프로젝트 관리 범위의 개요 가. 프로젝트 범위 관리의 정의 -프로젝트를 성공적으로 완료하기 위해 꼭 필요한 모든 작업/항목이 수행되었음을 보장하기 위한 기법 나. 프로젝트 범위 관리의 필요성 -품질 저하 -팀원의 잔업 -일정 지연 -원가 초과 -프로젝트 실패 다. 프로젝트 범위 관리의 특징 -(프로젝트 범위), 제품(프로덕트/서비스) 뿐만 아니라 프로젝트 범위를 포함 프로젝트 범위 프로덕트 범위 프로젝트 관리를 위해 수행되어야 하는 일 프로젝트 수행 결과의 최종 산출물 -(소프트웨어 비가시성), 다른 분야의 프로젝트보다 프로젝트 요구사항 관리가 더 중요한 이유는 비가시성 때문 2. 프로젝트 범위 관리 프로세스의 개념도 및 구성요소 가. 프로젝트 범위 관리 프로세스의 개념도 나. 프로젝트 범위 관리 .. 2021. 11. 27.
4. 프로젝트 관리 계획 1. 프로젝트 관리 계획의 개요 가. 프로젝트 관리 계획의 정의 - 성공적인 프로젝트 관리를 위해 각 영역별 초기 계획을 수립하고 통합, 감시하기 위해 계획서를 수립하는 작업 나. 프로젝트 관리 계획의 특징 -(IEEE Std 1058), 프로젝트 크기나 종류에 관계없이 적용 가능한 프로젝트 계획서 양식 -(PDCA), 수립된 계획서에 따라 프로젝트 진행 사항을 감시하고 필요에 따라 계획을 수정 -(Rolling Wave Planning), 가까운 미래의 작업은 세밀하게 계획하고 먼 미래의 작업은 개략적으로 계획 수립 기법 2. 프로젝트 관리 계획의 개념도 및 구성요소 가. 프로젝트 관리 계획의 개념도 나. 프로젝트 관리 계획의 구성요소 구분 특징 설명 통합 관리 프로젝트 관리 계획서 -프로젝트 관리에 .. 2021. 11. 24.
3.4 품질 관리 1. 소프트웨어 품질관리의 개요 가. 소프트웨어 품질관리의 정의 - 소프트웨어 생명주기 동안 수행되는 모든 활동과 그 결과로부터 생산되는 산출물에 대한 품질을 보증하기 위해 계획, 감시, 통제 활동을 수행하는 기법 나. 소프트웨어 품질관리의 특징 -(기능/비기능 요구), 사용자의 기능/비기능 요구를 만족하는 소프트웨어 개발 -(유지보수성/재사용성), 사용자가 명확히 요구하지 않았지만 전문가 관점에서 소프트웨어 품질 특징을 고려하여 개발 -(표준/절차), 개발 표준과 절차를 준수하여 개발 2. 소프트웨어 품질관리의 개념도 및 구성요소 가. 소프트웨어 품질관리의 개념도 나. 소프트웨어 품질관리의 구성요소 구분 특징 설명 품질 계획 프로덕트/프로젝트/프로세스 요구사항 수행방법론 품질 매뉴얼 -적용할 품질 표준.. 2021. 11. 23.
3.3 형상 관리 1. 형상 관리의 개요 가. 형상 관리의 정의 - 프로젝트 또는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하기 위한 기법 나. 형상 관리의 특징 -(비가시성) 소프트웨어 생산물 구조가 외부에 노출되지 않음 -(통제의 어려움) 눈에 보이지 않는 상품의 제작은 통제하기 어려움 -(추적의 어려움) 프로젝트의 중간 목표들을 연결시키고 개발과정을 추적하기 어려움 -(관리 미비) 가시성과 추적성의 결핍은 프로젝트의 진행을 관리하기 어렵게 함 -(무절제한 변경) 통제되지 않고 관리되지 않는 소프트웨어의 무절제한 변경이 발생 2. 형상 관리의 개념도 및 구성요소 가. 형상 관리의 개념도 나. 형상 관리의 구성요소 구분 특징 설명 형상 항목 문서 프로그램 데이터 등 - 공식적으로 정의되어 관리되는 대상 형상물 기술.. 2021. 11. 20.
3.2 위험 관리 1. 위험관리의 개요 가. 위험관리의 정의 - 위험을 식별, 분석, 관리하여 프로젝트의 성공 가능성을 높이는 기법 나. 위험관리의 특징 -(Negative/Positive), +위험(기회)는 극대화하고, -위험은 최소화되도록 관리 -(불확실성), 미래에 발생할 수 있는 불확실한 사건에 대한 대응 관리 -(예방), 사건이 발생하지 않도록 사전 예방이 사건 발생 후 대응보다 더 중요 -(전체), 프로젝트 전 범위에 걸쳐 위험 관리 활동 수행하여 초기에 위험을 식별 가능하도록 관리 -(정보 공유), 위험 발견 시 전 구성원에게 공유 2. 위험관리의 개념도 및 구성요소 가. 위험관리의 개념도 나. 위험관리의 구성요소 구성요소 특징 설명 위험 관리 계획 수립 위험 관리 계획서 문서 검토 전문가 판단 -프로젝트 위.. 2021. 11. 20.
3.1 소프트웨어 측정 1. 소프트웨어 측정의 정의 - 소프트웨어 프로젝트를 효과적으로 관리하기 위한 근본적인 요소 - 제품의 품질이 좋은지 - 개발 프로세스가 효과적인지 2. 소프트웨어 프로젝트의 척도 종류 척도 종류 특징 설명 프로덕트 & 프로세스 (프로덕트) 설계 복잡성 프로그램 크기, 문서 페이지 수 (프로세스) 비용, 기간, 노력 (프로덕트) 개발 과정에서 생산되는 결과물의 특징을 측정하는 척도 (개발자 주관심) (프로세스) 소프트웨어 개발 프로세스를 개선하기 위해 프로세스와 관련된 특징 측정하는 척도 (프로젝트 관리자 주관심) 객관적 & 주관적 (객관적) LOC (주관적) COCOMO (객관적) 주어진 척도에 대해 항상 같은 측정 결과를 보이는 척도 (주관적) 측정 주체의 주관적인 판단에 따라 다른 결과를 보일 수 .. 2021. 11. 20.