Topcit/소프트웨어 개발
-
사용자 인터페이스 설계 원리Topcit/소프트웨어 개발 2018. 6. 11. 15:12
< 사용자 인터페이스 설계 개념과 원리 일관성 필요 사용자 인터페이스는 일관성 있게 만들어야 한다. 개발 이전에 사용자 인터페이스에 대한 표준안을 만들어야 하며 개발 후에도 이를 점검하여 오류를 수정하여야 한다. 사용자 중심 설계 사용자 인터페이스는 사용자를 위한 것이기 때문에 사용자를 중심으로 설계되어야 한다. 피드백 사용자가 잘못 버튼을 누르거나 잘못된 연산을 수행하고자 할 때 자신의 잘못을 쉽게 파악할 수 있도록 해주어야 한다. 파괴적인 행동에 대한 확인 사용자가 자료 또는 파일을 지우려고 하면 이를 실행에 옮기기 전 확인할 필요가 있다. HCI HCI의 개념 모든 시스템은 기능 수행 부분과 인터페이스 연계부분으로 나눌 수 있다. 내부 설계 : 컴퓨터를 작동하는 부분에 대한 설계 외부 설계 : 사용..
-
객체지향 설계 과정Topcit/소프트웨어 개발 2018. 6. 11. 15:11
객체지향설계 개념과 원리 정의 객체지향 분석 과정에서 밝혀진 사용자 요구사항을 어떻게 소프트웨어의 모습으로 나타낼 것인가에 초점을 맞춘다. 구현에 관한 세부사항을 제시하고 구체적 실현 방법을 정한다. 객체와 클래스 클래스는 유사한 객체들의 모임이다. 객체는 측정 속성의 모임에 의해 기술된다. 비슷한 객체들을 묶는 작업을 분류화라 한다. 캡슐화 정보 은닉을 통한 추상화, 독립성 향상을 얻을 수 있다. 상속 클래스 사이에 유사성이 존재할 때 유사성을 모아 하나의 새로운 클래스를 정의한다. 상위 클래스는 하위 클래스들의 공통적인 속성과 오퍼레이션을 가진다. 상위 클래스의 정보는 하위 클래스에 상속된다. 다형성 동일한 이름의 오퍼레이션이 클래스에 따라 다르게 동작하는 것 객체 지향에서 다향성은 상속 관계에서 사..
-
소프트웨어 아키텍처 설계Topcit/소프트웨어 개발 2018. 6. 11. 15:11
소프트웨어 아키텍처 설계 소프트웨어 아키텍처 개요 소프트웨어 개발에 영향을 미치고 복잡도를 높이는 다양한 요소들을 체계적으로 다루기 위한 개발 대상 소프트웨어의 청사진 소프트웨어 아키텍처 설계 절차 요구사항 분석 제안요청서, 인터뷰, 회의 등을 통해 요구사항을 파악 기능, 비 기능 요구사항을 분류하고 명세한다. 아키텍처 분석 및 설게 품질 요소를 식별하고 우선순위를 결정한다. 아키텍처 검증 및 승인 아키텍처 유형 저장소 구조 시스템에서 사용되는 모든 공유 데이터를 한 곳에 보관하여 모든 서브시스템들이 데이터를 공유할 수 있도록 만든 구조 다량의 데이터를 공유하는데 적합한 방식 MVC 구조 GUI 설계에서 많이 활용되는 프레임워크 한 객체의 표현이 수정되면 다른 모든 표현도 갱신된다. 수정이 단순화되며 재..
-
소프트웨어 설계 원리Topcit/소프트웨어 개발 2018. 6. 11. 15:10
소프트웨어 설계 원리 분할 분할과 정복 사용자의 요구사항을 지속적으로 분할하여 문제영역의 복잡성을 줄이고 이를 통해 얻어진 결과를 적절한 그룹으로 재조합 하는 것 서브 시스템 시스템 상위 레벨에서 분할한 시스템 구성 요소 시스템 설계자는 문제를 서브 시스템으로 분할하고 추후 여러 개발자들이 서로 다른 서브시스템을 독립적으로 개발할 수 있도록 한다. 추상화 상세한 수준의 구현 보다는 상위 수준에서 제품의 구현을 먼저 생각하는 것 추상화를 통해 관심분야가 아니거나 필수적이지 않은 세부적인 것을 생략함 유형 자료 추상화 제어 추상화 과정 추상화 정보 은닉 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메시지를 전달할 수 있도록 하는 개념 모듈들 사이의 독립성을 유지시켜준다. 단계적 정제 프로그램 구조에서..
-
요구사항 분석과 명세화Topcit/소프트웨어 개발 2018. 6. 11. 15:05
소프트웨어 요구사항 분석 요구사항 분석 개요 요구사항은 프로젝트 범위와 규모를 결정하는 가장 중요한 정보이다. 프로젝트 전체 과정 중 적극적인 변경, 추적 관리를 통한 현행화가 반드시 필요하다. 요청자의 요구사항을 개발하고자 하는 시스템의 범위와 특징에 맞추어 정제해 가는 과정 설계를 진행하기 이전 주어진 시스템에 대한 이해도를 높여가는 과정 요구사항 분석 단계의 주요 초점은 How가 아닌 What에 맞춰져 있다. 시스템이 수행할 가능에 초점을 맞추어 시스템의 목표를 기술하며 어떻게 수행 될지는 기술하지 않는다. 요구사항 분류 기능적 측면 기능적 요구사항 목표 시스템 구현을 위하여 요구되는 소프트웨어 기능과 속성 시스템에서 필요한 기능, 동작, 행위를 직접적으로 기술 비기능적 요구사항 시스템의 전체 품질..
-
소프트웨어 기반 기술Topcit/소프트웨어 개발 2018. 6. 11. 14:54
자료구조 정의 컴퓨터에서 다양한 자료를 더욱 효율적으로 표현, 활용할 수 있도록 자료의 특성과 사용 용도를 고려하여 조직적, 체계적으로 구분하여 표현한 것 분류 선형구조 배열 리스트 선형 리스트 연결 리스트 스택 큐 비선형구조 트리 그래프 자료구조의 선택 기준 자료의 처리 시간 자료의 크기 자료의 활용 빈도 자료의 갱신 정도 프로그램의 용이성 자료구조의 활용 배열 리스트의 표현, 다항식의 덧셈 문제 해결, 희소행렬 등 리스트 배열의 구현, DBMS 인덱스, 탐색, 정렬 등 스택 인터럽트 처리, 재귀 프로그램의 순서 제어, 서브루틴의 복귀 번지 저장, 후위 표기법 수식 연산, 텍스트 에디터 Undo 기능 등 큐 운영체제의 작업 스케줄링, 대기 행렬의 처리, 비동기 데이터 교환, 키보드 버퍼 이용, 스풀 운..
-
소프트웨어 개발 및 관리Topcit/소프트웨어 개발 2018. 6. 11. 14:53
소프트웨어 특성 하드웨어와 다른 점 SW는 HW에 비해 수정하기가 쉽다. SW는 오래 쓰더라도 낡지 않지만 유지보수 비용은 HW보다 더 많이 소모된다. SW의 비가시성으로 인해 진행 상태를 알기 어렵다. SW는 요구사항을 정의하기 어렵다. 수확체증의 법칙이 적용된다. 수확체증의 법칙 : 추가 생산해도 추가 비용이 들지 않는다. 소프트웨어의 특징 투입 인력의 수와 성과가 비례하지 않다. 소프트웨어가 기기의 원가 경쟁력을 결정한다. 재사용이 가능함 소프트웨어 공학의 중요 요소 소프트웨어 공학 소프트웨어의 개발, 운용, 유지보수, 생명주기 전반을 체계적, 서술적, 정량적으로 다루는 학문 방법 구성 프로젝트 계획 수립과 추정, 시스템과 소프트웨어 분석, 자료구조, 프로그램 구조, 알고리즘, 코딩, 테스팅, 유지..