2009-07-17 3 views
1

내가 일하는 회사는 금융 기관용 소프트웨어를 작성하는 데 종종 복잡한 계산이 필요합니다. 지금 기능 설계자는 계산을 적어두고 좀 더 기술적 인 사람은 이것을 코드로 변환해야합니다.비주얼 개발 도구

그러나이 방법이 더 쉬운 방법 일 것이라고 생각합니다. 이미 프로젝트에서 사용할 수있는 .NET 어셈블리로 컴파일 할 수있는 시각적 인 방법으로 함수 및 계산을 디자인 할 수있는 도구가 있습니까? 그런 식으로 기능 설계자는이 도구에서 수식을 "그려야"코드/어셈블리를 생성하고이를 내게 전달해야합니다.

는 (나는이 목적을 위해 우리가 이미 일부 그래픽 디자인 도구입니다하지만 너무 더 복잡한 계산을 위해 제한되는 것, 말을해야합니다.)
[이 계산은, 대출, 모기지 및 보험 관련되어 종종 복잡한 계산을 수행 다른 제품과 비교하여 특정 제품의 수익성을 예측하십시오.]

답변

2

나는 디자이너를 통해 공식을하려고 도구를 사용했습니다; 그들은 대개 끔찍합니다.

아마도 더 좋은 아이디어는 수식에 사용자 친화적 인 구문을 사용하는 것입니까? 필자는 과거에 파이썬으로이 작업을 수행 한 것을 보아 왔습니다 (IronPython은 .NET에서 좋은 임베디드 언어가 될 것입니다). 또는 예상 구문에서 문자열을 구문 분석하면됩니까? (상당히 복잡하지는 않음)

+0

문제는 기능적 설계자가 기술적 인 배경과 프로그래밍 경험이 없다는 것입니다. 시각 환경에서 계산을 설계하는 것이 더 쉬워야합니다. 그래서 시각 환경에 내 취향이있는 이유입니다. –

+0

요점은 언어가 ** 프로그래밍 **에 관한 것이 아니라는 것입니다. ** 수학 **에 관한 것입니다. 아마도 그들은 Excel에서 공식을 할 수 있을까요? 해당 용어를 생각해보십시오 ... –

+0

사실, 아래의 코드 생성기를 사용하여 .xlsx를 OpenXML 형식 SDK 2.0을 통해 .cs로 변환합니다. http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5 -36E9-45F5-8D8C-331DF206E0D0 & displaylang = ko –

1

Visual Studio 용 도메인 특정 언어 패키지를 작성하십시오. 그것은 잘 문서화되고 매우 일반적인 작업입니다. :)

http://msdn.microsoft.com/en-us/library/bb126235.aspx

+0

우리의 생각을 정확하게. 그래서 우리는 이것을하기 위해 사내 DSL 프로젝트를 개발했습니다. 불행히도, 그것은 다른 팀에 의해 개발되었고 너무 제한적입니다. –

0

내 솔루션의 일부로 FileGenerators 프로젝트가 있습니다. 특수 코드 생성 작업을 위해 single file generators as custom tools을 사용할 수 있습니다. 속성을 사용하여 Visual Studio를 구성하는 데 많은 시간을 절약 할 수 있습니다.

다음은 특수 프로젝트에 사용하는 소스의 복사본입니다. 나는 그것을 약간 벗겼지만 아주 가깝다. 빌드 할 때 COM interop에 등록하도록 프로젝트를 설정했는지 확인하십시오. [이 난 그냥 테스트 케이스 작동하는 무언가를 필요로했기 때문에 내가 함께 던졌다 내부 도구이기 때문에 걸친다는 코드 품질에 대한 flamesuit.]
http://www.280z28.org/downloads/Pimp.FileGenerators.7z

편집 : 내가 Excel을 변환 한 경우에 사용합니다. xlsx 파일을 사용하여 C# 코드 Open XML Format SDK 2.0

+0

우리가 MS Office 2007만을 사용했다면 ... 우리는 2003 버전에 머물렀고 .xlsx는 지원되지 않습니다. –

+0

그런 다음 Excel interop API를 사용 하시겠습니까? 이 솔루션은 입/출력 형식의 모든 조합에 적용되며 솔루션에 깔끔하게 통합됩니다. –

+0

Excel을 사용하는 것도 다른 이유로 실패합니다. 결과 프로젝트는 약 3000 명의 라이센스 사용자에게 배포되는 클라이언트 응용 프로그램의 일부입니다. Excel 시트도 포함시켜야하며 Excel이 모두 설치되어 있기를 바랍니다. 또한 성능 문제가 있습니다. 제품의 모든 제품/회사 조합에 대해 계산이 반복되는 것은 일반적이지 않으며 약 5000 개의 레코드가됩니다. 이것은 빨리 끝나야합니다. –

1

자신 만의 DSL을 생성하려면이 도구를 확인하십시오. 10 페이지, 궤도와 튜토리얼도 부팅합니다 :

http://www.bayfronttechnologies.com/mc_tutorial.html

+0

두 가지 문제 : 1) 이미 DSL을 만들었지 만 현재로서는 너무 많은 기능이 부족합니다. 그리고 2) DSL을 만든 팀이 필요한 기능이 부족하기 때문에 단기 해결책이 필요합니다. –

+0

@Alex : 당신이 심각하다면이 도구를 1-2 일 내에 구현 한 다음 약 일주일 동안 원하는 기능으로 다른 DSL을 구현할 수 있습니다. 저는 1970 년에 처음으로 학부생으로서 혼자서이 부분을 여러 번 사용했습니다. –