전산학/소프트웨어공학
-
소프트웨어 유지보수: 수정 유지보수 (Corrective Maintenance), 적응 유지보수 (Adaptive Maintenance), 완성 유지보수 (Perfective Maintenance), 예방 유지보수 (Preventive Maintenance)전산학/소프트웨어공학 2024. 8. 24. 00:56
소프트웨어 유지보수는 소프트웨어 제품이 시장에 출시된 후에 수행되는 활동을 말하며, 이는 소프트웨어의 수정, 개선, 버그 수정 및 적응 등을 포함합니다. 유지보수는 크게 네 가지 유형으로 구분됩니다. 각각의 유형은 소프트웨어가 계속해서 효과적으로 기능할 수 있도록 지원합니다. 간단하게 각 유형을 설명하고 외우기 쉽게 비유를 들어보겠습니다.1. 수정 유지보수 (Corrective Maintenance)설명: 이미 발견된 버그나 문제를 수정하는 유지보수입니다. 소프트웨어 사용 중 발견된 오류를 고치거나, 소프트웨어가 예상대로 작동하지 않을 때 수행됩니다.비유: '차가 고장 나서 정비소에 가는 것'과 비슷합니다. 문제가 발생했을 때 해결하는 유지보수입니다.2. 적응 유지보수 (Adaptive Maintenan..
-
동료검토(Peer Review), 워크스루(Walk Through), 인스펙션(Inspection) 쉽게 구분하기전산학/소프트웨어공학 2024. 8. 23. 03:27
동료검토, 워크스루, 인스펙션은 소프트웨어 개발 과정에서 코드나 문서를 검토하는 세 가지 방법입니다. 각각의 방법은 목적과 절차가 다르며, 쉽게 구분할 수 있도록 기준을 정리해 보겠습니다.1. 동료검토 (Peer Review)정의: 동료들 간의 비공식적인 코드나 문서 리뷰 과정입니다.특징:비공식적: 일반적으로 형식적 절차 없이 진행됩니다.소규모 그룹: 주로 2~3명 정도의 동료 개발자가 참여합니다.주관성: 코드 작성자가 참여하며, 자유롭게 의견을 나누는 방식입니다.목적: 버그를 찾거나, 코드 품질을 개선하기 위해 서로 피드백을 주고받습니다.구분 포인트: 비공식적이며, 동료 간의 자유로운 의견 교환이 핵심입니다.쉽게 기억하는 법: 동료와 가볍게 의견을 나누는 모습(비공식적, 자유로운 피드백).2. 워크스루..
-
시퀀스 다이어그램, 액티비티 다이어 그램, 상태 다이어그램, 협력 다이어그램전산학/소프트웨어공학 2024. 8. 23. 02:57
시퀀스 다이어그램, 액티비티 다이어그램, 상태 다이어그램, 협력 다이어그램은 UML(Unified Modeling Language)에서 객체 지향 시스템을 모델링하기 위한 다양한 도구입니다. 각각의 다이어그램은 시스템의 다른 측면을 시각화하는 데 사용됩니다. 예시를 들어 설명하겠습니다.1. 시퀀스 다이어그램 (Sequence Diagram)설명: 시퀀스 다이어그램은 객체 간의 메시지 교환을 시간 순서에 따라 나타냅니다. 주로 시스템의 동작을 설명하거나 특정 시나리오를 문서화하는 데 사용됩니다.예시: 온라인 쇼핑몰에서 고객이 상품을 구매하는 시나리오Customer | ShoppingCart | PaymentService | OrderService------------..
-
팬인(Fan-In), 팬아웃(Fan-Out) 제대로 이해하기 (Feat. "X" a.k.a Twitter Architecture)전산학/소프트웨어공학 2024. 8. 13. 00:24
𝐈𝐧𝐭𝐫𝐨 팬인(Fan-In), 팬아웃(Fan-Out) 개념은 누구나 정보처리기사를 준비하면서 쉽다고 느꼈을 내용이다. 그러나 이 내용이 왜 나왔는지, 실무에 어떻게 적용되는지는 잘 모르는 사람들이 많다. 이 글에서는 팬인, 팬아웃에서 '팬'의 의미, 그리고 실제 아키텍쳐에 어떻게 적용되는지 설명해본다. ■ 팬(Fan)이란?사실 팬인(Fan-In), 팬아웃(Fan-Out) 용어는 전자공학, 디지털 회로 설계에서 시작된 용어이다. 여기서 팬(Fan)은 회로나 시스템에서 신호가 분배되거나 집합되는 것을 의미한다. 선풍기나 환풍기에서 볼 수 있는 팬(Fan)에서 신호가 분산되거나 집중되는 모습을 연상할 수 있어 이름을 붙인 것으로 보인다. 팬인(Fan-In)은 하나의 게이트가 여러 입력을 받을 수 있는 최대 ..
-
기능적 요구사항 vs 비기능적 요구사항전산학/소프트웨어공학 2024. 8. 1. 20:07
기능적 요구사항과 비기능적 요구사항은 소프트웨어 개발에서 중요한 개념입니다. 이 두 가지 요구사항은 시스템이 어떻게 작동해야 하는지와 시스템이 만족해야 하는 성능 및 품질 기준을 정의합니다. ### 기능적 요구사항 (Functional Requirements) 기능적 요구사항은 시스템이 수행해야 하는 특정 기능이나 작업을 정의합니다. 이러한 요구사항은 사용자가 시스템을 통해 무엇을 할 수 있는지를 설명하며, 시스템의 동작과 관련된 모든 측면을 다룹니다. **예시:** 1. **사용자 로그인:** 사용자가 사용자 이름과 비밀번호를 입력하여 시스템에 로그인할 수 있어야 한다. 2. **데이터 검색:** 사용자가 특정 키워드로 데이터베이스에서 정보를 검색할 수 있어야 한다. 3. **주문 처리:** 시스템은 ..
-
상향식 비용 산정기법 vs 하향식 비용 산정기법전산학/소프트웨어공학 2024. 8. 1. 20:06
비용 산정기법은 프로젝트 관리나 예산 수립 등에서 중요한 역할을 합니다. 상향식 비용 산정기법과 하향식 비용 산정기법은 각각 다른 접근 방식을 사용하여 비용을 추정하는 방법입니다. ### 상향식 비용 산정기법 (Bottom-Up Estimation) **개념:** 상향식 비용 산정기법은 프로젝트의 각 세부 작업이나 구성 요소의 비용을 개별적으로 추정한 후 이를 합산하여 전체 비용을 산정하는 방법입니다. 이 방법은 세부적인 작업 수준에서부터 시작하여 전체 프로젝트의 비용을 계산합니다. **장점:** 1. **정확성**: 각 작업이나 구성 요소의 비용을 구체적으로 계산하기 때문에 비교적 정확한 비용 산정이 가능합니다. 2. **세부 정보 제공**: 프로젝트의 각 부분에 대한 상세한 비용 정보를 제공하므로 예..
-
비즈니스 관리 용어: RTO, RPO, MTD, WRT, MTRS전산학/소프트웨어공학 2024. 8. 1. 20:05
RTO(Recovery Time Objective)는 IT와 비즈니스 연속성 관리에서 중요한 개념입니다. RTO는 시스템, 네트워크, 애플리케이션 등 주요 비즈니스 기능이 중단된 후 복구되어 정상적으로 작동하는 데 걸리는 최대 시간을 의미합니다. 이 시간 내에 복구가 이루어지지 않으면 비즈니스에 치명적인 손실이 발생할 수 있습니다. RTO와 비슷한 개념들로는 RPO(Recovery Point Objective), MTD(Maximum Tolerable Downtime), WRT(Work Recovery Time), MTRS(Mean Time to Restore Service) 등이 있습니다. 1. **RPO(Recovery Point Objective)**: 데이터 손실 허용 기간을 의미합니다. 시스템 ..
-
스토리보드, 목업 비교하기전산학/소프트웨어공학 2024. 8. 1. 20:03
스토리보드와 목업은 제품 개발과 디자인 과정에서 중요한 역할을 하는 도구들입니다. 두 가지 모두 아이디어를 시각적으로 표현하고, 이해관계자와의 소통을 돕는 역할을 하지만, 그 목적과 사용 방식에 약간의 차이가 있습니다. ### 스토리보드 (Storyboard) 스토리보드는 이야기를 시각적으로 표현한 도구로, 특히 영화, 애니메이션, 광고, UX/UI 디자인 등에서 많이 사용됩니다. 주로 다음과 같은 특징을 가집니다: 1. **시각적 이야기 전달**: - 여러 장면이나 스크린을 순차적으로 배치하여 사용자 경험이나 스토리를 시각적으로 설명합니다. - 각 장면에는 대화, 행동, 화면 구성 요소 등이 포함됩니다. 2. **사용자 흐름 파악**: - 사용자가 제품이나 서비스를 이용하면서 겪게 되는..