https://youtu.be/VzrCMhYDdxE?si=pjejJLrBRNb9MINS
1. 소프트웨어 개발 환경 분석
1-1. 현행 시스템 파악과 구성
- (중요) 현행 시스템은 제공되는 기능, 주고받는 정보, 하드웨어, 네트워크 구성 등을 파악함
- 현행 시스템 파악 절차는 시스템 구성, 기능 현황, 시스템 인터페이스, 시스템 아키텍처, 소프트웨어 구성, 하드웨어 및 네트워크 구성 순서로 진행함
- 시스템 업무와 지원 업무를 기관 업무와 지원 업무로 구분하여 파악함
- 시스템 기능을 주요 기능과 세부 기능으로 계층형으로 표현함
- 시스템 인터페이스는 서로 다른 시스템이 통신을 하고 데이터를 주고받는 작은 장치임
1-2. 시스템 아키텍처와 소프트웨어 구성
- 시스템 아키텍처는 시스템의 구성도를 통해 파악함
- 기술 요소를 계층별로 구성하고, 업무 시스템별 아키텍처가 다른 경우, 기관 업무 처리 시스템을 기준으로 파악함
- 소프트웨어 구성도는 소프트웨어 사양, 스펙, 라이선스 방식, 개수 등을 파악함
- 소프트웨어 라이선스 비용의 중요성을 강조함
- 하드웨어 사양, 수량, 이중화 적용 여부 등을 파악함
1-3. 네트워크 및 시스템 환경 분석
- 네트워크 구성을 파악하여 물리적 네트워크 관계를 확인함
- 취약성 분석, 장애 발생 추적, 대응 기술 활용 가능성을 높임
- 시스템 환경을 분석하여 개발 기술에 대한 환경을 식별함
- 운영체제, 신뢰도, 성능, 기술 지원, 주변 기기 구축 비용 등을 고려함
- 운영체제 선택 시, 신뢰도, 성능, 기술 지원, 주변 기기 구축 비용 등을 고려함
00:01
소프트웨어 개발 환경 분석 섹션 같이 한번 공부해보도록 하겠습니다. 가장 먼저 현행 시스템 파악이라고 되어 있죠. 현행 시스템은 현재 진행되고 있는 시스템 현재 운행되고 있는 시스템 이런 뜻이에요. 이런 것들의 구성을 파악하고 있어야 된다라는 얘기죠 어떤 걸 파악을 해야 되냐 제공되는 기능 주고받는 정보 소프트웨어 하드웨어 네트워크 구성 등을 파악할 수 있어야 한다라는 거구요. 그다음에 현행 시스템 파악 절차 인해들을 파악하는 절차죠 요 순서대로 파악을 한다. 이렇게 기억을 하고 계시면 되겠습니다. 아래쪽에 그림도 나와 있구요. 각각 어떤 부분이 있는지 아래쪽에 조금 더 자세하게 차례로 접근을 하게 될 거예요. 현행 시스템 파악을 하는 이유는 현행 시스템 파악이 되어 있어야 특정 요구사항을 우리가 들어줄 수 있는지 구현해낼 수 있는지 이런 것들을 판단할 수 있기 때문에 이런 것들을 먼저 우리가 진행을 하고 있는 거죠.
00:58
넘어가보도록 할게요 첫 번째로, 현행 시스템 구성 및 기능 파악이라고 되어 있습니다. 시스템 구성과 기능을 파악하는 건데 어떻게 파악하는지 기관 업무와 지원 업무로 구분한다고 되어 있죠. 기관 업무는 주요 업무다 라고 생각하시면 되고요. 지원 업무는 말 그대로 이 주요 업무를 지원하는 업무다 이렇게 구분을 하시면 되겠습니다. 아래쪽에 예시 나와 있는데, 이걸 실제로 구현을 하는 건 아니기 때문에 이해를 바탕으로 암기를 해주시면, 될 것 같아요. 바로 넘어가도록 할게요 다음은 시스템 기능 현황 파악입니다. 단위 업무 시스템이 현재 제공하고 있는 기능을 파악하는 거다 라고 되어 있습니다. 이 기능을 주요 기능과 세부 기능으로 구분해서 계층형으로 표현한다. 이게 핵심이에요. 주요 기능과 세부 기능으로 구분해서 계층형으로 표현한다.
01:53
현재 시스템에서 제공되는 기능을 이렇게 기억을 하시면 되겠죠. 넘어가서 아래쪽에 이제 시스템 인터페이스를 봐야 되는데 인터페이스라는 개념이 굉장히 좀 폭넓고 한 단어나 또는 한 문장으로 설명을 하기가 조금 애매합니다. 그래서 조금 어려울 수 있는데, interface라는 거는 이제 서로 다른 개체 예를 들어서 사람과 장치 시스템 또는 시스템과 시스템 이런 개념으로 서로 다른 장치라든지 서로 다른 개체들이 서로 통신을 또는 데이터를 주고받는 이런 형태의 작용을 하기 위한 작은 장치라고 보시면 돼요. 자 그래서 서로 다른 시스템이 서로 통신을 한다라는 거는 서로 다른 언어를 가지고 또는 서로 다른 대화 방식을 가지고 대화를 하는 거랑 똑같은 거거든요. 자 그래서 얘네들을 일치시킬 필요가 있습니다.
02:51
그 개념이 지금 제가 형광펜으로 칠해놓은 부분이에요. 데이터의 종류나 형식 프로토콜 이건 규약이에요. 규칙과 약속이라고 보시면 됩니다. 그다음에 연계 유형 주기 등을 파악한다. 서로 통신을 하기 위해서 이 개념이라고 보시면 되겠습니다. 데이터 형식 통신 규약 연계 유형 이런 것들이 있다라고 하는 건데 각각 다 뒤에서 자세하게 배울 내용들이에요. 이런 것들을 파악해야 된다. 정도로 기억을 하시면 되겠습니다. 현행 시스템 아키텍처 및 소프트웨어 파악이라고 되어 있어요. 시스템의 아키텍처 구성 이런 것들을 파악한다는 뜻이에요. 어떻게 구성되어 있는지 구성도를 통해서 파악을 한다. 뭐 그런 뜻이에요. 기술 요소들을 마찬가지죠 계층별로 구성한다고 되어 있고요. 그다음에 업무 시스템별로 아키텍처가 다른 경우에는 가장 핵심이 되는 기관 업무 처리 시스템을 기준으로 한다.
03:49
기관 업무가 아까 뭐였죠 주요 업무 기준으로 모든 업무에 대해서 이제 아키텍처 구성을 파악하기엔 어렵기 때문에 주요 업무를 기준으로 아키텍처를 파악한다. 이렇게 보시면 되겠죠. 자 그 아래에는 소프트웨어 구성도 파악이라고 되어 있네요. 소프트웨어 구성도라는 거는 특별한 건 아니구요. 현재 우리가 가지고 있는 소프트웨어가 어떤 것들이 있는지를 본다고 보시면 돼요. 그래서 여기 보면 소프트웨어들의 사양 스펙과 라이선스 방식 개수 등을 파악해야 된다고 되어 있어요. 소프트웨어에서 들어가는 비용이 굉장히 크기 때문에 소프트웨어 라이선스 파악이 중요하다라는 거죠. 예를 들어서 현재 어떤 개발에 엑셀이라는 게 5개 정도 필요한데 현재 우리가 가지고 있는 게 3개밖에 없다라든지 아니면 현재 다 쓸 수 있는데, 한 달 뒤면 라이선스가 만료돼서 추가 비용이 들어간다 이런 부분을 파악해야 된다. 라는 거죠.
04:47
자 넘어가서 다음은 하드웨어 및 네트워크 파악입니다. 하드웨어는 장치라고 보시면 돼요. 얘네들의 주요 사양 스펙이죠. 그다음에 수량 컴퓨터로 치면 컴퓨터가 몇 대 있는지 이런 걸 얘기하는 거죠. 이중화 적용 여부 등을 파악한다 라고 되어 있어요. 여기서 이중화라는 게 상당히 중요한 개념입니다. 이중화라는 거는 두 개를 만든다. 복사를 한다. 조금 어려운 말로 백업을 한다. 이렇게 생각하시면 돼요. 서비스 기간 장애 대응 정책에 따라 결정이 되는데 이중화가 적용된 경우에는 목표 시스템에도 대부분 구축이 필요하다 이 목표 시스템은 우리가 개발하려는 또는 이제 완성시키려는 산출하려는 시스템을 얘기를 해요. 현재 지금 이게 이중화가 필요하다라고 하면 이후에도 필요하다 그만큼 뭐 중요한 정보가 오간다 이렇게 보시면 되겠죠. 그런데 이중화라는 거는 말 그대로 백업이니까.
05:41
이 이중화를 적용을 한다라는 개념은 말 그대로 구축 기술 난이도 비용 증가 이런 가능성이 당연히 높아지겠죠. 자 마지막으로, 네트워크 구성을 파악해야 됩니다. 업무 시스템들의 네트워크 구성을 파악해서 그림 형태로 표현을 이런 식으로 한다는 거죠. 이렇게 파악을 하게 되면 조직 내 서버들의 또는 이런 네트워크 구성을 물리적으로 관계를 파악할 수 있어요. 어디 위치에 뭐가 있고 이거 다음에 그다음 장치가 있고 이런 것들이죠. 자 요렇게 하게 되면 취약성 분석 예를 들어서 뭐 보안이라든지. 또는 물리적인 손상 이런 거에 대한 대응을 할 수가 있다. 뭐 그런 얘기고요. 장애가 발생되거나 발생된 장애를 추적하고 대응을 하기에 적절한 근거로 활용을 할 수가 있다라는 거죠. 이미 물리적으로 어느 위치에 존재하는지 파악이 되기 때문에 이런 거를 대응하기에 굉장히 수월하다 뭐 그런 개념이죠. 요 정도로 인제 파악을 할 수가 있다.
06:39
넘어가서 환경은 파악했으니까 시스템 구성 환경은 파악했기 때문에 이제 개발 기술에 대한 환경을 식별을 하는 형태입니다. 이런 시스템상에서 어떤 기술을 사용을 할 건지라고 보시면 돼요. 가령 운영체제부터 나와 있죠. 어떤 운영체제를 우리가 선정을 할 것인가? 아니면 우리가 어떤 운영체제를 사용하고 있는가에 대한 부분이라고 보시면 됩니다. 운영체제라는 건 앞에서도 잠깐 이야기를 했었었죠. 하드웨어 소프트웨어 리소스 관리를 해주는 애고요. 그다음에 여러 가지 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 애인데 이게 뭔지는 아래쪽에 조금 더 자세하게 나오는 부분이 있을 거예요. 대충 뭔지만 적어 놓은 거구요. 여기서 포인트는 운영체제의 종류 및 특징보다는 자 얘를 식별할 때 고려할 사항에 대해서 조금 더 집중해서 보셔야 됩니다.
07:35
여기서 운영체제 같은 경우에는 신뢰도 성능 기술 지원 주변 기기 구축 비용 등을 고려해야 된다라고 써 있는데, 각각 어떤 내용인지 간단하게 인제 설명이 되어 있거든요. 설명이 사실 뭐 이해를 돕기 위해서 설명을 한 거지 중요한 건 각각의 항목이에요. 신뢰도 성능 기술 지원 주변기기 구축 비용 이 다섯 가지가 고려해야 할 사항이다. 라는 개념이죠. 요 정도만 기억을 해주시면은 좋을 것 같습니다. 항목에 집중하시는 게 좋아요. 넘어가서 이번엔 dbms입니다. dbms도 뒤에서 자세하게 배울 거예요. 간단하게 데이터를 관리해주고 상호작용을 할 수 있게 하는 시스템이다. 정도고요. 종류 및 특징 간단하게 읽어만 보시면 되고 마찬가지예요. 식별시 고려사항은 가용성 성능 기술 지원 상호 호환성 구축 비용 등을 고려를 해야 된다. 이 항목에 조금 더 집중을 해주시면, 됩니다. 자 이번엔 미들웨어네요.
08:33
미들웨어라는 거는 미들 말 그대로 뭐랑 사이에 존재를 해서 미들이라고 표현을 하는 건데요. 운영체제가 제공하는 서비스를 좀 더 확장을 시키는 그런 역할을 합니다. 마찬가지 미들웨어는 중간에 있기 때문에 소프트웨어 어플리케이션 사이에서 왔다 갔다 통신을 할 거 아닙니까 그러면 당연히 표준화된 인터페이스를 제공을 해야겠죠. 그래서 받을 때나 보낼 때나 똑같은 형식의 인터페이스를 사용을 해서 서로 문제가 없게끔 뭐 이렇게 한다고 보시면 되겠습니다. 마찬가지 고려 사항이 있겠죠. 자 고려 사항은 가용성 성능 기술 지원 보통 요 정도 구축 비용까지 해서 대부분 다 비슷한 내용의 고려 사항들이 있죠. 특이사항 정도만 각각 각 구분을 1~2개 정도씩 해주시면, 될 것 같아요. 자 그다음에 오픈소스 소프트웨어에 대해서 제가 마지막에 하나 추가해 놨습니다.
09:31
오픈소스는 말 그대로 소스코드를 오픈했다. 공개했다. 무료로 공개했다는 뜻이에요. 오픈소스 소스코드라는 건 결국에 설계도인데 설계도를 공개를 했다는 뜻이에요. 너네 마음대로 다시 만들든가 다시 사용하든가 고렇게 해도 된다라는 의미죠 오픈소스는 말 그대로 비용이 들지 않기 때문에 이걸 제작한 제작사도 수입이 없어요. 그렇기 때문에 지속 가능성이 있는지를 잘 파악해야 됩니다. 돈을 받는 게 아니기 때문에 자 그래서 무료로 인제 사용을 할 수 있지만 이런 문제가 있고요. 그다음에 무료로 공개하는 범위에 따라서도 다양한 라이선스가 존재를 해요. 이건 무슨 얘기냐면 예를 들어서 우리가 흔히 쓰는 압축 프로그램 같은 것들 있죠. 뭐 알집이라든지. 여러 가지 이런 것들이 개인이 사용하기에는 무료인데 기업이 사용할 때는 비용을 내야 되는 경우도 있어요.
10:27
물론 rgb이 오픈 소스는 아니지만, 이런 형태로 다양한 라이선스가 존재할 수 있기 때문에 무조건 오픈 소스라고 해서 무조건 무료 이렇게 생각을 하시면 안 된다라는 거죠. 여러 가지 파악이 필요하다 이렇게 생각을 해주시면, 됩니다.
'이기적영진닷컴 정보처리기사 필기강의 > 소프트웨어 설계' 카테고리의 다른 글
[정보처리기사 올인원] 1-3-1.UI 요구사항 (0) | 2025.06.25 |
---|---|
[정보처리기사 올인원] 1-2-3.UML (0) | 2025.06.25 |
[정보처리기사 올인원] 1-2-2.요구사항 확인 (0) | 2025.06.25 |
[정보처리기사 올인원] 1-2-1.소프트웨어 개발 환경 분석 (0) | 2025.06.25 |
[정보처리기사 올인원] 1-1-1.소프트웨어 개발 방법론 (0) | 2025.06.23 |