1. 소프트웨어 생명주기
소프트웨어 생명 주기 모형, 소프트웨어 프로세스 모형, 소프트웨어 공학 패러다임
A. 폭포수 모형
- 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론
B. 나선형 모형 (점진적 모형)
- 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.

C. 애자일 모형
- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행
a. 프로세스와 도구보다 개인과 상호작용
b. 방대한 문서보다 실행되는 SW
c. 계약 협상보다는 고객과 협업
d. 계획을 따르는 것보다는 변화에 반응
D. 스크럼
- 팀이 중심이 되어 개발의 효율성을 높인다
a. PO(제품책임자) : 의사결정자
b. SM(스크럼마스터) : 객관적인 시각에서 조언하는 가이드
c. DT(개발팀) : 제품 개발에 참여하는 모든 사람

E. XP(eXtreaming Programming)
: 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법

- 5가지 핵심 가치 : 의사소통, 존중, 용기, 단순성, 피드백
2. 운영체제
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효율적으로 사용하도록 환경을 제공하는 소프트웨어
- 고려사항 : 가용성, 성능, 기술 지원, 주변기기, 구축비용
3. DBMS (데이터베이스 관리 시스템)
- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어

- 고려사항 : 가용성, 성능, 기술 지원, 상호호환성, 구축비용
4. 웹 애플리케이션 서버 (WAS)
- 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공
- 주로 데이터베이스 서버와 연동해서 사용
5. 요구사항

요구사항 유형
- 기능요구사항(시스템이 반드시 수행해야하는 기능)
: 시스템의 기능, 입력이나 출력으로 무엇이 포함되어야 하는지, 어떤 데이터를 저장하거나 연산을 수행해야하는지
- 비기능 요구사항
: 시스템 장비 구성 요구사항, 성능 요구사항, 인터페이스 요구사항, 데이터 요구사항, 테스트 요구사항, 보안 요구사항, 품질 요구사항, 제약사항, 프로젝트 관리 및 지원 요구사항
요구사항 분석 자동화 도구
- SADT
: SoftTech사에서 개발한 것으로 시스템 정의, 스프트웨어 분석, 시스템/소프트웨어 설계를 위해 널리 이용되어 온 구조적 분석 및 설계 도구
- SREM
: TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술할 목적으로 개발한 것
a. RSL : 요소, 속성, 관계, 구조 등을 기술하는 요구사항 기술 언어
b. REVS : RSL로 기술된 요구사항들을 자동으로 분석하여 요구사항 분석 명세서를 출력하는 요구사항 분석기
- PSL/PSA
: 미시간 대학에서 개발한 것
- TAGS
: 시스템 공학 방법 응용에 대한 자동 접근 방법으로 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구
6. 자료흐름도(DFD)