개발환경 구성 단계에서 요구사항을 정확히 이해한 후 개발 도구와 서버를 선정하고 선정 된 도구의 사용 편의성과 성능, 라이센스 등을 확인하는 걸 개발환경 구축이라합니다.

 

 

개발 환경 구성을 위한 개발 도구는 용도에 따라 크게 4가지로 분류할 수 있습니다.

 

빌드 도구는 작성 된 코드에 대해서 빌드와 배포를 수행하는 도구입니다. 빌드 도구로는 각 구성요소가 모듈에 대해 의존하는지를 확인하고 관리가 가능합니다.

대표적인 빌드 도구로는 Ant와 Maven, Gradle 등이 있습니다.

 

구현 도구를 이용하여 개발자는 프로그램의 코드를 작성하고 디버깅, 수정 등 전반적인 코드 구현과 관련된 도구가 여기에 포함됩니다.

구현 도구로는 JAVA 코드 작성시 이용하는 Eclipse와 C와 C++의 코드작성에 이용되는 Visual Studio, 이외에도 IntelliJ, Spring Tool Suite, NetBeans 등이 있습니다.

 

빌드와 구현 후 필요한 도구는 테스트 도구입니다. 테스트 도구를 통해 구현된 시스템의 전반적인 기능을 검증을 통해 전체적인 품질을 향상시킵니다. 테스트 도구는 테스트 실행 뿐만아니라 테스트 계획, 수행과 분석 등 테스트의 전반적인 내용을 담당하고 있습니다.

대표적인 테스트 도구들은 xUnit, PMD, Findbugs, Cppcheck, Sonar 등이 있습니다. 

 

마지막으로 필요한 도구는 형상관리 도구입니다. 형상관리 도구는 반드시 프로젝트 진행에 필요한 도구로 개발자들이 작성한 코드 등 산출물에 대한 버전 관리를 도와줍니다.

가장 유명한 형상관리 도구로는 Git과 CSV, Subversion이 있습니다.

 

 

서버 하드웨어의 개발환경

이제 서버 하드웨어의 개발환경에 대해서 알아봅시다. 서버 하드웨어 개발환경은 4가지로 웹 서버와, 웹 어플리케이션 서버, 데이터베이스 서버, 파일 서버가 있습니다.

 

- 웹 서버HTTP를 이용한 요청 및 응답을 처리합니다. WEB-WAS-DB 3계층 구조를 가지고 있으며 웹 상의 정적인 콘텐츠인 CSS, Javascript, Image를 처리합니다. 주요 웹 서버는 Apache 웹 서버, IIS 웹 서버, Google Web Server, Nginx가 있습니다.

 

- 웹 어플리케이션 서버는 정적 콘텐츠를 다루는 웹 서버와 는 달리 동적인 콘텐츠인 Servlet, JSP를 처리합니다. 주요 웹 어플리케이션 서버로는  Tomcat, Weblogic, Jeus, Resin등이 있습니다.

 

- 데이터베이스 서버는 데이터의 수집과 저장에 사용됩니다. 연계에 사용되는 주요 DBMS는 MySql, Oracle, MS-SQL, DB2 등이 있습니다.

 

- 파일 서버는 지금까지 설명한 다른 서버와는 달리 파일 저장을 위해 물리 저장장치를 활용한 서버입니다. 대표적인 파일 서버로는 HDD, SSD이 있습니다.

 

 

클라이언트 하드웨어 개발환경

서버 하드웨어 개발 환경에 대해서 알았으니 이제 서버 개발환경에서 제공된 서비스를 이용할 때 UI를 제공해주는 클라이언트 하드웨어 개발환경에 대해서 알아봅시다. 

 

- 클라이언트 프로그램은 프로그램 설치를 통해 사용자와 커뮤니케이션하도록 만들어졌습니다. 클라이언트 프로그램은 Visual Basic, C#, Delphi등으로 개발됩니다.

 

- 웹 브라우저는 우리가 자주보는 일반적인 웹 사이트입니다. 웹 서비스의 형태로 서버에서 웹 애플리케이션이 응답되면 브라우저를 이용해 사용자와 커뮤니케이션을 하게됩니다.

 

- 모바일 앱은 모바일 디바이스에 설치되어 작동하고 활용되는 어플리케이션을 말합니다.

 

- 모바일 웹은 모바일에 최적화되어 제공되는 웹 사이트입니다. 웹 브라우저와 동일한 형태로 만들어져있는 서비스를 모바일 웹브라우저를 통해 제공됩니다.

 

 

소프트웨어 개발환경

다음으로 기본적으로 개발을 위해 필요한 소프트웨어 개발환경 구성에 대해서 알아보겠습니다.

소프트웨어 개발환경은 운영체제와 미들웨어, DBMS가 포함되어 있습니다.

 

운영체제는 서버 하드웨어를 사용자가 편리하게 이용하도록 만들어주는 소프트웨어입니다. 운영체제는 프로그램의 성격에 따라 성격이 달라집니다. 운영체제는 우리가 현재 가장 많이 사용하는 도구인 Window와 Linux, Unix등이 있습니다.

 

- 미들웨어는 컴퓨터와 컴퓨터 사이의 연결에 필요한 소프트웨어입니다. 두 컴퓨터 사이의 연결을 쉽고 안전하게 만들어주고 연결 관리를 도와주는 역할을 합니다. 미들웨어로는 Tomcat, Weblogic, Webspehere, Jeus등이 있습니다.

- DBMS사용자와 데이터베이스 사이에 필요한 소프트웨어입니다. DBMS에서는 사용자의 요구에 따라 정보를 생성하고 데이터 베이스 관리를 담당하고있습니다. DBMS로는 Oracle과 MySQL, MS-SQL, PostgreSQL등이 있습니다.

 

 

형상관리

소프트웨어 개발의 전체 과정에서 발생되는 모든 변경사항을 관리하는 활동을 형상관리라합니다. 형상관리를 통해 소프트웨어의 생명주기 동안 체계적으로 관리하며 관리에 대한 산출물을 얻을 수 있습니다. 이 단계에서 나온 산출물을 이용하여 소프트웨어의 가시성과 추적성, 무결성 등의 품질 보장이 가능해집니다. 

 

 

형상관리 총 4단계로 진행됩니다.

 

가장먼저 해야할 일은 관리할 대상을 정의하는 형상식별 과정입니다. 

관리할 대상이 정해진 뒤 해야할 일은 형상통제입니다. 형상 통제에서는 베이스 라인을 관리하고 버전 관리를 위해 형상통제 위원회를 운영합니다.

다음은 소프트웨어 베이스 라인의 무결성 평가와 변경시 요구사항과 일치하는지 검토하는 단계인 형상감사입니다. 

여기까지 모든 과정을 끝냈으면 남은건 형상기록 단계입니다. 이 단계를 통해 형상 및 변경관리에 대한 각종 수행결과를 기록하며 보고서를 작성하게됩니다. 

 

+ Recent posts