빙응의 공부 블로그
[정처기]실기 1장 - 요구사항 확인 본문
📝1. 소프트웨어 생명 주기
- 소프트웨어 생명 주기
- 소프트웨어를 개발하기 위한 설계, 운영, 유지보수 등의 과정을 각 단계별로 나눈 것이다.
- 대표적인 모형
- 폭포수
- 프로토타입
- 나선형
- 애자일
- 폭포수 모형
- 각 단계를 확실하게 매듭짓고 다음 단계로 이동
- 프로토타입 모형
- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
- 나선형 모형
- 여러번의 소프트웨어 개발에 있어 점진적으로 완성하는 모델
- 계획 수립 - 위험 분석 - 개발 및 검증 - 고객 평가
- 애자일 모형
- 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발
- 대표적 기법
- 스크럼, XP ,FDD
- 소프트웨어 공학
- 소프트웨어 위기를 극복하기 위한 방안으로 연구된 학문이다.
문제 1. 시제품을 끊임없이 제작하여 사이클을 반복하는 개발 방법론으로, 워터풀과 대조적이며, 소프트웨어 개발을 넘어 기업 경영 전반에서 사용되고 있다. 고객의 변화하는 요구사항과 환경 변화에 능동적인 이 소프트웨어 개발 방법론은?
정답: 애자일
문제 2. ( )은 소프트웨어 위기를 극복하기 위한 방안으로 연구된 학문이다.
정답 : 소프트웨어 공학
문제 3. 소프트웨어 개발 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론
정답: 폭포수 모형
문제 4. 보헴이 제안한 것으로, 폭포수 모형과 프로토타입의 모형의 장점에 위험 분석 기능을 추가한 모형이다.
정답 : 나선형 모형
문제 5. 나선형 모델의 주요 활동 순서를 쓰시오
정답 : 계획 수립 - 위험 분석 - 개발 및 검증 - 고객 평가
문제 6. 다음 보기에서 애자일 방법론에 해당하는 것만 골라 기호로 쓰시오
정답 : 스크럼, XP, 기능 중심 개발
📝2. 스크럼 기법
- 스크럼은 팀이 중심이 되어 개발의 효율성을 높이는 기법이다.
- 팀의 구성
- 제품 책임자
- 스크럼 마스터
- 개발팀
- 개발 프로세스
- 스프린트 계획 회의
- 제품 백로그
- 스프린트
- 일일 스크럼 회의
- 스프린트 검토 회의
- 스프린트 회고
- 스프린트 계획 회의
문제 1. 팀원들이 스스로 팀을 구성하며, 개발 작업의 모든 것을 스스로 해결하는 개발 기법은?
정답 : 스크럼
문제 2. 스크럼 개발 프로세스 중 실제 개발 작업을 진행하는 과정으로, 보통 2~4주 정도의 기간 내에서 진행하는 프로세스는?
정답 : 스프린트
문제 3. 스크림 개발 과정의 진행 순서를 쓰시오
정답 : 스프린트 계획 회의 - 스프린트 - 일일 스크럼 회의 - 스프린트 검토 회의 - 스프린트 회고
📝3. XP 기법
- 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발
- XP의 5가지 핵심 가치
- 의사소통
- 용기
- 존중
- 피드백
- 단순성
- XP의 주요 실천 방법
- Pair Programming
- Collective Ownership
- TDD
- 리팩토링 : 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발하기 위함
- Continuous Intergration
- Small Releases
- Whole Team
문제 1. 소프트웨어 공학에서 리팩토링을 하는 목적에 대해 간략히 서술하시오.
정답 : 프로그램을 쉽게 이해하고 수정하여 빠르게 개발하기 위함
문제 2. XP의 5가지 핵심 가치를 쓰시오
정답 : 의사소통, 용기, 피드백, 단순성, 존중
문제 3. XP의 주요 실천 방법을 모두 골라 쓰시오
Linear Squential Method, Pair Programming, Collective Ownership, Continuous Integration
정답 : Pair Programming, Collective Ownership, Continuous Integration
📝4. 개발 기술 환경 파악
- 소프트웨어와 관련된 OS, DBMS, 미들웨어 등을 선정해야한다.
- 운영체제
- 고려 사항으로 가용성, 성능 ,기술지원, 주변기기, 구축비용 등이 있다.
- 데이터베이스 관리 시스템
- 고려 사항으로 가용성,성능, 기술지원, 상호 호환성, 구축 비용 등이 있다.
- 웹 애플리케이션 서버
- 고려 사항으로 가용성, 성능, 기술지원, 구축 비용 등이 있다.
- 오픈 소스
문제 1. DBMS의 고려사항을 쓰시오.
정답 : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
문제 2. 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어이다.
정답: 웹 애플리케이션 서버(WAS)
문제 3. 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드가 공개된 소프트웨어
정답 : 오픈소스
📝5. 요구사항 정의
- 요구사항
- 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명
- 운영에 필요한 제약조건이다.
- 요구사항 유형
- 기능 요구사항
- 기능이나 수행과 관련된 요구사항이다.
- 비기능 요구사항
- 품질이나 제약사항과 관련도니 요구사항이다.
- 사용자 요구사항
- 사용자 관점에서 본 시스템이 제공해야 할 요구사항
- 시스템 요구사항
- 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항
- 기능 요구사항
문제 1. 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.
정답 : 요구사항
문제 2.( ㄱ ) 요구사항은 시스템이 무엇을 하는지, 어떤 기능을 하는지 등 사용자가 시스템을 통해 제공받기 원하는 기능이나 시스템이 반드시 수행해야 하는 기능을 의미한다.
( ㄴ ) 요구사항은 품질이나 제약사항과 관련된 요구사항으로, 시스템의 장비 구성, 성능, 인터페이스, 테스트, 보안 등의 요구사항을 말한다.
정답: ㄱ: 기능, ㄴ : 비기능
문제 3. 다음 제시된 요구사항을 구분하시오
ㄱ. 시스템의 처리량, 반응 시간
ㄴ. 시스템 구축의 안전, 보안
ㄷ. 차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야함
ㄹ. 금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 함
정답 : 기능 : ㄹ , 비기능 : ㄱㄴㄷ
문제 4. 요구사항의 4가지 유형을 쓰시오
정답 : 기능, 비기능, 사용자, 시스템
📝6. 요구사항 개발 프로세스
- 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 과정이다.
- 도출 - 분석 -명세 - 확인
- 요구사항 도출
- 시스템 개발에 관한 사람들이 서로 의견을 교환하여 요구사항을 식별하는 과정
- 기법
- 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스
- 요구사항 분석
- 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 제거
- 자료 흐름도, 자료 사전
- 요구사항 명세
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화
- 소단위 명세서
- 요구사항 확인
- 요구사항 명세서가 정호가하고 완전한지 검토하는 과정
- 형상관리
- 요구사항 공학
- 요구사항을 정의하고 분석 및 관리하는 프로세스를 연구하는 학문
- 정형 명세 기법
- 수학 원리 기반
- 표기법이 어려워 이해 어렵, 일관성이 있음
- 비정형 명세 기법
- 이해 쉬움, 일관성 떨어짐
문제 1. 요구사항 개발 과정에 필요한 기술을 모두 고르시오
ㄱ. 청취와 인터뷰 질문 기술
ㄴ. 분석과 중재 기술
ㄷ. 설계 및 코딩 기술
ㄹ. 관찰 및 모델 작성 기술
ㅁ. 데이터 구조 분석 기술
ㅂ. 인터페이스 연계 기술
정답 : ㄱㄴㄹ
문제 2. 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한 기법
정답 : 정형 명세 기법
문제 3. 요구사항 개발 프로세스 단계를 쓰시오
정답 : 도출 - 분석 - 명세 - 확인
문제 4. 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 거럴내기 위한 과정
정답 : 분석
문제 5. 요구사항 명세가 무엇인지 그 개념을 간략히 서술
정답 : 분석한 요구사항을 모델화하고 문서화하는 것
📝7. 요구사항 분석
- 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동
- 구조적 분석 기법
- 자료 흐름과 처리를 중심으로 하는 요구사항 분석 방법이다.
- 주요 기법
- 자료 흐름도
- 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술
- 자료 사전
- 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
- 메타 데이터라고도 한다.
- 소단위 명세서
- 개체 관계도
- 상태 전이도
- 제어 명세서
- 자료 흐름도
문제 1. 소프트웨어가 무엇을 해야 하는가를 추적하여 요구사항 명세를 작성하는 작업
정답 : 요구사항 분석
문제 2. 자료 흐름 그래프 또는 버블 차트라 부르며, 자료의 흐름을 명확하게 표현하는 기법은
정답 : 자료 흐름도
문제 3. 자료 흐름도의 4가지 구성요소를 쓰시오
정답 : 자료 흐름, 프로세스, 자료 저장소, 단말
문제 4. 구조적 분석 기법 도구를 쓰시오
정답: 자료 흐름도, 자료 사전, 소단위 명세서 ,ERD
📝8. 요구사항 분석 CASE와 HIPO
- CASE
- 요구사항을 자동으로 분서갛고, 요구사항 분석 명세서를 기술하는 자동화 도구이다.
- 대표적 CASE
- SADT : SoitTech 사에서 개발
- SREM
- PSL/PSA
- TAGS
- HIPO
- 문서화에 사용하는 기법
- 하향식 소프트웨어 개발을 위한 문서화 도구
- 기호 도표 사용으로 쉽게 이해 가능
- HIPO Chart 종류
- 가시적 도표
- 총체적 도표
- 세부적 도표
문제 1. SoltTech 사가 개발한 구조적 요구 분석을 하기 위한 자동화 도구는
정답 : SADT
문제 2. 하향식 소프트웨어 개발을 위한 문서화 도구는?
정답 : HIPO
문제 3. 요구사항 분석 자동화 도구를 모두 찾으시오
SADT, SWOT, SREM, OSPF, PSL/PSA, CSMA, TAGS
정답 : SADT SREM, PSL/PSA, TAGS
📝9. UML의 개요
- 시스템 개발 과정에서 개발자와 고객 또는 개발자 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적 객체지향 모델링 언어이다.
- 구성요소
- 사물
- 관계
- 다이어그램
- 사물
- 다이어 그램 안에서 관계가 형성될 수 있는 대상
- 종류
- 구조 사물
- 행동 사물
- 그룹 사물
- 주해 사물
문제 1. UML의 구성요소를 쓰시오
정답 : 사물, 관계, 다이어그램
문제 2. 의사소통을 원화하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어는 무엇인가?
정답 : UML
문제 . 사물의 종류를 쓰시오
정답 : 구조 사물, 행동 사물, 그룹 사물, 주해 사물
📝10. UML - 관계
- 관계란 사물과 사물 사이의 연관성을 표현한 것이다.
- 종류
- 연관 관계
- 2개 이상의 사물이 서로 관련되어 있는 관계이다.
- 집합 관계(Aggregaion)
- 하나의 사물이 다른 사물에 포함되는 관계이다,
- 포함 관계(Composition)
- 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계이다,
- 일반화 관계(Generalization)
- 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계이다.
- 의존 관계(Dependency)
- 서로 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계이다.
- 실체화 관계(Realization)
- 할 수 있거나 해야하는 기능으로, 서로를 그룹화 할 수 있는 관계이다.
- 연관 관계
문제 1. ( ) : 하나의 사물이 다른 사물에 포함되는 관계로, 전체와 부분으로 구분되어지며 서로 독립적이다.
( ): 상위 모듈이 하위 모듈보다 더 일반적인 개념을 가지고 있으며, 하위 모듈이 상위 모듈보다 더 구체적인 개념을 가진다.
정답 : 1. Aggregation, 2.Generalization
📝11. UML - 다이어그램
- 다이어그램이란 사물과 관계를 도형으로 표현한 것이다.
- 구조적 다이어그램
- 클래스 다이어그램
- 객체 다이어그램(럼바우 객체 모델링)
- 컴포넌트 다이어그램(구현단계 사용)
- 배치 다이어그램(구현 단계 사용)
- 복합체 구조 다이어그램
- 패키지 다이어그램
- 행위 다이어그램
- 유스케이스 다이어그램
- 순차 다이어그램
- 커뮤니케이션 다이그램
- 상태 다이어그램(럼바우 동적 모델링)
- 활동 다이어그램
문제 1. 럼바우 객체지향 분석 기법에서 동적 모델에 활용되는 다이어그램은?
정답 : 상태 다이어그램
문제 2. 다음 보기의 다이어그램을 구분하시오
ㄱ. 유스케이스 ㄴ. 순차 ㄷ. 활동 ㄹ. 배치 ㅁ. 클래스 ㅂ. 객체 ㅅ. 컴포넌트
정답 : 구조. 배치 클래스 객체 컴포넌트, 행위. 유스케이스 순차 활동
문제 3. UML의 스테레오 타입은?
정답 : <<>>
문제 4. 구현 단계에서 사용되는 다이어그램 2가지를 쓰시오
정답: 컴포넌트, 배치
문제 5. UML 다이어그램 중 결과물 ,프로세스, 컴포넌트 등 물리적 자원의 위치를 표현하는 것은?
정답 : 배치 다이어그램
문제 6. 정적 구조를 표현하고 클래스와 클래스 사이의 관계를 나타낼 때 사용하는 다이어그램은?
정답 : 클래스 다이어 그램
문제 7. ( 1 )은 객체들 사이의 메시지 교환을 나타내며, ( 2 )은 하나의 객체가 가진 상태의 변화를 나타낸다.
정답 : 순차, 상태
📝12. 유스케이스 다이어그램
- 기능 모델링이란 개발될 시스템이 갖춰야할 기능을 정리한 후 사용자와 함께 공유하기 위해 그림으로 표현하는 것
- 종류
- 유스케이스 다이어그램
- 액티비티 다이어그램
- 유스케이스 다이어그램
- 사용자 관점에서 기능을 표현한 것
- 구성요소
- 시스템 : 시스템의 범위 표현
- 액터
- 시스템과 상호작용하는 모든 외부 요소
- 사람이나 외부 시스템을 의미
- 주액터 : 시스템을 사용함으로써 이득을 얻는 대상 주로 사람
- 부액터 : 주액터의 목적 달성을 위해 시스템에 서비스로 제공하는 외부 시스템
- 유스케이스 : 제공하는 서비스나 기능
- 관계
- 포함관계 : 두 개 이상의 유스케이스에 공통적으로 적용되는 기능을 별도 분리하여 새로운 유스케이스를 만든 것
- 확장관계 : 특정 조건에 부합하여 기능이 확장
- 일반화 관계
문제 1. ( )은 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능
정답 : 유스케이스
문제 2. 유스케이스 다이어그램의 4가지 구성요소를 쓰시오
정답 : 시스템, 액터, 관계, 유스케이스
📝13. 활동 다이어그램
- 사용자 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현
문제 1. 자료 흐름도와 유사하며, 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리 흐름을 순서에 따라 표현한 것은?
정답 : 활동 다이어그램
문제 2. 가로 또는 세로 실선을 그어 구분하는 활동 다이어그램의 요소는?
정답 : 스윔 레인
문제 3. 활동 다이어그램의 요소 중 액션과 액티비티의 차이점은?
정답 : 액션은 분리될 수 없고 액티비티는 액션으로 분리 가능하다.
📝14. 클래스 다이어그램
- 정적 모델링
- 사용자가 요구항 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것이다.
- 클래스 다이어그램
- 클래스 사이의 속성, 관계를 표현
- 구성요소
- 클래스
- 제약조건
- 관계
- 연관 클래스
- 연관 관계에 있는 두 클래스에 추가적인 속성이 붙는 것
문제 1. 시스템 구성 요소에 대한 이해할 수 있는 구조적 다이어 그램이며, 문서화 하는데 사용되고 클래스, 제약조건, 관계 등으로 구성되는 것은?
정답 : 클래스 다이어그램
문제 2. 객체들을 추상화하여 표현한 다이어그램은?
정답 : 클래스 다이어그램
문제 3. ( )는 연관 관계에 있는 두 클래스에 추가적 표현을 해야할 때 생성하는 클래스이다.
정답 :연관 클래스
📝15. 순차 다이어그램
- 동적 모델링
- 시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것
- 종류
- 순차
- 커뮤니케이션
- 상태
- 순차 다이어그램
- 시스템이나 객체들이 메시지를 주고받으며 상호작용하는 과정을 그림으로 표현한 것이다.
- 구성요소
- 액터
- 객체
- 생명선
- 실행 상자
- 메시지
- 객체 소멸
- 프레임
문제 1. 다음 보기에서 순차 다이어그램의 구성 요소만 골라 쓰시오
생명선, 실행 상자, 확장, 메시지, 유스케이스, 액티비디
정답 : 생명선, 실행 상자, 메시지
문제 2. 객체 간의 동적 상호 작용을 시간 개념을 중심으로 모델링한 것은?
정답 : 순차 다이어그램
문제 3. 객체가 메시지를 주고 받으며 구동되고 있음을 표현한 것은
정답 : 실행 상자
📝16. 커뮤니케이션 다이어그램
- 커뮤니케이션 다이어그램은 시스템이나 객체들이 메시지를 주고 받으며 상호작용하는 과정을 객체 간의 연관 그림으로 표현한 것이다.
- 커뮤니케이션 다이어그램은 순차와 달리 객체들의 관계까지 표현한다.
- 구성요소
- 액터
- 객체
- 링크 : 객체 간의 관계 표현
- 메시지
문제 1.객체들 간의 관계를 표현하는 데 사용되는 요소가 무엇인가
정답 : 링크
📝17. 상태 다이어그램
- 상태 다이어그램은 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림을 나타낸 것이다.
- 구성요소
- 상태
- 시작 상태
- 종료 상태
- 상태 전환
- 이벤트 : 상태 변화를 주는 현상
- 프레임
문제 1. 객체 사이에 발생하는 이벤트에 의한 상태변화를 그림으로 표현한 것은?
정답 : 상태 다이어그램
📝18. 패키지 다이어그램
- 패키지 다이어그램은 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것이다.
- 대규모 시스템 파악에 장점이 있다.
- 구성요소
- 패키지
- 객체
- 의존 관계
📝19. 소프트웨어 개발 방법론
- 소프트웨어 개발, 유지보수 등에 필요한 여러가지 일들을 수행 방법과 처리 과정을 각종 기법 및 도구를 체계적으로 정하여 표준화한 것이다.
- 주요 개발 방법론
- 구조적 방법론
- 정보공학 방법론
- 객체지향 방법론
- 컴포넌트 기반 방법론
- 제품 계열 방법론
- 애자일 방법론
- 구조적 방법론
- 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론이다.
- 분할 정복 원리를 적용
- 타당성 검토 단계 - 계획 단계 - 요구사항 단계 - 설계 - 구현 - 시험 단계 -운용/유지보수
- 정보공학 방법론
- 계획, 분석 ,설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료 중심 방법론
- 정보 전략 계획 수립 - 업무 영역 분석 - 업무 시스템 설계 - 업무 시스템 구축
- 객제치쟝 방법론
- 객체들을 조립해서 필요한 소프트웨어 구현
- 요구사항 분석 - 설계 - 구현 -테스트 및 검증 - 인도
- 컴포넌트 기반 방법론
- 기존에 있던 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만든다.
- 재사용이 가능하여 시간 및 노력 절감
- 개발 준비 - 분석 -설계 -구현 -테스트 - 전개 -인도
문제 1. 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법은?
정답 : 컴포넌트 기반 방법론
문제 2. 구조적 개발 방법론의 수행절차를 쓰시오
정답 : 타당성 검토 - 계획 -요구사항 - 설계-구현 -시험 운용/ 유지보수
문제 3. 정형화된 분석 절차에 따라 사용자 요구사항을 파악하고, 문서화하는 체계적 방법으로 ,자료 흐름도, 자료 사전 등의 특징을 갖는 개발 방법론은?
정답 : 구조적 방법론
📝20. S/W 공학의 발전적 추세
- 소프트웨어 재사용
- 이미 개발되는 인정받는 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것
- 재사용 방법
- 합성 중심
- 생성 중심
- 소프트웨어 재공학
- 기존 시스템을 이용하여 보다 나은 시스템을 구축하고, 새로운 기능을 추가하는 것
- CASE
- 개발 과정 자동화 도구
문제 1. 소프트웨어 개발을 자동화하는 것은?
정답 : CASE
문제 2. 소프트웨어 재공학의 개념을 간략히 서술하시오
정답 : 기존의 시스템을 이용하여 더 개선하거나, 새로운 기능을 추가하는 것
문제 3. 이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것
정답 : 소프트웨어 재사용
📝21. 비용 산정 기법 - 하향식
- 하향식 비용 산정 기법
- 과거의 유사항 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용 산정
- 기법
- 전문가 감정 기법 : 두명 이상의 전문가
- 델파이 기법 : 여러명의 전문가와 한명의 조정자
문제 1. 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정 의뢰
정답 : 전문가 감정 기법
문제 2. 주관적인 편견을 보완하는 기법은?
정답 : 델파이 기법
📝22. 비용 산정 기법 - 상향식
- 상향식 비용 산정 기법
- 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 기법
- 기법
- LOC 기법
- 개발 단계별 인월수 기법
- 수학적 산정 기법
- LOC 기법
- 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하여 비용을 산정하는 기법
- 개발 단계별 인월수 기법
- LOC 보완을 위한 기법, 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정
문제 1. LOC 기법에 의해 예측된 총 라인 수가 30,000라인, 개발에 참여하는 프로그래머가 5명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 쓰시오.
정답 : 계산식 (30000/300)/5 =20개월
문제 2. 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정하는 기법은
정답: 개발단계별 인월수 기법
문제 3. LOC 기법에 의하여 소프트웨어 개발에 소요되는 노력이 40PM으로 계산되었다. 개발에 소요되는 기간이 5개월이고, 1인당 인건비가 100만이면 이 프로젝트의 개발비용은?
계산식 : 40PM X 1,000,000
정답 : 40,000,000
📝23. 수학적 산정 기법
- 주요 수학적 산정 기법
- COCOMO
- Putnam
- 기능 정숨
- COCOMO 모형
- LOC에 의한 비용 산정 기법이다.
- 개발 유형
- 조직형(Organic mode) : 5만 라인 이하
- 반분리형(Semi-Detached mode) : 30만 라인 이하
- 내장형(Embedded mode) : 30만 이상
- Putname 모형
- 소프트웨어 생명 주기 전 과정에 사용될 노력의 분포 예상
- rayleigh-norden 곡선의 노력 분포도를 이용
- SLIM : Putname 예측 모델을 기초로하는 자동화 추정도구
- 기능 점수 모형
- 기능을 증대시키는 요인별로 가중치 부여해 사용
문제 1. ( ) 모형은 알브레이히트가 제안한 것으로 , 소프트웨어 기능을 증대시키는 요인별로 비용 산정
정답 : FP 모형(기능점수)
문제 2. Putnam 모형의 개념을 간략히 서술
정답 : 개발 생명 주기 전 과정에서 노력을 산출해 비용 산정하는 기법이다.
📝24. 프로젝트 일정 계획
- PERT
- 프로젝트에 필요한 전체 작업의 상호 관계를 표시하는 네트워크이다.
- 작업 예측치 계산 공식
- 작업 예측치 : (비관치 + 4*기대치 + 낙관치)/6
- 평방 편차 : ((비관치 - 낙관치)/6)^2
- CPM(임계 경로 기법)
- 프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요 시간을 예측하는 기법이다.
- 간트 차트
- 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표
- 시간선 차트라 한다.
- 수평 막대의 길이는 각 작업의 기간을 나타낸다.
문제 1. 프로젝트에 필요한 전체 작업의 상호 관계를 표시하는 네트워크로, 작업 간의 상호 관련성, 결정 경로, 경계 시간, 자원 할당 등을 제시하는 프로젝트 일정 계획 기법은?
정답 : PERT
문제 2. 시간선 차트로 불리는 용어는?
정답 : 간트 차트
📝25. 소프트웨어 개발 방법론 결정
- 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고, 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동 ,작업 ,절차 등을 정의하는 것
- 프로젝트 관리
- 최소의 비용으로 사용자가 만족하는 시스템을 개발하기 위한 전반적 활동
- 관리 유형
- 일정 관리
- 비용 관리
- 인력 관리
- 위험 관리
- 품질 관리
문제 1. 다음 제시된 내용이 프로젝트 관리 유형 중 어느 유형에 속하는지 쓰시오
프로젝트 팀 편성, 조직 정의, 팀 개발, 팀 관리
정답 :인력 관리
문제 2. 모든 관리 유형을 쓰시오
정답 : 인력 관리, 비용 관리, 일정 관리, 위험 관리 , 품질 관리
문제 3. 소프트웨어 관리 개념이 대해 간략히 서술하시오
정답 : 최소의 비용으로 사용자가 만족하는 프로그램을 개발하기 위한 활동이다.
📝26. 소프트웨어 개발 표준
- 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미한다.
- ISO/IEC 12207
- 소프트웨어 생명 주기 프로세스이다.
- CMMI
- 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
- 초기 - 관리 -정의- 정량적 관리 -최적화
- SPICE
- 소프트웨어 품질 및 생산성 향상을 위한 평가 개선하는 국제 표준
- 불완전 - 수행 -관리- 확립 -예측 -최적화
문제 1. 다음 CMMI의 성숙도 단계를 나열하시오
정답 : 초기 - 관리 -정의 -정량적 관리 -최적화
문제 2.소프트웨어 품질 및 생산성 향상을 위한 평가 및 개선 국제 표준은?
정답 : SPICE
문제 3. 소프트웨어 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준으로, ISO에서 만든 것은?
정답 :CMMI
문제 4, CMMI의 개념을 간략히 서술하시오
정답 : 소프트웨어 개발 조직의 업무 능력 및 조직 성숙도를 평가하는 모델이다.
📝27. 소프트웨어 개발 방법론 테일러링
- 소프트웨어 개발 방법로느이 절차, 사용 기법등을 수정 보완하는 작업이다.
- 고려사항
- 내부적 기준
- 목표 환경
- 요구사항
- 프로젝트 규모
- 보유 기술
- 외부적 기준
- 법적 제약사항
- 표준 품질 기준
- 내부적 기준
문제 1. 다임 제시된 테일러링 작업 시 고려해야할 사항을 구분하시오
요구사항/법적 제약사항/보유기술/표준품질기술/목표환경/프로젝트규모
정답
내부적 기준 : 요구사항, 보유기술, 목표환경, 프로젝트규모
외부적 기준 : 법적 제약사항, 표준 품질 기준
문제 2. 소프트웨어 개발 방법론 테일러링의 개념을 간략히 서술하시오
정답 : 소프트웨어 개발 방법론의 절차, 사용 기법등을 수정, 보완하는 것
📝28. 소프트웨어 개발 프레임워크
- 소프트웨어 개발에 공통적으로 사용되는 구성요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 하는 반제품 형태의 소프트웨어 시스템이다.
- 스프링 프레임워크
- 자바 기반 오픈 소스 경량형 애플리케이션 프레임워크이다.
- 전자정부 프레임워크
- 닷넷 프레임워크
- 소프트웨어 프레임워크의 특성
- 모듈화
- 재사용성
- 확장성
- 제어의 역흐름
문제 1. 개발해야 할 애플리케이션의 일부분이 이미 내장된 클래스 라이브러리이다.
정답 : 프레임워크
문제 2. 자바 기반 경량화된 오픈 소스 웹 애플리케이션 프레임워크를 쓰시오
정답 :스프링 프레임워크
'정처기' 카테고리의 다른 글
[정처기]실기 3장 - 통합 구현 (0) | 2024.04.04 |
---|---|
[정처기]실기 2장 - 데이터 입출력 구현 (2) | 2024.04.02 |
[정처기]5장 요점 정리 (1) | 2024.02.20 |
[정처기]4장 요점 정리 (1) | 2024.02.13 |
[정처기] 3장 요점 정리 (0) | 2024.02.09 |