[CS 기본 개념] 전공면접 준비자료 #7 Software Engineering

dk-kling·2022년 3월 17일
4

Lecture Concept

목록 보기
7/7
post-thumbnail
post-custom-banner

😄 제가 대학원 준비과정에서 정리했던 컴퓨터공학과 기본 과목을 공유합니다!
📬 댓글로 이메일 남겨주시면 한글 파일 보내드리겠습니다!
PS: 이현경 취업 성공 기원

📚 Software Engineering

1. TDD

테스트 주도 개발

디자인 > 테스트 케이스 작성 > 코드 개발 > 리팩토링


2. 폭포수 모델

Requirement > Design > Implement > Verification > Maintenance


3. 요구사항명세서

인터뷰, 설문, 관찰, 벤치마킹 등을 통해 수집
사용자 인터페이스, HW/SW 인터페이스 등 명세


4. Use Case 명세서

1) Use Case 다이어그램

Scope에 시스템이 제공하는 서비스 및 기능을 명시
Use Case와 Actor의 Relation 정의

2) Use Case 명세

각 Use Case에 대한 flow와 condition(pre/post) 명시


5. 시퀀스 다이어그램

문제 해결을 위한 객체 정의
객체 간의 상호작용을 시간의 흐름에 따라 표현


6. 테스트 케이스 기법

1) Static Test

프로그램을 실행하지 않고 명세서나 코드만을 보고 테스트

2) Dynamic Test

개발된 프로그램을 실행하면서 테스트

3) White-box Test

개발자 관점의 테스트 (내부 코드 테스트)

  • Static White-box Test
    소프트웨어 설계나 코드에서 버그를 발견하는 기법
    Source code review
    (Peer review, Walk throughs 등)
  • Dynamic White-box Test
    Structural test
    소스코드를 확인하며 작동을 검사

4) Black-box Test

사용자 관점의 테스트 (소프트웨어 동작 테스트)

  • Static Black-box Test
    Documentation review
  • Dynamic Black-box Test
    테스트 케이스를 만들고, 기대값과 결과값 비교
    Specification-based test

7. SW에서 모듈화

1) 모듈화

소프트웨어를 각 기능별로 분할하는 작업

2) 결합도 / 응집도

  • 결합도
    모듈 간의 상호 의존도
  • 응집도
    모듈 내 구성요소 간의 관련성

8. CMMI 레벨

IT 개발의 프로세스 관리능력 향상을 위한 프로세스 성숙도

Lv.1 : Initial
표준화된 프로세스 없이 수행결과 예측이 곤란한 조직

Lv.2 : Managed
기본 프로세스 구축에 의해 프로젝트를 관리하는 조직

Lv.3 : Defined
세부 표준 프로세스가 있어 프로젝트가 통제되는 조직

Lv.4 : Quantitatively Managed
프로젝트가 정량적으로 관리되고 성과 예측이 가능한 조직

Lv.5 : Optimizing
지속적인 개선 활동이 정착화
최적의 관리로 프로젝트가 수행되는 조직

profile
HMG Research Engineer
post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 3월 24일

좋은 글을 이제 봤네요 :) 한글 파일 부탁 드려 봅니다!

1개의 답글