주요 차이점 : 소프트웨어 엔지니어링은 문제에 대한 실질적인 해결책을 연구, 고안 및 구축하는 분야입니다. 소프트웨어 엔지니어의 목표는 컴퓨터 내의 문제를 이해하고 문제를 완화시키는 소프트웨어를 만드는 것입니다. 컴퓨터 시스템 공학이라고도하는 컴퓨터 공학은 컴퓨터 시스템을 개발하는 데 필요한 전기 공학과 컴퓨터 과학을 결합한 코스입니다.
소프트웨어 공학은 문제에 대한 실질적인 해결책을 연구, 고안 및 구축하는 분야입니다. 소프트웨어 엔지니어의 목표는 컴퓨터 내의 문제를 이해하고 문제를 완화시키는 소프트웨어를 만드는 것입니다. 여기에는 기존 소프트웨어를 조작하거나 새로운 소프트웨어를 처음부터 새로 만들 수 있습니다. 컴퓨터 기능을 수행하려면 소프트웨어가 필요합니다. 이 일은 대부분 팀 노력입니다. 엔지니어는 시스템과 함께 작동하는 소프트웨어를 구축하기 위해 프로그래머와 함께 그룹화합니다.
SE에서 배운 많은 과목은 컴퓨터 과학에서 배운 것과 비슷하지만 요구 공학, 소프트웨어 아키텍처, 소프트웨어 테스팅 및 소프트웨어 배포와 같은 추가 과목도 포함됩니다. 이 분야에서 중요한 역할을하는 다른 영역에는 리더십, 의사 소통, 시간 관리, 사람 관리 등이 포함됩니다. 엔지니어는 상황을 바로 잡을 수있는 최선의 방법을 계획하고이 작업을 수행하는 방법에 대한 단계별 프로세스를 만들어야합니다. 특정 시간에 코드를 작성해야하지만 대부분의 코딩은 프로그래머가 수행합니다. 소프트웨어 엔지니어는 소프트웨어 작성, 프로그래밍 언어, 수학 및 컴퓨터 하드웨어에 대한 배경 지식이 필요합니다.
소프트웨어를 개발할 때 소프트웨어 엔지니어는 소프트웨어 프로세스를 거칩니다. 이 소프트웨어 프로세스 모델은 소프트웨어 프로세스의 추상화이며 프로세스 패러다임이라고도합니다. 소프트웨어 프로세스에 대해 처음 게시 된 모델을 Waterfall 모델이라고합니다. 소프트웨어가 만들어지면 먼저 종이에 개념화해야하며, 그 다음에는 프로그램이 설계되고 작성되어야합니다. 그런 다음 공개적으로 테스트되기 전에 소프트웨어는 활발한 테스트와 소프트 릴리스를 거칩니다. 소프트웨어 엔지니어링 지식 체계 지침 (널리 인정되는 표준)에 따르면, 소프트웨어 엔지니어링은 소프트웨어 요구 사항, 소프트웨어 설계, 소프트웨어 구축, 소프트웨어 테스팅, 소프트웨어 유지 관리, 소프트웨어 구성 관리, 소프트웨어 엔지니어링 관리, 소프트웨어 엔지니어링 프로세스 및 소프트웨어 품질 등 10 개의 하위 분야로 나눌 수 있습니다.
컴퓨팅 공학은 소프트웨어와 하드웨어의 두 가지 주요 연구 분야로 나뉩니다. 학생들은 마이크로 컨트롤러, 칩, 센서 등을 포함하는 시스템 또는 하드웨어 용 코드 및 프로그램 작성을 포함하는 소프트웨어 전문 업체로 결정할 수 있습니다. 컴퓨터 엔지니어는 디지털 시스템을 사용하여 모터와 같은 전기 시스템을 제어 및 모니터링하는 로봇 연구에 더 적합합니다, 통신 및 센서. 대학에 따라 공대생은 중학교 또는 고학년을 전문으로 할 수 있지만 다른 대학에서는 1 년 동안 일반 엔지니어링을 완료해야만 컴퓨터 엔지니어링을 전공으로 선택할 수 있습니다.
컴퓨터 공학은 수학과 과학에 대한 강한 배경을 요구합니다. 컴퓨터 공학은 코딩, 암호화 및 정보 보호, 통신 및 무선 네트워크, 컴파일러 및 운영 체제, 전산 과학 및 엔지니어링, 컴퓨터 네트워크, 모바일 컴퓨팅 및 분산 시스템, 컴퓨터 시스템 : 아키텍처, 병렬 처리 및 신뢰성 등과 같은 코스를 포함합니다. 컴퓨터 비전 및 로보틱스, 임베디드 시스템, 집적 회로, VLSI 설계, 테스트 및 CAD 신호, 이미지 및 음성 처리 등