티스토리 뷰

소프트웨어 공학적으로 더 바람직한 프로그램을 짜려고 노력해보자. 이런 내용은 소프트웨어 공학이나, 객지프에서 더 자세히 배울 예정이다.


우리가 어떤 기계 부품을 만들 때 설계를 하고 물건을 만든다. 기존의 전통적인 기계공학의 설계 방법은 많이 연구되었는데, 소프트웨어에서도 체계적 설계를 해서 효율적인 소프트웨어를 만들자고 시작되었다.


설계는 '코딩 하기 전에' 소프트웨어가 어떻게 만들어져야 하는지를 구상하고 그 후 코딩을 하는 것이다. 

설계에는 high-level 설계, low-level 설계가 있다. high-level은 추상화된 설계이고 low-level은 

high level)어떤 컴포넌트, 어떤 DB... ->구조설계, DB설계, 인터페이스 설계

low level) 좀 더 구체적으로! -> 컴포넌트 설계, 자료구조 설계, 알고리즘 설계


대표적인 low level) procedural(C언어), object-oriented(C++, java)


procedural : 업무의 처리절차 중심으로, 함수 중심

object-oriented: 객체지향에서 배움. 객체=대상, '캘린더', '스케줄'


설계원리

-추상화(abstraction)

-단계적 분해(stepwise refinement)

-모듈화(modulize)

모듈화에서는 '정보 은닉'이 중요하다.

정보은닉은 추상화와 비슷한데, 디테일을 숨기고 추상화된 기능을 알아보기 쉽도록 만드는 것이다.

구현을 위한 디테일은 되도록 숨긴다.




코딩 스타일!

=한줄에 한문장만 써라 (i++;같은거여도 한문장은 한문장이다)

=선언문과 실행문을 구분하라

=단락을 구분하자

=이름 의미있게, 의미잃지 않는 부분에서 짧게


Naming Convention




'그 외 > 소프트웨어공학' 카테고리의 다른 글

[소공] 함수형 프로그래밍  (0) 2019.01.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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 29 30
글 보관함