
총 25개
-
소프트웨어 개발 생명주기 모델의 유형과 특징2025.01.151. 반복형 모델 반복형 모델은 구축 대상을 병렬로 나누어 개발한 뒤 통합하거나 반복적으로 개발한 이후에 완성하는 모델입니다. 이 모델은 병행 개발로 인한 일정 단축이 가능하고 초기 버전 생성으로 동작 확인이 가능한 장점이 있지만, 관리 비용 증가와 개발 범위 변경 가능성이 높은 단점이 있습니다. 따라서 프로젝트 구성 변경이 잦고 유연한 대처가 필요한 분야에 적합합니다. 2. 프로토타이핑 모델 프로토타이핑 모델은 고객의 요구사항을 시제품으로 구현하고 고객 피드백을 반영하여 최종 결과물을 만들어가는 모델입니다. 이 모델은 사용자 요구...2025.01.15
-
구조적 방법론, 정보공학 방법론, 객체지향 방법론의 특징과 장단점2025.01.161. 구조적 방법론 구조적 방법론은 소프트웨어 개발 초기 단계에서 주로 사용되는 전통적인 방법론입니다. 해당 방법론은 시스템을 상위 단계에서 하위 단계로 분해하여 논리적으로 분석하고 설계하는 절차를 따릅니다. 구조적 방법론의 핵심은 단계적 접근 방식으로, 시스템을 기능별로 나누어 모듈화하고 각 모듈을 독립적으로 개발할 수 있게 합니다. 이를 바탕으로 복잡한 시스템을 체계적으로 관리하고, 이해하기 쉽게 만드는 데 중점을 둡니다. 그러나 구조적 방법론은 변경 관리가 어려운 단점이 있습니다. 요구사항 변경이나 추가가 발생할 경우, 전체 ...2025.01.16
-
소프트웨어공학) 프로젝트 일정계획 기법 소개 및 사례 분석 보고서2025.05.091. 프로젝트 관리 모델 소프트웨어 분야에서의 프로세스 관리 모델에는 SPICE와 CMMI 등이 활용되고 있다. SPICE는 하향식 접근방법을 취하는 모델로써 대표적인 다양한 SPI모형들을 참조하여 각 모형들의 장점을 취하고 조직 유형과 프로젝트 규모에 제약을 받지 않는 프로세스 개선 및 심사를 위한 프레임워크를 제공한다. CMMI는 소프트웨어 개발 조직의 역량을 평가하기 위해 조직 차원에서 프로세스를 개선하는 단계적 로드맵을 제공한다. 6시그마는 CMMI에서 제시하는 단계별 수준을 관리하기 위한 수단으로 활용되며, PSP(Pers...2025.05.09
-
소프트웨어공학의 필요성과 IT 전문가로서의 학습 중요성2025.05.141. 소프트웨어공학의 필요성 소프트웨어공학은 소프트웨어의 생명주기 전반에 걸친 체계적이고 조직적인 접근을 제공하는 학문 분야입니다. 이를 통해 높은 품질의 소프트웨어를 효율적으로 개발할 수 있으며, 복잡한 문제 해결 능력을 키울 수 있습니다. 현대 사회에서 소프트웨어는 필수적인 구성 요소로 자리 잡고 있어 그 품질과 안정성이 중요합니다. 2. IT 전문가로서의 역할과 소프트웨어공학 IT 전문가에게 소프트웨어공학은 필수적인 학문 분야입니다. 소프트웨어공학은 IT 전문가에게 다양한 프로세스와 방법론을 제공하여 개발 프로젝트의 성공 가능...2025.05.14
-
소프트웨어 위기에 대하여 논하시오2025.05.151. 소프트웨어 위기 소프트웨어 위기란 컴퓨터 발달 과정에서 하드웨어 개발 속도는 빠른 반면, 소프트웨어 개발 속도가 더디게 나타남에 따라 소프트웨어가 사용자의 요구사항을 충족시키지 못하는 문제가 발생할 수 있다는 것을 일종의 심리적 위기론을 의미한다. 소프트웨어 위기라는 단어는 소프트웨어 공학이라는 학문이 정립될 때 사용되었던 용어로서, 현재는 소프트웨어 위기라는 용어가 크게 부각되지 않는 상태라 할 것이다. 21세기 초만 하더라도 전 세계적으로 검증 가능하고 안정적으로 사용할 수 있는 소프트웨어가 많지는 않았다. 반면 하드웨어는...2025.05.15
-
AI시대에 소프트웨어공학이 나아갈 길2025.05.151. 소프트웨어공학과 인공지능 소프트웨어공학은 컴퓨터 소프트웨어의 계획, 개발, 검사, 보수, 관리 등을 위한 기술과 그것을 연구하는 분야이다. 인공지능은 일반적으로 인간지능과 구별하여 기계가 판단하는 지능을 의미하며, 컴퓨터과학에서는 인간처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술을 의미한다. 2. AI를 위한 소프트웨어공학 인공지능을 구현하기 위해서는 딥러닝과 같은 소프트웨어 핵심 기술이 필요하며, 거대 인공지능 소프트웨어 개발 과정에서 발생할 수 있는 문제를 해결하기 위해 공학적 접근이 필요하다. 이...2025.05.15
-
[소프트웨어공학] 위험관리 활동 중 위험 제어의 목적에 대해 설명하고 Boehm의 위험 항목에 대해 기술하시오. (10가지)2025.05.161. 위험관리의 개념 위험관리는 정보시스템 개발사업 수행 시 발생할 수 있는 문제의 확률과 영향을 예측해 보다 나은 해결책을 제공하기 위해 수행하는 활동을 의미한다. 이러한 작업을 수행하기 위해 카네기멜론대학교 소프트웨어공학연구소(SEI)는 시스템의 반복 단계 모델을 제시하며, 각 단계의 내용은 정의(Identify), 분석(Analyze), 계획(Plan), 추적(Track), 통제(Control) 등이다. 2. 위험 제어의 목적 위험 제어의 가장 큰 목적은 조직 자산의 보호이다. 자산은 조직이 사용하는 네크워크나 시스템을 구성하...2025.05.16
-
소프트웨어 공학2025.01.161. 스크럼 기법 스크럼은 소프트웨어 개발 방법론의 하나로, 제품 책임자(PO), 스크럼 마스터(SM), 개발팀(DT)으로 구성된다. 제품 백로그, 일일 스크럼 회의, 스프린트 검토 회의, 스프린트 회고 등의 프로세스를 통해 개발을 진행한다. 2. XP(eXtreme Programming) XP는 고객의 요구사항이 자주 변경되는 소규모 프로젝트에 적합한 방법론이다. 짝 프로그래밍, 공동 코드 소유, 테스트 주도 개발 등의 실천 방법을 사용한다. 3. 현행 시스템 파악 현행 시스템을 파악하는 단계에는 시스템 구성 현황, 시스템 기능,...2025.01.16
-
[소프트웨어공학] 소프트웨어 개발과정2025.05.131. 소프트웨어 개발 과정 소프트웨어 개발 과정의 각 단계에서 고려해야 할 중요한 요소들을 설명하였습니다. 분석 단계에서는 사용자 인터뷰를 통한 요구사항 수집 및 명세서 작성이 중요하고, 설계 단계에서는 사용자 친화적인 인터페이스와 아키텍처 설계가 중요합니다. 구현 단계에서는 코딩 규칙 준수와 버전 관리 시스템 사용이 중요하며, 테스트 단계에서는 단위 및 통합/시스템 테스트 진행이 중요합니다. 마지막으로 운영/유지 단계에서는 사용자 피드백 수집과 지속적인 업데이트 및 유지보수가 중요합니다. 1. 소프트웨어 개발 과정 소프트웨어 개발...2025.05.13
-
안드로이드 앱의 3가지 액티비티에 대해 설명하고 전이 과정을 기술하시오2025.05.141. 안드로이드 앱의 액티비티 상태 안드로이드 앱에서 액티비티(Activity)는 resumed, paused, stopped의 3가지 상태를 가집니다. resumed 상태는 '계속해서 ~하고 있는' 의미이고, paused 상태는 '잠시 멈춰진 동작/상태'를 의미합니다. stopped 상태는 '일시적으로 멈춘 동작/상태'를 의미합니다. 2. 액티비티 상태 전이 과정 액티비티의 상태를 전이시키기 위해서는 메서드 호출이 필요합니다. resumed 상태에서 paused 상태로 전환하려면 반드시 return문을 포함해야 합니다. pause...2025.05.14