Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- spring data jpa
- flet
- kotlin
- chatGPT's answer
- 역학
- 고전역학
- Database
- JVM
- android
- 데이터베이스
- write by chatGPT
- NIO
- write by GPT-4
- 유닉스
- 시스템
- 코틀린
- spring integration
- python
- 인프라
- 리눅스
- oracle
- 자바암호
- 자바
- GPT-4's answer
- 파이썬
- 소프트웨어공학
- Java
- jpa
- 웹 크롤링
- 자바네트워크
Archives
- Today
- Total
기억을 지배하는 기록
소프트웨어 설계 본문
728x90
PLT 15 소프트웨어 설계
정의
정해진 일정과 목표를 성취하기 위해서 명세화된 요구사항을 만족시키는 방법을 결정하는 과정
분석단계의 요구명세를 기초로 어떻게 시스템으로 구현할 것인가를 기술하는 과정
필요성
소프트웨어의 잘못된 설계에서 발생하는 Overhead를 최소화하여, 시스템 구현, 유지보수 단계에서의 관리 효용성 필요
유지보수 단계에서 기하급수적으로 증가되는 변경비용을 설계단계에서 줄이기 위해
기본원리
추상화 : 복잡한 문제를 이해 또는 기술시 문제의 핵심부분만 개념화
기능추상화 : 함수, 메소드
자료추상화 : 자료형, 클래스
제어추상화 : 명령, 이벤트
정보은닉 : 모듈을 사용하기 위한 최소한의 접근 정보만 외부에 표시하고, 자세한 내용과 기능은 모듈의 내부에 숨김
구조화 : 분할의 원리, 복잡한 문제영역을 기능모듈 별로 세분화, 모듈관계 구조화, 세분화는 이해를 용이하게 하고 유지보수성을 향상시킨다.
모듈화 : 소프트웨어 구성요소를 서브루틴, 서브시스템, 작업단위 등으로 분류, 모듈의 결합도가 낮고, 응집도가 높을수록 모듈의 독립성이 보장됨
728x90
'오래된글 > 소프트웨어공학' 카테고리의 다른 글
소프트웨어 테스트 단계 (0) | 2018.04.19 |
---|---|
소프트웨어 재사용 정책 (0) | 2018.04.19 |
소프트웨어 비용산정 - 2 (0) | 2018.04.19 |
소프트웨어 비용산정 - 1 (0) | 2018.04.19 |
소프트웨어 모듈 결합도와 응집도 (0) | 2018.04.19 |
Comments