상세 컨텐츠

본문 제목

SW개발방법론 - 설치 및 인도, 소프트웨어개발방법론, 클라우드서버, 데이터베이스, 유스케이스

정보처리기사/정보처리기사_필기

by JORDON 2023. 1. 30. 15:33

본문

반응형

 

SW개발방법론에서 설치 및 인도에 관련하여 개발환경, 운영환경을 통한 소프트웨어 개발방법론에 이에 인도 및 설치까지 확인해 보도록 하겠습니다.

개발환경

Design Pattern (GOF)

클래스 간의 관계를 통해서 유형별로 만들어 쉽게 사용할 있도록 만들어 놓은 클래스들의 모음

 

 

운영환경

기존 운영여부 - 신규서버, 고도화

이중화여부 - 단일화서버, 이중화서버

 

클라우드서비스

클라우드여부 - 온프레미스(OnPremise), 클라우드서비스(Cloud Service)

  • 온프레미스(OnPremise) - 데이터서버를 기업밖이 아닌 기업내에 두어 클라우드서비스 환경을 구축하는것
  • 클라우드 - 데이터서버를 가상의 컴퓨팅을 통해 기업안이 아닌 기업 밖에 두어 클라우드서비스 환경을 구축하는 것

SaaS(사스)

  • Software as a Service의 약자로 각종 소프트웨어를 개인 PC에서 작동하지 않고 클라우드에 있는 소프트웨어를 활용할 수 있도록 해주는 서비스
  • 구글의 드롭박스, 다음 클라우드 등 소프트웨어나 어플리케이션 웹에서 사용할 수 있는 SaaS형태의 클라우드 서비스가 대부분이였다.

laaS(이아스)

  • Infrastructure as a Service의 약자로 서버, 네트워크, 스위치, UPS 등의 하드웨어 인프라자원을 직접 구축하지 않고 클라우드에 있는 인프라자원을 사용하도록 해주는 서비스이다. 
  • 사용자들은 더이상 인프라 구축에 힘을 들이지 않고 서비스나 소프트웨어 개발에 집중할 수 있게 되었다.
  • 아마존 웹서비스(AWS)에서 제공하는 EC2가 대표적인 예이다.
  • 단순히 서버등의 자원을 제공해주면서 사용자가 장치에 제약없이 데이터에 접근할 수 있게 해준다.

PaaS(파스)

  • Platform as a Service의 약자로 리눅스, 윈도우 등의 운영체제와 각종 DBMS 등 플랫폼을 직접 구축하지 않고 클라우드에 있는 플랫폼을 이용하도록 해주는 서비스이다.
  • 프로그램 개발자들은 클라우드서비스 제공자에게 개발을 위한 툴, 운영체제, 프로그래밍언어 실행환경 등을 포함한 컴퓨팅 플랫폼을 배급받아 기반 하드웨어 및 소프트웨어 계층을 구매 관리하는 비용 없이 프로그램을 개발할 수 있다.

BaaS(바스)

  • Backend as a Service의 약자로 모바일 어플리케이션에 특화된 백엔드 플랫폼을 아웃소싱하는 클라우드 백엔드 서비스이다.

BaaS(바스)

  • Blockchain as a Service의 약자로 퍼블릭 블록체인 위에서 각 기업별, 기관별, 서비스별 프라이빗 블록체인을 운영할 수 있도록 해주는 블록체인 클라우드서비스이다.

서버타입(교집합) - WEB / WAS, 데이터베이스

  • WEB(웹서버) - 정적페이지를 표현할때 사용한다.
  • WAS(웹어플리케이션서버) - 계산이나 동적페이지를 사용할 때 이용한다.
  •  데이터베이스서버 - 데이터베이스에서 값을 가져오거나 입력할떄 이용한다.
  • 데이터베이스를 이용할 때 특히, INSERT, DELETE, UPDATE 와 같은 쿼리문을 사용하게 될 경우 로그 아카이브 (Log Achrive)와 인덱스 작업을 통해 안정성과 효율성을 증대시킨다.
  • 다만, 데이터베이스 작업시 과도한 정규화 작업은 데이터베이스 성능을 저하 시킬수 있음으로 실무에서는 적당한 선에서 마무리하는 것이 좋다.
  • 데이터베이스 나스(시놀로지 디스크 스테이션) - 네트워크 결합 스토리지(Network Attached Storage)는 LAN으로 연결하는 외장 하드디스크이다. 
  • PostgresSQL의 경우 오라클과는 다르게 세션을 종료하는 방식이 다르기 때문에 ps -ef 명령어 사용시 전체 연결 세션이 사라지기 때문에 함부로 사용하지 말고 call back 함수를 사용하여 세션을 하나씩 끝어내는 것이 올바른 방법이다.

 

테스트의 종류

단위테스트 - 각각의 개발된 기능을 개발자가 테스트하는 것

통합테스트 - 각각의 개발된 기능을 하나의 모듈로 합쳐 전체적인 흐름 및 오류를 테스트 하는 것

시스템테스트 - 비기능요구사항, 타 시스템과의 연계, 운영체제, 아키텍처, 데이터베이스의 성능을 테스트 하는 것

인수테스트 - 시스템 운영환경 상에서 사용자가 중점이 되어 연계되어 있는 기능과 타 시스템이 원활하게 운영되어 사용가능한지 테스트 하는 것

 

 

네트워크 망

내부망(행정 및 기업내부)

중요한 정보 및  내부자료가 존재할 가능성이 높기 떄문에 보안성이 높다. 내부에서 외부로 접근은 가능하지만 외부에서 내부로 접근하는 것은 특수한 경우를 제외하고는 불가능하다. 잘못한 접근방식을 지속하거나 불법적인 방법으로 접근시 문제가 발생한다.

인터넷망(대민 및 전체적인 인터넷 사용망)

대부분의 사람들이 이용하는 인터넷망과 비슷하다. 하지만 내부와 외부를 연결하려면 분명 행정망과 인터넷망의 연결은 필요하기 떄문에 하나의 WAS서버에 2가지의 망을 두어 경계를 만들어 이용할 수 있다.

 

인수지원

사용자 주관의 시험평가를 지원하고 시스템 운용자, 사용자 및 관리자 등을 대상으로 교육을 실시하며 그외 산출물의 납품 및 검수지원들을 수행하는 것을 목표로 한다.

입력물 - 계약관련문서, 유스케이스 정의서, 시스템 통합테스트 기술서, 사용자 지침서, 운용자 지침서

참여자 - 개발자, 인수자, 프로젝트관리자

 

RDMS종류와 유형

 

No Database 종류

데이터베이스 이관

- 데이터베이스 이관시 똑같은 개발환경을 구축하여야 한다.

- 데이터베이스 백업을 철저히 해야한다.

- 데이버베이스의 특징에 따라 작업공간 즉, 메모리 공간에 대한 크기를 충분히 늘려주어야 한다.

- 데이터베이스 Import 또는 Export를 통해 데이터베이스를 붙여넣는다.

- 데이터베이스 작업시 이전의 데이터와 비교하여 충분히 누락된 데이터와 입력 데이터를 확인 이후 신중이 작업을 진행한다.

 

데이터베이스 테이블 설명 및 백업, 복구

  • ER-D(Entity Relational Database)를 이용하여 핵심적인 테이블과 Primary key, Foreign Key 등을 알려주며 해당 테이블과 다른 테이블과의 연결 관계도를 한눈에 파악하기 쉽게 도식화하는 것이 좋다.
  • 내부 컬럼 정의서를 만들어 데이터베이스 서버 이중화 구조를 구축하여 전체 스키마 백업 및 복구를 원한하게 진행할 수 있게 한다.
  • 대용량 데이터를 로딩할 경우 서버단에서 덤프파일을 복사한 후 로딩하는 것이 빠르다.

데이터베이스 암호화

- DB암호화 솔루션(Magic DB)

- 기본적으로 DBMS에 설치엔 Magic DB는 서버 재가동시 자동으로 올라옴

- 또는, Spring Security를 이용하여 디크립션 또는 인크립션을 통해 암호화 할 수 있음.

 

데이터베이스 논리와 물리

- 데이터베이스는 설계단계에서는 논리적 데이터베이스라고하며 Entity, attribute로 엔티티와 속성으로 부르게 된다.

- 데이터베이스를 실제 입력하여 정보를 만들어낼때는 물리적 데이터베이스라고 하며 Table과 Column으로 테이블과 컬럼으로 명명한다.

 

 

 

유스케이스

- 액터가 인터페이스 및 내부적인 컴포넌트들을 사용함에 따라 나타날 수 있는 사용에 대한 경우에 수를 나열한 것으로 객체가 행위를 할때마다 이어지는 유스케이스를 작성하여 프로그램의 구성 및 흐름(Flow)를 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

관련글 더보기

댓글 영역