Skip to content

소프트웨어 공학 (Software engineering)

소프트웨어 공학의 상세 분야

소프트웨어 공학(-工學, 영어: software engineering)은 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다; 즉, 공학을 소프트웨어에 적용하는 것이다.

소프트웨어 공학의 영어 낱말 software engineering이라는 용어가 처음 나타난 곳은 1968년 나토 소프트웨어 공학 학회로, 당시에는 소프트웨어 위기에 관해 사람들이 주의를 기울여 생각할 것을 장려하기 위해서였다. 그 이후로, 하나의 직업으로서, 또한 학문의 한 분야로서 꾸준히 품질, 비용, 유지 보수성, 빌드 속도가 개선된 소프트웨어를 창조하는데 전념해 왔다. 이 분야는 그 자매 분야인 공학에 비해 아직도 상대적으로 젊은 분야로, 소프트웨어 공학'이란 실제로 무엇이며 전통적인 공학의 정의에 부합하는지에 대한 논의가 이루어지고 있다. 소프트웨어를 단순히 프로그래밍으로만 보는 한계를 벗어나는 것으로부터 유기적으로 성장한 분야이다. 최근의 흐름으로는 관점 지향(Aspect), 애자일(Agile), 모델 주도(Model-Driven) 등이 있다.

Categories

제품 승인 테스트 절차

자세한 내용은 인수 검사 (Acceptance testing) 항목 참조.

소프트웨어 제안서 관련 자료 (Software proposal)

소프트웨어 사업 대가의 기준
Standard_on_consideration_of_the_software_business.zip
NRF - 2012년도 한국연구재단 - 전자입찰시스템 구축사업 제안 요청서
Found_19_29833_0.pdf

Table of software engineering

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

Favorite site