일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OSS
- Machine Learning
- Docker
- Python
- colab
- VSCode
- ICT멘토링
- Rocky Linux
- ChatGPT
- LINUX MASTER
- 고등학생 대상
- 국가과제
- Github
- GoogleDrive
- suricata
- Database
- Powershell
- git
- rnn
- C언어
- 코딩도장
- cloud
- Spring
- API
- 인터넷의이해
- Resnet
- 크롤링 개발
- Web
- KAKAO
- Spring Boot
- Today
- Total
코딩두의 포트폴리오
[실기] 1장. 요구사항 확인 본문
001(B) 소프트웨어 생명 주기
폭포수 모형 - 이전 단계로 돌아갈 수 X
프로토타입 모형 - 견본품
나선형 모형 - 점진적 개발, 보헴 (계획 - 분석 - 개발 - 평가)
에자일 모형 - 일정한 주기 반복 (<-> 폭포수 모형)
소프트웨어 공학 - SW 위기 극복하기 위한 방안
002(B) 스크럼 기법
스크럼 팀 - 제품 책임자, 스크럼 마스터, 개발팀
스크럼 개발 프로세스 (스프린트 계획 회의 - 스프린트 - 일일 스크럼 회의 - 스프린트 검토 회의 - 스프린트 회고)
003(B) XP 기법
XP 개발 프로세스 (계획 - 진행 - 검사 - 릴리즈)
XP 주요 실천 방법
- Pair Programming(짝 프로그래밍): 함께 프로그래밍, 공동 책임
- Collective OwnerShip(공동 코드 소유): 권한, 책임 공동 소유
- Continuous Integration: 모듈 단위, 지속적 통합
- Refactoring(리펙토링): 프로그램 기능 변경 없이 시스템 재구성 (목적: 프로그램 쉽게 이해, 수정해 빠른 개발 위함)
004(D) 개발 기술 환경 파악
005(B) 요구사항 정의
기능 요구사항: 기능, 수행과 관련된 요구사항
비기능 요구사항: 품질, 제약사항과 관련된 요구사항
006(B) 요구사항 개발 프로세스
요구사항 개발 프로세스 - 출석명확(도출 - 분석 - 명세 - 확인)
요구사항 명세 기법 - 정형 명세 기법(수학적 원리, 표기법 어려움) / 비정형 명세 기법(자연어, 이해 쉬움)
007(A) 요구사항 분석
요구사항 분석: 개발 대상에 대한 사용자의 요구사항을 이해, 문서화하는 활동
구조적 분석 기법: 자료의 흐름, 처리 중심
자료 흐름도: 자료의 흐름, 변환 과정, 기능을 도형 중심으로 기술
[자료 흐름도 기본 기호]
자료 사전(메타 데이터): 자료 흐름도에 있는 자료를 더 자세히 정의 및 기록
자료의 정의(=): ~로 구성되어 있다
자료의 연결(+): 그리고
자료의 생략(()): 생략 가능한 자료
자료의 선택([]): 또는
자료의 반복({})
008(C) 요구사항 분석 CASE와 HIPO
009(B) UML(Unified Modeling Language)
UML: 시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한 대표적 객체지향 모델링 언어
- 사물, 관계, 다이어그램
사물: 다이어그램 안에서 관계가 형성될 수 있는 대상들 (구조, 행동, 그룹, 주해)
010(A) UML - 관계(Relationship)
관계: 사물과 사물 사이의 연관성
연관(Association) 관계: 2개 이상의 사물이 서로 관련되어 있는 관계
집합(Aggregation) 관계: 하나의 사물이 다른 사물에 포함되어 있는 관계
포함(Composition) 관계: 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
일반화(Generalization) 관계: 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
의존(Dependency) 관계: 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
실체화(Realization) 관계: 사물이 할 수 있거나 해야 하는 기능으로, 서로를 그룹화 할 수 있는 관계
011(A) UML - 다이어그램
다이어그램: 사물관 관계를 도형으로 표현
구조적 다이어그램 종류 (정적 모델링)
클래스 다이어그램 | 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현 |
객체(object) 다이어그램 | 클래스에 속한 객체, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 럼바우 객체지향 분석 기법에서 객체 모델링에 활용 |
컴포넌트 다이어그램 | 실제 구현 모듈인 컴포넌트 간의 관계 or 인터페이스 표현 구현 단계에서 사용 |
배치(Deployment) 다이어그램 | 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 |
패키지 다이어그램 | 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현 |
행위 다이어그램 종류 (동적 모델링)
유스케이스 다이어그램 | 사용자의 요구를 분석, 기능 모델링 작업에 사용 사용자(Actor), 사용 사례(Use Case)로 구성 |
순차(Sequence) 다이어그램 | 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현 |
상태(State) 다이어그램 | 하나의 객체가 상태 변화 or 상호 작용에 따라 상태가 어떻게 변화하는지를 표현 럼바우 객체지향 분석 기법에서 동적 모델링에 활용 |
활동(Activity) 다이어그램 | 객체의 처리 로직 or 조건에 따른 처리의 흐름을 순서에 따라 표현 |
스테레오 타입(Stereotype): UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하는 것
<<include>> | 포함 관계 |
<<extends>> | 확장 관계 |
<<interface>> | 인터페이스 정의 |
<<exception>> | 예외 정의 |
<<constructor>> | 생성자 역할 수행 |
012(C) 유스케이스(Use Case) 다이어그램
013(D) 활동(Activity) 다이어그램
014(B) 클래스(Class) 다이어그램
클래스 다이어그램: 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것
클래스 | 객채들이 갖는 속성, 오퍼레이션을 표현한 것 / 3개의 구획(이름, 속성, 오퍼레이션)으로 표기 속성: 클래스의 상태나 정보 표현 / 오퍼레이션(=함수=메소드): 클래스가 수행할 수 있는 동작 |
제약조건 | 수행 전후에 지정해야 할 조건 클래스 안에 제약조건 기술 시 중괄호 { } 이용 |
관계 | 클래스와 클래스 사이의 연관성 표현 |
015(C) 순차(Sequence) 다이어그램
016(D) 커뮤니케이션(Communication) 다이어그램
017(D) 상태(State) 다이어그램
018(A) 패키지(Package) 다이어그램
패키지 다이어그램: 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것
구성요소
패키지 | 객체들을 그룹화한 것 단순 표기법: 패키지 안에 패키지 이름만 표현 / 확장 표기법: 패키지 안에 요소까지 표현 |
객체 | 패키지에 포함될 수 있는 다양한 요소들 |
의존 관계 | 점선 화살표료 연결 (패키지와 패키지, 패키지와 객체 간) <<import>>: 패키지에 포함된 객체들을 직접 가져와서 이용 <<access>>: 인터페이스를 통해 패키지 내의 객체에 접근하여 이용 |
019(C) 소프트웨어 개발 방법론
020(B) S/W 공학의 발전적 추세
소프트웨어 재사용: 이미 개발되어 인정받은 SW를 다른 SW 개발이나 유지에 사용
- 합성 중심: 블록 끼우기 / 생성 중심: 명세를 구체화(패턴 구성 방법)
소프트웨어 재공학: 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 성능을 향상시키는 것
CASE: SW 개발 과정에서 사용되는 과정 전체 또는 일부를 컴퓨터와 전용 SW 도구를 사용하여 자동화
021(D) 비용 산정 기법 - 하향식
022(B) 비용 산정 기법 - 상향식
LOC 기법: SW 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정
023(A) 수학적 산정 기법
수학적 산정 기법: 상향식 비용 산정 기법으로, 경험적 추정 모형, 실험적 추정 모형이라고도 함
COCOMO 모형: LOC(원시 코드 라인 수)에 의한 비용 산정 기법
COCOMO SW 개발 유형
조직형(Organic) | 중,소규모의 SW / 5만 라인 이하의 SW 개발 / 응용 SW 개발에 적합 |
반분리형(Semi-Detached) | 조직형,내장형의 중간 / 30만 라인 이하의 SW 개발 / 유틸리티 개발에 적합 |
내장형(Embedded) | 초대형 규모 / 30만 라인 이상의 SW 개발 / 시스템 프로그램 개발에 적합 |
Putnam 모형: SW 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형
기능 점수(FP) 모형: SW 기능을 증대시키는 요인별 가중치를 합산하여 총 기능 점수 산출
비용 산정 자동화 추정 도구 - SLIM: Rayleigh-Norden 곡선, Putnam 예측 모델을 기초로 하여 개발
024(B) 프로젝트 일정 계획
PERT(프로그램 평가 및 검토 기술): 전체 작업의 상호 관계를 표시하는 네트워크
CPM(임계 경로 기법): 작업을 나열하고 작업에 필요한 소요 시간을 예측하는 데 사용하는 기법
(노드:작업, 간선:작업 사이의 전후 의존 관계)
간트 차트: 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표
025(C) 소프트에어 개발 방법론 결정
026(B) 소프트웨어 개발 표준
ISO/IEC 12207: ISO에서 만든 표준 SW 생명 주기 프로세스
CMMI: SW 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
(프로세스 성숙도 = 초기 -> 관리 -> 정의 -> 정량적 관리 -> 최적화)
SPICE: SW 품질 및 생산성 향상을 위해 SW 프로세스를 평가 및 개선하는 국제 표준
(프로스세 수행 능력 단계 = 불완전 -> 수행 -> 관리 -> 확립 -> 예측 -> 최적화)
027(D) 소프트웨어 개발 방법론 테일러링
028(B) 소프트웨어 개발 프레임워크
SW 개발 프레임워크: SW 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 제공해주는 반제품 형태의 SW 시스템
(반제품: 원료를 가공하여 만든 중간 제품)
SW 개발 프레임워크 특성
모듈화(Modularity) | 캡슐화를 통해 모듈화를 강화, 유지 보수가 용이 |
재사용성(Reusability) | 재사용 가능한 모듈들을 제공 |
확장성(Extensibility) | 다형성을 통한 인터페이스 확장 |
'정보처리기사' 카테고리의 다른 글
[실기] 6장. 화면 설계 (0) | 2025.10.10 |
---|---|
[실기] 5장. 인터페이스 구현 (0) | 2025.10.10 |
[실기] 4장. 서버 프로그램 구현 (0) | 2025.10.09 |
[실기] 3장. 통합 구현 (0) | 2025.10.09 |
[실기] 2장. 데이터 입출력 구현 (0) | 2025.10.08 |