소프트웨어 공학 (Software engineering)
| 
 
 | 
소프트웨어 공학(-工學, 영어: software engineering)은 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다; 즉, 공학을 소프트웨어에 적용하는 것이다.
소프트웨어 공학의 영어 낱말 software engineering이라는 용어가 처음 나타난 곳은 1968년 나토 소프트웨어 공학 학회로, 당시에는 소프트웨어 위기에 관해 사람들이 주의를 기울여 생각할 것을 장려하기 위해서였다. 그 이후로, 하나의 직업으로서, 또한 학문의 한 분야로서 꾸준히 품질, 비용, 유지 보수성, 빌드 속도가 개선된 소프트웨어를 창조하는데 전념해 왔다. 이 분야는 그 자매 분야인 공학에 비해 아직도 상대적으로 젊은 분야로, 소프트웨어 공학'이란 실제로 무엇이며 전통적인 공학의 정의에 부합하는지에 대한 논의가 이루어지고 있다. 소프트웨어를 단순히 프로그래밍으로만 보는 한계를 벗어나는 것으로부터 유기적으로 성장한 분야이다. 최근의 흐름으로는 관점 지향(Aspect), 애자일(Agile), 모델 주도(Model-Driven) 등이 있다.
Categories
- Feature-driven development (FDD)
- Test driven Development (TDD)
- Behavior-driven development (BDD)
- Domain-driven design (DDD)
제품 승인 테스트 절차
자세한 내용은 인수 검사 (Acceptance testing) 항목 참조.
소프트웨어 제안서 관련 자료 (Software proposal)
- 소프트웨어 사업 대가의 기준
-  Standard_on_consideration_of_the_software_business.zip 
- NRF - 2012년도 한국연구재단 - 전자입찰시스템 구축사업 제안 요청서
-  Found_19_29833_0.pdf 
프로덕트 엔지니어(The Product Engineer)
전통적 의미의 소프트웨어 엔지니어링은 종말을 맞이하고, AI를 토대로 한 프로덕트 엔지니어링 패러다임이 등장함
- 프로덕트 엔지니어는 제품 관리자와 풀스택 개발자의 융합형 역할로, 기획부터 배포까지 전체 사이클을 책임지는 자율적·결과 지향형 빌더임
- 이들은 AI 네이티브·T자형 역량·KPI 중심 사고를 바탕으로 팀이 아닌 기능(feature) 단위로 조직되어 온보딩·결제·알림 등 엔드투엔드 책임을 맡게 됨
- 제품 단계에서는 아이데이션·시장 분석·사용자 연구·제품 디자인을 수행하고, 엔지니어 단계에서는 아키텍처·시스템 설계·프론트엔드·백엔드 개발을 담당함
- AI는 특히 정의 가능하고 결정론적(D&D) 영역에서 강력한 도구가 되며, 조직은 향후 기존 PM-디자이너-엔지니어 삼각형 대신 프로덕트 엔지니어+AI 협업 구조로 진화할 가능성이 큼
Table of software engineering
| Fields | Requirements analysis, Systems analysis, Software design, Computer programming, Formal methods, Software testing, Software deployment, Software maintenance | |
| Concepts | Data modeling, Enterprise architecture, Functional specification, Modeling language, Orthogonality, Programming Paradigms, Software, Software architecture, Software development methodology, Software development process, Software quality, Software quality assurance, Software archaeology, Structured analysis | |
| Orientations | Agile, Aspect-oriented, Object orientation, Ontology, Service orientation, SDLC | |
| Models | Development models | Agile, Iterative model, RUP, EUP, Scrum, Spiral model, Waterfall model, XP, V-Model, Incremental model, Prototype model, TDD | 
| Other models | Automotive SPICE, CMMI, Data model, Function model, Information model, Metamodeling, Object model, Systems model, View model | |
| Modeling languages | IDEF, UML, SysML | |