C 프로그래밍 언어용 UML
UML은 C++를 사용하여 모델링 시스템에 가장 일반적으로 사용됩니다.제 프로젝트에서 C는 구현 언어입니다.C에 적용 가능한 UML 전략에 대한 자료를 찾고 있습니다.설계 시 UML을 사용하여 시스템의 다양한 측면을 표현하고 싶습니다.
나는 C를 위해 특별히 UML을 사용하는 것에 대해 논의하고 있는 기존의 어떤 자료도 알지 못합니다.다른 사람들이 언급했듯이, UML은 언어에 구애받지 않습니다.
UML을 사용하면 문제 도메인에 대한 모델과 구현을 위한 모델을 가질 수 있습니다.문제 도메인을 C의 관점에서 모델링하지 않고 높은 수준의 OO로 모델링해 보십시오.문제 도메인을 충분히 이해한 후 구현 모델링을 시작할 수 있습니다.
절차형 C 구현을 모델링하는 경우 다음 다이어그램이 유용할 수 있습니다.
- 클래스 다이어그램:
- C 모듈 API 표시
- C 모듈 관계 표시(대부분 OO이 아닌 경우 종속성)
- 구조 및 열거형 표시(< 고정관념> 사용)
- 패키지 다이어그램:라이브러리의 내용(모듈), 라이브러리 간의 종속성 관계를 보여주기
- 활동 다이어그램:IMT2000 3GPP - 사소한 알고리즘 순서도
- 시퀀스/협업 다이어그램:모듈/엔티/입력/출력 간 이벤트/메시지가 어떻게 시간 내에 발생하는지 보여줍니다.
- 상태도 다이어그램:물론 국가 기계의 경우 말입니다!
클래스 다이어그램을 확장하면 절차 스타일 C에 대해 다음과 같은 방법으로 해당 다이어그램을 "남용"할 수 있습니다.
- 글로벌 외부 기능 -> 공개 방식
- 로컬 정적 함수 -> 전용 방법
- 글로벌 외부 변수 -> 공개 구성원
- 로컬 정적 변수 -> 개인 구성원
- Structs -> "struct" 고정관념을 가진 클래스
#define
상수 -> "enum레이션" 고정관념이 있는 클래스
실험을 해보면 UML을 남용하는 것에 대한 자신만의 규칙을 발견할 수 있을 겁니다.
C의 문제점은 절차적 프로그래밍 언어에 가깝다는 것입니다.C 어플리케이션으로는 세밀한 디자인을 얻기가 더 어렵습니다.C를 사용하는 경우에는 종속성 및 상호 작용에 대한 그래프보다는 시퀀스 다이어그램 및 구성 요소 다이어그램을 사용하여 상황을 설명하고 개요를 설명할 수 있습니다.
객체 지향 설계는 언어와 독립적이며 UML을 사용하여 시스템을 설계할 수도 있습니다. 랩소디와 같은 도구는 코드 생성과 왕복 이동을 허용하며, C++가 선택 사항이 아닌 일부 특수 프로젝트에 사용합니다.코드를 직접 작성하려면 Subsystem_Module_Class_Method와 같은 명명 규칙을 사용하여 함수의 이름을 객체 지향 방식으로 지정하고 클래스당 .c 파일을 사용합니다.C를 사용하는 것은 깨끗한 디자인에 방해가 되지 않습니다.
언급URL : https://stackoverflow.com/questions/2042608/uml-for-c-programming-language
'programing' 카테고리의 다른 글
information_schema를 사용합니다.선택 검색에서 열 (0) | 2023.10.17 |
---|---|
MS SQL 스크립트를 Mysql 및 Oracle로 변환 (0) | 2023.10.17 |
도커 컨테이너에서 호스트에서 셸 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.10.17 |
카르마를 사용한 각도 테스트: "모듈이 정의되지 않았습니다." (0) | 2023.10.17 |
스프링 부트에서 application.properties의 사용자 홈 경로 가져오기 (0) | 2023.10.17 |