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