728x90
반응형

컴퓨터(Computer Science)/소프트웨어공학(Software engineering) 35

소프트웨어공학을 배웠다면 대답이 가능한 질문들

1. 소프트웨어 공학은 어떤 문제를 다루기 위한 것이고 구체적인 목표는 무엇인가? 2. 소프트웨어 개발 작업의 세가지 큰 영역은 무엇이고 각 작업의 목표는 무엇인가? 3. 개발 프로세스 단계별 결과 작업물이 무엇인지 아는가? 예를 들어 아키텍쳐 설계, 사용자 매뉴얼 초고, 비용 예측은 어느 단계의 결과물인가? 4. 소프트웨어의 유지 보수에 초점이 맞춰지는 이유는 무엇인가? 5. 소프트웨어 공학이 다른 공학(기계 공학, 토목 공학, 건축 공학 등) Physical Engineering 과 다른 점은 무엇인가? (엔지니어링 방법 측면에서) ///////////////////////////////////////////////////////////////////////////////////////////////..

소프트웨어공학(4) 개발자가 알아야 하는 지식체계(SWEBOK)

SWEBOK(Software Engineering Body Of Knowledge) 컴퓨터 학회인 IEEE(Institute of Electronics and Electrical Engineering) 산하의 소프트웨어 공학 표준위원회와 ACM(Association for Computing Machinery) 가 작업해서 만들어졌고 지금은 V 3.0 까지 나왔다. 다운받고 싶으면 링크로 들어가면 된다. https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3 우선 11개의 주요 영역이 있다. 세부적인 것을 살펴볼 수는 없지만 겉핥기나마 해보자 ㅎㅎ 1. 소프트웨어 요구분석 사용자 요구의 추출, 분석, 검증, 관리 2. 소..

소프트웨어공학(3) 소프트웨어 개발 접근 방법(단계적 개발 프로세스)

개발을 하려면 어떤 순서로 하는지가 정말 중요한데 이 방법을 따르지 않으면 효율이 떨어지거나, 기간이 오래걸리거나, 품질이 낮아지는 경우가 발생한다. 4가지정도의 단계가 있다. 처음부터 살펴보자 1) 요구분석 소프트웨어 시스템이 풀어야 할 문제를 이해하기 위해서 하는 일 시스템이 어떻게 작동을 해야하느냐 보다는 시스템으로부터 무엇이 필요한가를 생각해보아야 한다. 요구분석단계의 목표는 소프트웨어 요구 명세서로 요구를 문서화 하는 일이다. 그 목표를 이루기 위해서 2가지 작업이 있는데 문제분석과 요구정리 2가지가 있다. 문제와 그 배경을 잘 이해하고 개발할 시스템의 요구를 찾아야 하고 문제를 분석한 뒤에는 요구를 문서로 정리한다. 이를 요구 명세서(requirement specification 이라고 부른다..

소프트웨어공학(2) 소프트웨어의 품질 결정 요소

소프트웨어는 비용, 일정, 품질과 같은 변수를 중요하게 여기는데 그 중에 품질 품질은 어떠한 요소가 결정하는지 알아보겠다. 사실 품질은 삼각 균형이라고 해서 기술, 인력, 프로세스가 결정한다. 그렇지만 소프트웨어가 완성된 자체를 따지자면, 다시말해서 국제표준(ISO 9126) 에 근거하여 소프트웨어의 품질에 대하여 말하자면 기능성, 신뢰성, 사용 용이성, 효율성, 유지 보수성, 이식성 까지 6 가지를 말할 수 있다. #기능성(functionality) 소프트웨어가 사용될 때 원래 정한 또는 내재된 요구를 만족시키는 기능을 제공하는 능력 요구를 다 시켜야 한다는 얘기다. #신뢰성(reliability) 소프트웨어가 정해진 수준의 성능을 유지할 수 있는 능력 사용자가 많아짐으로 프로그램이 견디지 못했다던가 ..

소프트웨어공학(1) 필요성과 특징

소프트웨어야 그냥 만들면 만드는거지 뭐 공학적으로 학문을 구분하여 배워야하느냐? 라고 할 수 있는데 소프트웨어 공학의 왜 필요한지 알아보자 #소프트웨어공학의 필요성 어떠한 상품에서 소프트웨어의 비중이 높아졌다. 예를 들어서 무인자동차는 "자동차"라서 지불하는 비용보다 "무인" 이라는 소프트웨어에 지불하는 비용이 많아진 것이다. 소프트웨어의 복잡도가 나날이 복잡해진다. 위에 무인자동차처럼 소프트웨어 많은 요구사항을 만족하게 만들어야하다보니깐 어떠한 원리, 순서 없이는 개발을 하기가 어려워졌다는 것이다. 소프트웨어는 고객의 요구에 맞춰서 개발해야한다. 즉 고품질, 저비용, 단기간에 완성되기를 원한다. 그래서 어떠한 원칙하에 효율적으로 개발해야한다. 웹환경의 소프트웨어 수요가 급증했다. 온라인 쇼핑이라던가 모..

728x90
반응형