" software engineering " as its ( deliberately provocative ) title, I believe came originally from Professor Fritz Bauer. ↑ Dijkstra, E. W. ( 1968년 3월 ). " Go To Statement Considered Harmful ". 《 Communications of the ACM 》 11 ( 3 ) : 147 - 148. doi : 10. 1145 / 362929. 362947. 2007년 7월 3일에 원본 문서에서 보존된 문서. 2007년 7월 3일에 확인함. 더 이상 지원되지 않는 변수를 사용함 ( 도움말 ) ↑ Parnas, David ( 1972년 12월 ). " On the Criteria To Be Used in Decomposing Systems into Modules ". 《 Communications of the ACM 》 15 ( 12 ) : 1053 - 1058. doi : 10. 1145 / 361598. 361623. 2007년 8월 20일에 원본 문서에서 보존된 문서. 2008년 12월 26일에 확인함. 더 이상 지원되지 않는 변수를 사용함 ( 도움말 ) ↑ Raymond, Eric S. The Cathedral and the Bazaar. ed 3. 0. 2000
##ML과 같은 표준 형식을 사용. 소프트웨어 개발 : 프로그래밍 언어로 소프트웨어를 구축. 소프트웨어 시험 소프트웨어 유지 보수 : 소프트웨어 시스템은 때때로 처음 완료된 후 긴 시간이 지난 후에 문제를 일으켜 향상시켜야 할 필요가 있음. 소프트웨어 형상 관리 : 소프트웨어 시스템은 매우 복잡하므로, 그 형상 ( 버전과 소스 제어 ) 이 표준화되고 구조적인 방법으로 관리 받아야 함. 소프트웨어 공학 관리 : 프로젝트 관리에 매우 밀접하나, 다른 관리 분야와는 다른, 소프트웨어 고유의 미묘한 뉘앙스가 있음. 소프트웨어 개발 프로세스 : 소프트웨어를 구축하는 과정에 관하여 실무 종사자들 사이에서는 열띤 논쟁이 오가고 있으며 주요한 패러다임은 애자일 프로세스와 폭포수 프로세스임. 소프트웨어 공학 도구, CASE 참조. 소프트웨어 품질 같이 보기 [ 편집 ] 컴퓨터 과학 소프트웨어 개발 소프트웨어 품질 보증 소프트웨어 시험 시스템 분석 참고 문헌 [ 편집 ] ↑ 가 나 SWEBOK executive editors, Alain Abran, James W. Moore ; editors, Pierre Bourque, Robert Dupuis. ( 2004 ). Pierre Bourque and Robert Dupuis, 편집. 《 Guide to the Software Engineering Body of Knowledge - 2004 Version 》. IEEE Computer Society. 1 - 1쪽. ISBN 0 - 7695 -
日 本 語 MelayuMirandésNederlandsNorsk / / srpskiBasa 中 文 語 링크 편집 이 문서는 2019년 5월 6일 ( 월 ) 23 : 34에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
이론 계산 복잡도 이론 양자 계산 이론 알고리즘 & 자료 구조 알고리즘 알고리즘 설계 알고리즘 해석 자료 구조 계산기하학 프로그래밍 언어 & 컴파일러 구문 분석 컴파일러 인터프리터 프로그래밍 언어 구조적 프로그래밍 객체 지향 프로그래밍 병렬 & 분산 시스템 병렬 컴퓨팅 컴퓨터 클러스터 분산 컴퓨팅 그리드 컴퓨팅 클라우드 컴퓨팅 IaaS PaaS SaaS 소프트웨어 공학 요구 분석 소프트웨어 설계 컴퓨터 프로그래밍 정형 기법 소프트웨어 테스트 소프트웨어 개발 시스템 아키텍처 컴퓨터 아키텍처 마이크로아키텍처 운영 체제 통신 & 네트워크 컴퓨터 오디오 라우팅 네트워크 토폴로지 암호학 차세대 통신망 데이터베이스 데이터 마이닝 RDBMS SQL NoSQL 오라클 데이터베이스 인공 지능 자동추론 전산언어학 컴퓨터 비전 진화 연산 기계 학습 자연 언어 처리 로봇학 컴퓨터 그래픽 시각화 영상 처리 인간과 컴퓨터 상호 작용 컴퓨터 접근성 사용자 인터페이스 착용 컴퓨터 유비쿼터스 컴퓨팅 가상현실 계산과학 인공생명 생물정보학 인지과학 계산화학 계산론적 신경과학 계산물리학 수치해석학 기호계산 정보보호 암호학 물리 보안 애플리케이션 보안 인터넷 보안 네트워크 보안 해킹 크래킹 vdeh소프트웨어 공학분야 컴퓨터 프로그래밍 요구공학 소프트웨어 배치 소프트웨어 설계 소프트웨어 유지보수 소프트웨어 테스트 시스템 분석 정형 기법 개념 데이터 모델링 엔터프라이즈 아키텍처 기능 명세서 모델링 언어 직교성 프로그래밍 패러다임 소프트웨어 소프트웨어 고고학 소프트웨어 구조 소프트웨어 구성 관리 소프트웨어 개발 프로세스 소프트웨어 개발 방법론 소프트웨어 품질 소프트웨어 품질 보증 소프트웨어 검증 및 확인 구조화 분석 지향 애자일 영역 지향 객체 지향 온톨
초 나타나기 시작하여 리눅스와 " 바자 bazaar " 또는 분산형 소프트웨어 개발을 소개하였다. [ 6 ] 그러고 나서 인터넷과 월드와이드웹이 90년대 중반을 강타하여 소프트웨어의 공학을 다시 한번 뒤흔들었다. 시스템 설계 방식의 시계추가 분산 시스템쪽으로 기울었고 자바 프로그래밍 언어가 가상 머신으로 추상화의 또 한발짝을 내딛었다. 참여한 프로그래머들의 공동 작업으로 마련된 애자일 ( Agile ) 성명서는 더 날렵한 개발 프로세스로 더 저렴하고 신속한 개발을 지향하였다. 현재의 소프트웨어 공학의 정의는 오늘날의 실무종사자들이 더 싸게 크게 빠르게 소프트웨어를 개발하고자 수많은 어려움을 뚫고 전진함에 따라 아직도 논쟁 중에 있다. 교육 [ 편집 ] 프로그래밍에 관한 지식이 소프트웨어 공학자가 되기 위한 주요한 선수 요건이다. 그러나 그것만으로는 부족하다. 많은 소프트웨어 공학자들은 컴퓨터 과학 학위를 가지고 있으며 진정한 소프트웨어 공학자의 부족을 지적하는 의견 [ 7 ] 도 있다. 왜냐하면 소프트웨어 공학 프로그램이 고등 교육에 빠져 있었기 때문이다. 그러나 새로이 소프트웨어 공학 학위가 특히 학부 이후 학위로 소개되었다. 표준 국제 학부 교육과정은 CCSE에서 정의한 바 있다. 2004년 IEEE 컴퓨터 학회는 SWEBOK을 내놓았고
##ayad 관련 분야 컴퓨터 과학 컴퓨터 공학 프로젝트 관리 위험관리 시스템 공학 분류 공용 전거 통제 LCCN : sh87007398 GND : 4116521 - 4 BNF : cb11966616k ( 데이터 ) NDL : 01014113 BNE : XX541523 원본 주소 " " 분류 : 소프트웨어 공학숨은 분류 : 중복된 인수를 사용한 틀의 호출을 포함한 문서CS1 관리 - 여러 이름인용 오류 - 오래된 변수를 사용함영어 표기를 포함한 문서LCCN 식별자를 포함한 위키백과 문서GND 식별자를 포함한 위키백과 문서BNF 식별자를 포함한 위키백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 日 本 語 MelayuMirandésNederlandsNorsk / / sr
##말 ) ↑ Raymond, Eric S. The Cathedral and the Bazaar. ed 3. 0. 2000. ↑ McConnell, Steve ( July 10, 2003 ). Professional Software Development : Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers. ISBN 978 - 0 - 321 - 19367 - 4. ↑ " IEEE COMPUTER SOCIETY FIRST TO MARKET WITH SOFTWARE CERTIFICATIONS THAT MEET NEW ISO STANDARD ". IEEE COMPUTER SOCIETY. 2008년 10월 27일. 2008년 11월 12일에 원본 문서에서 보존된 문서. 2009년 6월 29일에 확인함. ↑ EUROPA - Redirection vdeh컴퓨터 과학의 주요 분야수학적 기초 수리논리학 집합론 정수론 그래프 이론 형 이론 범주론 수치해석학 이산수학 계산 이론 오토마타 이론 계산 가능성 이론 계산 복잡도 이론 양자 계산 이론 알고리즘 & 자료 구조 알고리즘 알고리즘 설계 알고리즘 해석 자료 구조 계산기하학 프로그래밍 언어 & 컴파일러 구문
##이며 전통적인 공학의 정의에 부합하는지에 대한 논의가 이루어지고 있다. 소프트웨어를 단순히 프로그래밍으로만 보는 한계를 벗어나는 것으로부터 유기적으로 성장한 분야이다. 최근의 흐름으로는 관점 지향 ( Aspect ), 애자일 ( Agile ), 모델 주도 ( Model - Driven ) 등이 있다. 목차 1 역사 2 교육 3 세부 분야 4 같이 보기 5 참고 문헌 역사 [ 편집 ] 1941년 현대 디지털 컴퓨터가 처음 나타났을 때, 연산 명령은 배선으로 주어졌다. 실무진이 금세 깨달은 것은 이러한 설계 방식이 유연하지 않다는 것이었고 " 프로그램 내장 방식 " 인 폰 노이만 구조를 개발하였다. 따라서 최초의 구분이 " 하드웨어 " 와 " 소프트웨어 " 사이에 주어졌고, 전산의 복잡성을 다루기 위해 추상화가 동반되었다. 프로그래밍 언어는 1950년대 나타나기 시작하였으며 이는 또한 추상화를 향한 또 하나의 큰 한걸음이 되었다. 주요 언어 즉 포트란, 알골, 코볼 등이 1950년대 말 배포되어 과학, 알고리즘, 경영상의 문제를 각각 취급하였다. 에츠허르 데이크스트라는 그의 씨앗과 같은 논문 " Go to 문은 해로운 것으로 생각된다 " 를 1968년 발표하였고 [ 4 ] 데이빗 파르나스는 열쇠가 된 개념인
##ledge - 2004 Version 》. IEEE Computer Society. 1 - 1쪽. ISBN 0 - 7695 - 2330 - 7. CS1 관리 - 여러 이름 ( 링크 ) ↑ Peter, Naur ; Brian Randell ( 1968년 10월 11일 ). " Software engineering : Report of a conference sponsored by the NATO Science Committee " ( PDF ). Garmisch, Germany : Scientific Affairs Division, NATO. 2008년 12월 26일에 확인함. 더 이상 지원되지 않는 변수를 사용함 ( 도움말 ) ↑ Randell, Brian ( 2001년 8월 10일 ). " The 1968 / 69 NATO Software Engineering Reports ". 《 Brian Randell's University Homepage 》. The School of Computer Sciences, Newcastle University. 2008년 10월 11일에 확인함. The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term " software engineering " as its ( deliberately provocative ) title, I be
Go to 문은 해로운 것으로 생각된다 " 를 1968년 발표하였고 [ 4 ] 데이빗 파르나스는 열쇠가 된 개념인 모듈성과 정보 은폐를 1972년 소개하여 [ 5 ] 프로그래머들이 영원히 증가하는 소프트웨어 시스템의 복잡성을 다루는 것에 도움을 주었다. 하드웨어를 관리하는 소프트웨어 시스템인 운영 체제 또한 소개되었고, 그 중 가장 눈에 띄는 것은 1969년에 등장한 유닉스였다. 1967년에는 시뮬라 언어가 객체 지향 프로그래밍 패러다임을 소개하였다. 이러한 소프트웨어의 진보에 발맞추어 컴퓨터 하드웨어도 발전하였다. 1970년대 중반 마이크로컴퓨터가 소개되어 취미로 컴퓨터를 구하고 그 소프트웨어를 작성하는 것이 경제적으로 가능해졌다. 이는 또한 이제는 잘 알려진 개인용 컴퓨터 또는 PC와 마이크로소프트 윈도로 이어졌다. 소프트웨어 개발 프로세스 또는 SDLC 또한 나타나기 시작하여 1980년대 중반에는 중앙 집중화된 소프트웨어 개발을 위한 일치된 합의로서 자리매김하였다. 1970년대 말과 1980년대 초 시뮬라에서 영감을 받은 몇 개의 새로운 객체 지향 프로그래밍 언어가 나타났다 : C, 스몰토크, 오브젝티브 - C. 오픈 소스 소프트웨어는 90년대 초 나타나기 시작하여 리눅스와 " 바자 bazaar " 또는 분산형 소프트웨어 개발을 소개하였다. [ 6 ]
소프트웨어 공학(-工學, 영어: software engineering)은 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다; 즉, 공학을 소프트웨어에 적용하는 것이다.소프트웨어 공학의 영어 낱말 software engineering이라는 용어가 처음 나타난 곳은 1968년 나토 소프트웨어 공학 학회로, 당시에는 소프트웨어 위기에 관해 사람들이 주의를 기울여 생각할 것을 장려하기 위해서였다. 그 이후로, 하나의 직업으로서, 또한 학문의 한 분야로서 꾸준히 품질, 비용, 유지 보수성, 빌드 속도가 개선된 소프트웨어를 창조하는데 전념해 왔다. 이 분야는 그 자매 분야인 공학에 비해 아직도 상대적으로 젊은 분야로, 소프트웨어 공학'이란 실제로 무엇이며 전통적인 공학의 정의에 부합하는지에 대한 논의가 이루어지고 있다. 소프트웨어를 단순히 프로그래밍으로만 보는 한계를 벗어나는 것으로부터 유기적으로 성장한 분야이다. 최근의 흐름으로는 관점 지향(Aspect), 애자일(Agile), 모델 주도(Model-Driven) 등이 있다.