본문 바로가기

소프트웨어 공학20

[소프트웨어 공학] 객체 지향 개념과 장점 그리고 클래스와 객체 객체 지향 개념최근 소프트웨어 개발에 객체지향 기술이 많이 보급되어 사용되어지고 있습니다.새로 시스템을 개발하는 경우 거의 객체지향 기술과 언어가 사용되고 있는데 그 이유는 객체지향 기술이 여러 가지 장점을 가지고 있기 때문입니다.객체지향의 장점먼저 객체 모델은 문제를 더 자연스럽게 표현할 수 있기 때문에 개발자가 설계를 작성하고 이해하기가 쉽습니다. 또한 객체지향 개념은 자료와 함수를 함께 추상화하여 프로그램의 기본 단위로 묶어 줌으로써 변화에 영향을 적게 받습니다.함수 중심의 절차적 소프트웨어는 그 기본 기능이 이미 개발되어 있음에도 불구하고 처음부터 새로 작성되는 경우가 많습니다. 약간의 차이를 예를 들면 자료 구조가 같더라도 타입이 다르거나, 같은 기능을 하는 함수라도 매개 변수 타입의 차이 때문.. 2024. 5. 24.
[소프트웨어 공학] 요구사항 추출 방법 2 브레인스토밍 회의브레인스토밍은 여러 명으로부터 정보를 얻는 효과적인 방법입니다. 일반적으로는 그룹으로 테이블에 앉아 아이디어를 내는 목적으로 특정 토픽에 대하여 토론합니다. 하지만 인터뷰와 같이 브레인스토밍 과정에 체계를 더하면 더 많은 정보를 추출하는데 도움이 됩니다. 훈련된 요원이 주재하여 브레인스토밍 과정을 정돈하는 것이 성공하는 키 중의 하나입니다.브레인스토밍 과정을 구성하고 효과적으로 수행하는 방법은 다음과 같다.  관련자 모두가 참여하는 회의를 소집한다. 효과적인 브레인스토밍 작업은 5명 내지 30명이 참여하여야 한다.브레인스토밍 회의를 운영하고 리드할 수 있는 경험이 많은 사람을 회의 주재자로 선정한다. 주재자는 원할 경우 토의에 참여할 수도 있다.테이블에 참석자를 배석시키고 작업할 종이를 .. 2024. 5. 24.
[소프트웨어 공학] 요구사항 추출 방법 요구사항 추출 방법요구사항은 누구나 알고 있는 자명한 사실이 아닙니다. 여러 가지 방법을 동원하여 사용자로부터 또는 여러 정보를 통하여 추출하여야 합니다. 이번 글에서는 요구사항을 추출하는 여러 가지 방법에 대하여 알아봅시다. 각 방법마다 추출하는 요구사항의 범위와 효율이 다릅니다. 즉 요구사항의 범위가 넓게 추출되는 방법이 있고 깊게 추출되는 방법이 있습니다.요구를 모으는 작업은 업무 프로세스와 애플리케이션 도메인에 대한 정보에 초점을 두어야 합니다. 특히 다음과 같은 질문에 대한 답을 얻기 위하여 여러 가지 요구 추출 방법을 동원하게 됩니다. 자동화 시스템을 구축하는 것은 어떤 업무를 위한 것인가?현재 업무의 상황, 즉 어떻게 운용되는가?시스템의 환경과 배경은 무엇인가?현재의 업무 프로세스, 입출력은.. 2024. 5. 24.
[소프트웨어 공학] 요구사항 분석과 추출 요구사항 추출요구 사항 추출(requirement elicitation)은 소프트웨어 개발에서 특별히 중요한 작업이다. 사용자가 무엇을 원하는지 결정을 내리는 작업이며 여러가지 기법이 동원됩니다. 현재 사용되는 수동 작업 시스템이 있다면 요구를 추출하는 작업은 비교적 수월합니다. 하지만 아직 존재하지 않아 문제에 대한 해법을 생각해 보지도 않은 경우 사용자와 함께 아이디어와 해결책을 찾는 것이 어려울 수 있습니다.요구 사항을 추출하기 위하여 다음 세 가지 단계의 작업이 필요하다.Step 1. 응용에 대한 정보 출처 파악Step 2. 응용에 대한 정보 취합Step 3. 요구와 제한 사항의 정의요구 추출은 응용 분야에 대한 정보를 모으는 일부터 시작된다. 많은 조각 정보들이 응용문제를 이해하고 요구와 제한 .. 2024. 5. 23.