블로그 이전했습니다. https://jeongzero.oopy.io/
소프트웨어공학 모의고사 오답정리
본문 바로가기
정보처리기사/필기

소프트웨어공학 모의고사 오답정리

728x90

1. 소프트웨어 품질 목표 항목


- 정확성(Correctness) : 사용자의 요구사항을 충족시키는 정도


- 신뢰성(Reliablility) : 정확하고 일관된 결과로 요구된 기능을 오류없이 수행하는 시스템 능력의 정도


- 효율성(Efficiency) : 최소한의 처리 시간과 기억 장소를 소유하여 요구된 기능을 수행하는 시스템 능력을 의미하는 정도


- 무결성(Integrity) : 허용하지 않은 사용이나 자료의 변경을 제어하는 정도


- 유지보수 용이성(Maintainability) : 사용자의 기능 변경의 필요성을 만족하기 위하여 소프트웨어를 진화하는 것이 가능한 정도


- 사용 용이성(Usability) : 소프트웨어를 쉽게 배우고 사용할 수 있는가의 정도


- 검사 용이성(Testability) : 소프트웨어를 쉽게 검사할 수 있는가의 정도


- 이식성(Portability) : 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도


- 상호 운용성(Interoperability) : 다른 소프트웨어와 정보를 교환할 수 있는 정도 


- 유연성(Flexibility) : 소프트웨어 품질 목표 중 새로운 요구사항에 접하여 쉽게 수정될 수 있는 시스템의 능력을 요구하는 것의 정도


- 재사용성(Reusability) : 과학 계산용 라이브러리와 같이 이미 만들어진 프로그램을 사용하는 것의 정도






2. 객체지향 분석


객체지향 분석은 문제 영역의 분석 대상을 형식적인 전략으로 기술하는 단계이다. E-R 다이어그램(Coad와 Yourdon 방법)은 객체지향 분석의 표기법으로 적합하다.


람바우 방법 : 객체 모델링 -> 동적 모델링 -> 기능 모델링


기능 모델링 순서 : 입출력 결정 - 자료 흐름도 - 기능의 내용을 상세히 기술 - 제약사항을 결정하고 최소화






3. CASE의 분류



상위 CASE : 소프트웨어 생명주기 전반부 과정을 지원. 요구분석과 설계를 지원하며 명세서와 문서를 작성한다.

- 인터페이스가 반드시 성립되어 있어야만 한다.


하위 CASE : 소프트웨어 생명주기 하반부 과정을 지원. 코드 작성, 검사를 지원하며 문서화하는 과정에 도움을 주는 여러가지 도구들을 포함. 

- 하향식 설계는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.






4. 소프트웨어 검사


화이트 박스 테스트

- 기초 경로 검사

- 루프 검사

- 데이터 흐름 검사

- 조건 검사


블랙 박스 테스트 

- 균등 분할

- 한계값 분석

- 원인결과 그래프

- 오류 예측

- 비교 검사






5. 유지보수 작업의 종류


하자보수(Corrective Maintenance) : 유지보수의 종류 중 소프트웨어 테스팅 동안 밝혀지지 않는 모든 잠재적인 오류를 찾아 수정하는 활동


기능 개선(Perfective Maintenance) : 현재 수행 중인 기능의 수정, 새로운 기능의 추가, 전반적인 기능 개선등의 요구를 받았을 때 수행되는                                                 유형


환경 적응(Adaptive Maintenance) : 소프트웨어를 운용하는 환경의 변화와 주변 장치 또는 다른 시스템 요소가 향상되거나 변경될 떄 대처할                                                 수 있는 유지보수


예비 조치(Preventive Maintenance) : 소프트웨어 재공학 - 사용자의 요구 변경이 있을 때






6. 비용 측정 방법론



COCOMO 방법 


- Organic : 중소 규모 처리할 때, 5만 라인 이하

- Semi detached : 중소 규모 처리, 30만 라인 이하

- Embeded : 최대형 규모 처리할 때, 대형 시스템에 적합






7. 결합도에 의한 모듈의 평가 기준


1. Data Coupling(자료 결합도)

- 두 모듈 간의 인터페이스가 자료 요소만으로 구성된 가장 좋은 결합도이다. 하나의 모듈이 매개 변수를 통해 다른 모듈에게 데이터를 넘겨주고 호출받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 유형의 모듈 결합도이다.


2. Stamp Coupling(구조 결합도)

- 두 모듈 간에 같은 레코드를 부분적으로 공유한다. 배열이나 레코드, 자료 구조 조회, 포맷이나 구조 변화의 영향을 받는다.


3. Control Coupling(제어 결합도)

- 모듈 간에는 제어 변수로 종속적인 관계를 가진다.


4. Extern Coupling(외부 결합도)

- 외부 변수에 의해 영향을 받는 두 모듈이 결합된 관계.


5. Common Coupling(공통 결합도)

- 공유되는 공통 데이터 영역을 여러 모듈이 사용하는 모듈 관계를 말한다.


6. Content Coupling(내용 결합도)

- 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 형태의 결합으로 고급 언어에서는 사용되지 않고 저급 언어에서 사용됨.



결합도 약한 순으로


자-구-제-외-공-유







8. 응집도에 의한 모듈의 평가 기준


1. Coincidental Cohesion(우연적 응집도)


2. Logical Cohesion(논리적 응집도)


3. Temporal Cohesion(시기적 응집도)


4. Procedural Cohesion(절차적 응집도)


5. Communication Cohesion(통신적, 정보적, 교환적 응집도)


6. Sequential Cohesion(순차적 응집도)


7. Functional Cohesion(기능적, 함수적 응집도)



응집도 약한 순으로


우-논-시-절-통-순-기






9. 일정 계획 방법론


1. PERT : 원, 직선, 화살표 이용


2. CPM : 주 공정에 비중을 둔다. 순서로는 규모를 추정한뒤 단계에 필요한 작업들을 분해한다. 그리고 각 작업의 관계를 CPM 네트워크로             나타낸다. 마지막으로 일정 계획을 간트 차트로 나타낸다.


728x90