Study

    정보처리기사 실기 정리(6) - 1단원 종합①

    소프트웨어 생명주기(SDLC) 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차 시스템이 인수되고 설치된 후 일어나는 모든 활동 단계 : 유지보수 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델 : 나선형 모델 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체계화한 방법론 : 정보공학 방법론 짝 프로그래밍 개발자 둘이서 짝으로 코딩하는 원리 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리 : 메타포어 도요타의 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 : 린 Man Month 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하..

    정보처리기사 실기 정리(5) - 요구사항

    기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항 목표시스템이 반드시 수행하여야 하거나 목표시스템을 이용하여 사용자가 반드시 수행할 수 있어야 하는 기능으로 분석, 설계, 구현, 테스트 공정을 거쳐 개발하는 요구사항 비기능적 요구사항 : 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항 기능 요구사항을 제외한 성능, 시스템 장비 구성 요구사항, 인터페이스 요구사항, 데이터 요구사항, 테스트 요구사항, 보안 요구사항, 품질 요구사항, 제약사항, 프로젝트 관리 및 지원 요구사항 등 소프트웨어 개발 생산성에 영향을 미치는 요인들 요구공학 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동..

    정보처리기사 실기 정리(4) - 디자인 패턴

    소프트웨어 아키텍처 소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙 MVC 패턴(모델-뷰-컨트롤러 패턴) 대화형 애플리케이션을 모델, 뷰, 컨트롤러 3개의 서브 시스템으로 구조화하는 패턴 디자인 패턴 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계방법을 정리한 패턴 Singleton(디자인 패턴 - 생성 패턴) 전역 변수를 사용하지 않고 객체를 하나만 생성, 생성된 객체를 어디에서든지 참조할 수 있도록 하고, 한 클래스에 한 객체만 존재하도록 제한하는 디자인 패턴 Factory method(디자인 패턴 - 생성 패턴) 상위 클래스에서 객체를 생성하는 인터페이스를 정의, 하위 클래스에서 인스턴스를 생성하도록 ..

    정보처리기사 실기 정리(3) - 애자일 방법론, 비용 산정 모델, 프로젝트 관리 기법

    애자일 방법론의 종류 XP : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론 스크럼 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론 린 : 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 델파이 기법(Delphi Method) : 전문가의 경험적 지식을 통한 문제해결 및 미래예측을 위한 기법 비용 산정 모델 종류 LoC : 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식 Man Month : 한 사람이 1개월동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식 COCOMO : ..

    정보처리기사 실기 정리(2) - 소프트웨어 개발 방법론, XP 가치

    소프트웨어 개발 방법론 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론. 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론 객체 지향 방법론 : 객체라는 기본 단위로 시스템을 분석 및 설계하는 체계적인 방법론 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론 컴포넌트 기반 방법론(CBD) : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론 애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론 개발 ..

    정보처리기사 실기 정리(1) - 애자일, 럼바우, 소프트웨어 생명주기

    애자일 방법론(Agile) : 절차보다는 사람 중심, 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론. 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론. 개발과 함께 바로 피드백을 받아 유동적으로 개발 가능 럼바우의 데이터 모델링 : 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론 (1) 객체 모델링(Object Modeling) : 정보 모델링(Information Modeling)이라고도 함 시스템에서 요구하는 객체를 찾고 객체 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링, 가장 중요하며 선행되어 진행 (객체 다이어그램을 활용하여 표현) (2) 동적 모델링(Dynamic Modeling) : 시간의 흐름에 ..

    2022-04-06

    #include : 전처리기(preprocessor), 내가 작성하고 있는 이 코드에 stdio.h를 포함하겠다는 의미 : standard input output.header #include : stdio.h 안에 정의되어 있는 많은 함수들을 내 코드안에 포함시켜서 프로그램을 만들겠다는 의미 return 0; : 해당 함수를 정상적으로 끝내고서 운영체제(Windows, Linux 등) 에게 기술한 값을 반환하고 현재 실행 중인 해당 함수를 벗어나겠다는 뜻 매개변수 : 함수에 투입되는 변수 int main()은 여러 매개변수를 사용하여 호출 가능, int main(void)는 매개변수없이만 호출 가능 컨피그(config), 컨피규레이션(configuration) : 개발 중인 프로그램을 각기 다른 수많은 ..