메뉴 바로가기 본문 바로가기

TOP

스터디룸

Enjoy our interesting and informative contents.

[맑음학습] 소프트웨어 공학_첫 번째 이야기

  • 268
  • 2018-02-01

 



 

 

 

안녕하세요맑음학습으로 2번째 인사를 드리게 되었습니다

저희 맑음은 저번에 말씀드렸듯이 매주 그룹별로 맑음학습을 진행하는데요!

 이번주는 개발그룹에서 진행해주셨고소프트웨어 공학에 대한 교육이 진행되었답니다.

 

 

 

 






Software engineering(소프트웨어 공학) 정의는 프로그램과 프로그램의 개발과 운영 그리고 후에 이루어지는 유지보수에 필요한 정보의 일체를 뜻합니다. 소프트웨어공학은 비가시성 구조가 외부에 노출되지 않고 코드에 내재되어 있는 특성을 가지고 있는데요. 정형적 구조가 없이 복잡하고 비규칙적이며 필요에 따라서 변경이 가능하다고 해요. 즉 수정 가능성이 있다는 것이죠!  사용자의 요구, 환경의 변화에 적절히 변형이 가능하기도 하며 복제성과 비마모성 그리고 제조가 아닌 개발로 이루어지는 것이 소프트웨어 공학이라고 정의를 내릴 수 있다고 합니다. 교육을 들었을 때는 처음 듣는 용어라 헷갈리는 부분이 있었는데 2차적으로 정리를 한 번 더 하니 복습효과가 확실히 있는 것 같아요. 



 

 

 

방법(Metgod)도구(Tool)절차(Procedures)를 소프트웨어 공학의 3요소라고 할 수 있다고 합니다.

우선, 방법은 프로젝트 계획 수립과 추정, 시스템과 소프트웨어의 분석, 자료구조, 프로그램 구조, 코딩, 테스트, 유지보수 등의 방법이구요.
도구는 소프트웨어개발을 지원하는 시스템 설정으로 소프트웨어를 개발하기 위한 도구를 뜻하죠. 예를 들면 에디터, 개발언어, 디자인 툴, UML도구 등을 들 수 있습니다. 더하여 방법과 도구를 결합하여 소프트웨어를 합리적이고 적시에 개발하도록 계획하는것이 절차(Procedures)입니다. 이 모든 요소가 잘 갖춰줘야 소프트웨어 최적화된 소프트웨어공학이 이루어진다고 볼 수 있겠죠? 




 

 

 

 

소프트웨어 공학의 과정에 대해서 알아보았습니다. 정의 과정엔 무엇을, 개발 과정에는 어떻게, 유지보수과정에서는 변경을 진행하는 것이 일반적인 과정이 된다고 하는데요. 정확한 개발발향을 제시하고, 설계된 내용을 프로그래밍 언어로 변환 그후 완성된 유지보수의 과정을 거치면 비로서 완성된 소프트웨어가 탄생한다고 합니다. 쉽게 이용하는 프로그램들속에 우리가 보지 못한 수많은 단계가 있다니 개발의 세계에 다시 한번 박수를! 

 

 

 

Enterprise application 정의 : 모범 사례(UX)를 반영하여 미리 정의된 수많은 비즈니스 프로세스를 근간으로 만든 소프트웨어


 

대표적인 산업어플리케이션으로는 애플,ORACLE, Microsft등의 기업이 있습니다. 초기 대규모 비즈니스 조직에서만 사용할 수 있었던 어플레키에션은 중, 소 규모의 비즈니스 조직으로 확대 재생산되면서 각 조직의 특성에 맞추어 여러가지 형태로 변형되었다고 합니다. :)


 

 

Native application 

특정 Platform이나 Device에서 사용 되도록 개발되었습니다. 운영 체제 기능 및 해당 플랫폼에 일반적으로 설치되는 기타 소프트웨어와 상호 작용하고 이를활용 할 수 있습니다. 장치별 하드웨어 및 소프트웨어를 사용할 수 있으며 이는 네이티브 앱이 GPS및 카메라와 같은 모바일 장치에서 사용할 수 있는 최신 기술을 활용 할 수 있고, 사용자에게 특화된 경험을 제공 할수 있는 것이 특징이라고 합니다.


Web application 

표준 Web 기술을 사용하여 Platform이나 Device에 상관 없이 사용 되도록 개발합니다. Client-Server 소프트웨어 어플리케이션이며 프로그램은 원격 서버에 저장되고 인터넷을 통해 웹 브라우저에서 실행합니다. 사용자에게 공통된 경험을 제공하는것이 특징이라 합니다.



Cloud application 

Native + Web application으로 클라우드 환경에서 실행되는 어플리케이션 프로그램입니다. Native application과 같이 응답 속도가 빠르고 오프라인에서도 작업이 가능하고, Web application처럼 특정 기기에 종속될 필요가 없고 온라인으로 쉽게 업데이트 가능합니다.  사용자가 통제 가능 하지만 사용자 컴퓨터나 저장장치의 저장공간을 사용할 수 없음

 

 

 

 시뮬레이션 : 계산 시뮬레이션사회 과학 시뮬레이션훈련 시뮬레이션(비행운전 등), 시뮬레이션 게임
 정보근로자 :  회계 소프트웨어프로젝트 관리데이터 관리문서 관리분석 소프트웨어그룹웨어 등
 기업관련 : 데이터베이스메일서버네트워크 관리메일서버보안관리 등
 컨텐츠액세스 : 웹브라우저미디어 플레이어프리젠테이션툴스크린 세이버 등
 컨텐츠개발 : 그래픽, 3D 그래픽애니메이션이미지 편집비디오 편집사운드 편집악보웹 제작 도구 등
 엔지니어링 : 하드웨어 엔지니어링, CAD, 해석 소프트웨어소프트웨어 공학기타 통합 개발 환경 등
교육 : 컴퓨터 지원 교육, e러닝학습 자습서 등콘텐츠관련 제작 소프트웨어를 이용해 제작편집된 이미지텍스트

지금까지 맑음학습과 알아본 소프트웨어공학이였습니다. 소프트웨어 공학에 대한 기초 개념들이 좀 이해가 가셨나요? 앞으로 소프트웨어 공학에 수업은 총 7번의 횟수가 남아있는데요- 앞으로 더 알차고 구성있는 교육으로 돌아오겠습니다. 모두들 행복한 목요일 마무리 되시고 오늘도 맑음을 찾아주신 모든 분들께 감사에 인사 드리겠습니다. 모두 안녕~~~

 










 

 

 

URL 복사