2010-05-17 3 views
2

최근 작은 물리 치료 클리닉을위한 PMS (Practice Management System) 소프트웨어를 개발할 기회를 얻었습니다..NET 데스크톱 응용 프로그램 아키텍처 - 클라이언트 서버 C#, SQL

나는 컴퓨터 과학 학생이며, 나의 과정은 주로 Linux에서 듣는다. 그러나 내 클라이언트는 Vista 또는 Windows 7에서 모든 컴퓨터를 실행합니다.

제 아이디어는 Visual C#에서 클라이언트 프런트 엔드를 개발하고 중앙 postgresql 서버에 액세스하는 것입니다.

저는 Windows 프로그래밍의 초보자이므로 C# (WPF 또는 Windows FORM)의 사용자 권한과 액세스 수준 구현에 대한 모범 사례에 대한 조언을 듣고 있습니다. Visual C# 및 액세스 제어 목록의 Credential 클래스를 살펴 보았지만 생각을 공유하십시오.

그냥 정교한하기 :

내 생각은 윈도우의 양식을 사용하여 프런트 엔드를 작성하고 비활성화하거나 사용자가 부여 된 액세스 수준에 따라 제어/테이블/형태를 숨길 수 있습니다.

예. 비서가 약속 일지 양식 만 표시되는 동안 클리닉의 소유자 만 재무보고 양식으로 표시됩니다.

그래서 사용자에게 시스템에 로그인하도록 요청하는 대화 상자가 필요합니다. 로그인 정보를 데이터베이스에 저장하거나 매핑해야합니까? 이러한 작업을 처리하는 데 가장 적합한 라이브러리 또는 클래스는 무엇입니까?

나는 이것에 대한 나의 머리를 들르는 길이지만, 이것이 나의 첫 상업 프로젝트이므로 나는 물을 시험하고 싶어한다.

+1

실제로 질문이 많기 때문에이 질문에 대답하기가 약간 어렵습니다. 어쩌면 그것을 커뮤니티 위키로 표시하고 모두가 돌아 오는 것을 볼 수 있습니까? –

+0

안녕하세요, David. 어떻게 커뮤니티 위키로 표시합니까? 미안 해요 stackoverflow 초보자입니다. – Rillanon

+0

질문을 편집하고 편집기 오른쪽 아래에있는 확인란을 찾으십시오. – Will

답변

1

프로젝트에 이러한 도구와 기술을 사용하십시오.

  • 비주얼 스튜디오 2008
  • 닷넷 프레임 워크 [timebeing 없음 WPF] 3.5
  • Windows Forms의
  • SQL Server 2005 또는
  • Linq2Sql 데이터 액세스에 대한
+0

안녕하세요, WPF가 아니기 때문에 성능에 문제가 있습니까? 학습 곡선이 너무 어려워서? – Rillanon

+0

학습 곡선. –

+1

feh, 학습 곡선. 나는 사람들이 그것을 oversell 생각합니다. HTML 경험이 있다면 커브의 90 %가 줄어 듭니다 (데이터 바인딩을 알아 내면됩니다). 종교 전쟁이나 다른 것을 시작하지 말아야 ... – Will

0

I 위 Postgresql을 사용한 적은 없지만 사용자가 암호를 추가하고 다른 테이블에 액세스 할 수 있다고 가정합니다. 그런 다음 앱이 시작할 때 사용자 이름/비밀번호를 묻고 로그인하여 세부 정보를 사용합니다. 그런 다음 사용자 이름 테이블과 권한 테이블 및 사용자 - 권한 테이블을 연결하여 함께 연결할 수 있습니다.

이전에 입력 한 사용자 이름을 사용하여이 테이블의 레코드를 조회 한 다음 앱으로 검색하면 앱에서 해당 레코드를 사용하여 사용자에게 표시 할 내용을 결정할 수 있습니다.

기술에 관해서는, VS2010을 사용하고 싶습니다. 익스프레스 버전은 괜찮은 것이어야하고 무료 데이터베이스를 사용하는 방법을 알고 있어야합니다 (SQL Server Express가 있지만 이미 진행 상황을 알고 있다면 너도 알지.). WinForms vs WPF에 대해 다루는 여기에 많은 질문이 있습니다.

5

이러한 도구와 technologi를 사용하여 귀하의 프로젝트에 대한.

  • 비주얼 스튜디오 2010
  • 닷넷 프레임 워크 4.0
  • WPF MVVM
  • SQL의 컴팩트 Server 2008 또는 SQL로
  • Linq는 표현을 사용

일부 노트 :

PostgreSQL을 스크루합니다. MS에서 개발 중입니다. 자기야. SQL Server (LASSP)를 LAMP 하시겠습니까? 지옥 아니야. PGRE로 작업하는 모든 도구와 코드 샘플을 얻으려고 애 쓰지 마십시오.

VS 2010 Express 및 Sql Server 2008 Express를 사용하여 멋진 소프트웨어를 개발할 수 있습니다. 상용 소프트웨어. 구매할 필요도 없습니다. 예, VS의 더 쿨한 도구를 놓치면 Sql Server의 데이터베이스가 4GB로 제한됩니다 (R2의 경우 10GB).하지만 너무 많이 놓친다 고 생각하지는 않습니다.

4.0부터 시작하겠습니다. 이 시점에서 3.5와 2008 년에는 전혀 발전하지 못했습니다. 3.5로 개발하면 아무 것도 얻지 못한다. 왜 그렇습니까? 3.5 코드 샘플 및 정보는 모두 4.0 용으로 계속 적용되지만 그 반대는 사실이 아닙니다.

Sql Server compact는 단일 컴퓨터 또는 중앙 데이터베이스가 필요없는 컴퓨터에 간단한 배포를 제공합니다. Express는 나머지 부분에 좋습니다. 기업용 응용 프로그램을 구입해야합니다. 당신이 그것에 대해 걱정해야한다고 생각하지 마십시오.

나는이 시점에서 Linq에게 SQL 대신 EF4를 제안 할 것입니다. 나는 EF4에 만족하지 않는다. 성공의 구덩이가 꽤 작아 보인다. 성공의 틈새처럼. L2S는 시작 개발자 인 methink에게 더 쉽습니다.

+0

+1 나는 SQL Server 2008과 Linq2Sql 대신 NHibernate와 SQLite를 사용하려고한다. – cwap

+0

@cwap 나는 Subsonic을 꼬집었다. NHibernated 아직 그렇게 말할 수 없다. SQL Server에 대해 개발하는 것과 마찬가지로 VS Express에서 SQLite에 대해 쉽게 개발할 수 있다고 말할 수 있습니까? – Will

+0

EF4가 L2S를 대체하고 있습니다. 예, 나는 L2S를 더 좋아하지만 google은 EF가 미래입니다. – BlackICE

0

완전히 다른 접근 방식을 제안합니다. 웹 응용 프로그램으로 작성하고 UI를 제공하는 단일 사이트 버전의 Firefox를 제공하십시오.

Apache, Django 및 Postgres를 실행하는 Linux 또는 OS X 서버를 제공 할 수 있습니다.이 서버는 일상적인 IT 작업을 수행하는 사람 (사용자가 아니어야 함)이 서버를 올바르게 지원할 수있는 경우에만 작동합니다. 관리자가 유지 보수를받을 수없는 경우 서버에서 Windows로 이동하십시오.

Windows 서버가 필요하다면 VS2010 Express, C# 4.0, Fluent NHibernate, Gallio/MBUnit 및 선택한 데이터베이스를 사용하는 ASP.NET MVC를 사용하고 싶지만 그 컨텍스트에서 MS SQL은 실제로 Windows에서 Postgres보다 더 나은 선택입니다. 왜냐하면 실제로 제대로 백업 할 수 있기 때문입니다.

아마도 멋진 jQuery 또는 SmartGWT UI를 사용할 수 있습니다.

당신이가는 길, 적어도 비즈니스 모델 코드는 바람직하게는 모든 종류의 응용 프로그램에 대해 단위 테스트를 받아야합니다. 또한 귀하는 귀하의 법적 개인 정보 보호 및 데이터 보존 요구 사항이이 애플리케이션에 무엇인지 찾아야합니다 ... 의료 기록은 종종 엄격하게 규제됩니다.

관련 문제