1. 요구사항 확인(★★★)
요구공학(Requirements Engineering) 개념 : 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동 목적 : 효과적인 의사소통 수단 제공, 요구사항에 대한 공통된 이해 설정, 비용절감, 요구사항 변경 추적 가능 요구사항 분류 기능적 요구사항 개념 : 시스템이 제공하는 기능, 서비스에 대한 요구사항 도출방법 : 특정 입력에 대한 시스템이 어떻게 반응/동작해야 하는지 기술 특성 : 기능성, 완전성, 일관성 사례 : 장바구니 기능, 결제수단(신용카드, 무통장 입금, 포인트 결제) 비기능적 요구사항 개념 : 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항 도출방법 : 품질 속성에 관련하여 ..
2023. 6. 13.
1. 개발 기술 환경 정의(★★★)
1. 운영체제 현행 시스템 분석 운영체제 개념 : 사용자가 컴퓨터를 쉽게 사용하기 위해 지원하는 소프트웨어 운영체제 현행 시스템 분석 품질측면 : 신뢰도, 성능 지원측면 : 기술지원, 주변기기, 구축비용 운영체제 종류 및 특징 PC : 윈도즈(Windows), 유닉스(UNIX), 리눅스(Linux) 모바일 : 안드로이드(Android), iOS * Android : 리눅스 운영체제 위에서 구동하며 핸드폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스, 표준 으용 프로그램(웹 브라우저, 이메일 클라이언트, SMS, MMS) 등을 포함하고 있는 소프트웨어 스택, 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라..
2023. 6. 12.
1. 현행 시스템 파악(★★★)
현행 시스템 파악 개념 현행 시스템의 하위 시스템, 제공 기능, 연계 정보, 기술 요소 사용 파악 현행시스템 파악 절차 1단계 : 구성, 기능, 인터페이스 파악 2단계 : 아키텍처, 소프트웨어 구성 파악 3단계 : 하드웨어 및 네트워크 구성 파악 소프트웨어 아키텍처(Software Architecture) 개념 여러가지 소프트웨어의 구성 요소, 특성, 관계를 표현하는 시스템의 구조나 구조체 소프트웨어 아키텍처 프레임워크(Software Architecture Framework) 개념 : 아키텍처가 표현해야 하는 내용 및 이들간의 관계를 제공하는 아키텍처 기술 표준 구성요소 : 아키텍처 명세서(Architecture Description), 이해관계자(Stakeholder), 관심사(Concerns), 관..
2023. 6. 12.
1. 프로젝트 관리(★★★)
1. 프로젝트 관리 개념 : 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동 소프트웨어 생명주기의 전과정에 걸쳐서 진행 대상 : 계획관리, 품질관리, 범위관리 관리 3대 요소 : 사람(People), 문제(Problem), 프로세스(Process) 2. 비용산정 모형 개념 : 소프트웨어 규모파악을 통한 투입자원, 소요시간을 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식 모형 하향식 산정방법 : 전문가 판단, 델파이 기법 상향식 산정방법 : 코드라인수(LoC), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형 종류 LoC(Lines of Code) 모형 낙관치 : 가장 적게 측정된 코드 라인 수 중간치 : 측정된 모든 ..
2023. 6. 11.
객체 지향(Object Oriented) 분석 방법론
객체 지향(Object Oriented) 개념 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법 객체지향(Object Oriented) 구성요소 클래스(Class), 객체(Object), 메서드(Method), 메시지(Message), 인스턴스(Instance), 속성(Property) 객체 지향(Object Oriented) 기법 캡슐화(Encapsulation) 상속성(Inheritance) 다형성(Polymorphism) : 오버로딩(Overloading), 오버라이딩(Overriding) 추상화(Abstration) 정보은닉(Information Hiding) 관계성(Relationship) : 연관화, 집단화, 분류화, 일반화, 특수화 * 오버로딩(Overloading) : 매..
2023. 6. 10.
애자일(Agile)
애자일(Agile) 방법론의 개념 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론 사람중심, 변화 유연, 효율적, 신속 적응적 경량 개발 방법론 개발 기간 짧고 신속, 폭포수 모형에 대비, 피드백, 유동적 Discover - Design - Develop - Test(반복) 애자일(Agile) 방법론의 등장배경 소프트웨어 개발 환경의 변화 : 개발 트렌드가 모바일 환경으로 변화, 시장 적시성과 잦은 배포의 중요성 부각 기본 개발 방법의 한계 : 문서 절차 위주의 전통적 방법에 대해 변화에 신속 대응이 어려움, 빠른적용, 효율적 개발의 ..
2023. 6. 10.