ERP 소프트웨어를 개발할 때 지켜야 할 22가지 규칙

7153 단어 ERP
관리 소프트웨어를 하면서 어떤 항목이 검사를 거친 조항인지 반드시 준수해야 한다.
인터페이스
1 사용자의 편향 번호를 저장합니다 (profile/favourite).ASP.NET 2.0은 사용자가 기본 컨트롤의 속성을 수정할 때 프레임에 사용자 변경 사항을 저장해야 하는 기능을 도입합니다.뚜렷하고 알기 쉬운 예는 grid 컨트롤의 열 순서입니다.사용자가 수정한 후에 창을 닫을 때 저장할 수 있고, 사용자가 다시 열 때, 사용자의 지난번 수정을 불러와야 합니다.
2 인터페이스의 데이터는 하나의 내보내기 방안이 있어야 한다.내보내기 유형은 일반적으로 Mircrosoft Excel, Microsoft Access, Text, CSV입니다.Excel은 첫 번째로 고려해야 할 내보내기 형식입니다.
3 반각 전각 입력 전환.전각 입력은 반각으로 전환해야 한다.전각 반각의 길이는 다르지만 인터페이스에서 문자는 같으므로 기본적으로 사용자 전각의 입력을 반각으로 전환해야 한다.또는 전체 각도 입력을 허용하지 않고 입력법을 전환하라는 메시지를 직접 표시합니다.
4 표준적인 유행하는 보고서 개발 기술과 디자인 도구를 사용한다.사용자 정의 보고서 디자이너는 안정성을 제어하기 어렵다. fyireport는 이렇다. 새로운 기능이 있어도 가입하기 어렵다.다시 한 번, 그것의 학습 원가도 비교적 높다.Crystal Report 또는 Reporting Services 를 직접 선택하는 것이 좋습니다.
Crystal Report는 줄곧 큰 변화가 없었다. Reporting Services는 SQL Server의 비싼 권한 수여 비용 때문에 우수한 보고서 도구가 생겼다.성숙한 Crystal Report 기술을 활용하는 것이 좋습니다.
5 시스템의 세 개의 문과 창을 잘 만들어라: Login, Splash, About.
로그인 창의 배경색은 메인 창과 일치하고 사용자에게 첫 느낌을 주는 곳은 듬직함을 위주로 해야 한다.나는 마이크로소프트 사이트의 파란색 기조를 주색으로 선택했다.
Splash는 현재 프로그램의 버전을 표시하고 사용자 정보를 승인합니다.About 대화 상자에는 license 정보와 고객 서비스 연락처가 표시됩니다.
6 인터페이스에서 시스템 서비스를 호출할 때 그것이 존재하는지 확인해야 한다.예를 들어 보고서 인터페이스를 표시할 때 먼저 보고서 서비스가 존재하는지 확인하고 환경 검사를 해야 한다.트랜잭션을 실행할 때는 먼저 MSDTC 서비스가 시작되었는지 확인해야 합니다.로NET 4.5가 Target에 대한 프로그램 버전을 생성할 때 먼저 테스트해야 합니다.NET 4.5가 설치되어 있는지 여부
7 서버와의 연결을 유지하고 끊긴 후에는 사용자 입력을 비활성화합니다.심장 박동 메커니즘을 도입해야 한다.
 
 
데이터베이스 편
1 일일 기장표에 다섯 개의 필드를 추가합니다.이 기록을 저장할 작성자, 작성 시간, 최종 수정 시간, 수정 날짜:
Created_By, Created_Date, Revised_By, Revised_Date
다른 필드는 데이터 (data fix) 를 유지할 때 사용하기 편리합니다. 자동 증열,identity (1, 1) 를 추가하여 테이블마다 첫 번째 열로 설정합니다.이름은 RECNUM(record number), LineNO(line number) 등이 될 수 있습니다.
2 통일된 데이터 비트 방안.예컨대
행 번호 클래스: LineNo/EntryNo/RecordNo/Recnum은 소수점을 표시하지 않습니다.
수량 클래스: Qty/Quantity 6자리 소수점
금액: Amt/Amount 4자리 소수점
3 통용되는 데이터 표, 예를 들어 재료 서류, 고객 서류, 공급업체 서류에 대해 고객이 사용자 정의 정보를 작성하도록 20개의 예비 필드를 보수적으로 남겨야 한다.아무리 완벽한 데이터베이스 필드라도 주도면밀하지 못한 부분을 고려할 수 있다.20개의 예비 필드는 대부분의 수요를 충족시킬 수 있을 것이다.
4 데이터베이스 정렬 규칙을 수정합니다. 일반적으로 USA 표준으로 기본 설정되는 SQLLATING_CP1_CI_AS.이렇게 하면 저장 프로세스가 잘못될 확률을 줄일 수 있다.
또한 SQL Server를 설치할 때도 이 정렬 규칙을 선택합니다.
 
암호화 보호편
1 사용자 로그인표의 비밀번호는 명문으로 저장할 수 없습니다.소금이나 MD5로 암호화하거나 역암호화하거나 문자열 혼동(예를 들어 모든 문자에 일정한 규칙적인 문자열을 넣고 암호를 검출할 때 다시 암호를 복원할 수 있다).
2 몇 가지 방식의 사용자 검증 메커니즘을 제공한다.인증 유형: PASSWORD, DOMAIN.
전통적인 암호 검증은 암호를 입력해야 한다. 만약에 역DOMAIN 검증으로 바꾸면 암호를 잃지 않고 현재 사용자에 따라 시스템에 직접 로그인할 수 있다.
3 완벽한 license 허가 권한 수여 메커니즘.VM 테스트, 하드웨어 테스트, 만료 시간 테스트, 기능 제한 테스트, 평가판 만료 테스트.
혼동NET 프로그램 집합, 역컴파일 난이도 증가.
 
프로그램 개발 편
1 통용되는 추적 메커니즘 해결 방안을 제공한다.예를 들어 Debug이 있어야 한다.WriteLine 출력 추적 정보를 입력하고 출력을 캡처하여 log viewer 프로그램에 표시합니다.또는 UDP 포트를 적용하여 추적 정보를 보내고 캡처하여 인터페이스에 표시합니다.아래의 코드는 참고할 수 있다
Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener"));
Trace.TraceInformation("Test message.");
// You must close or flush the trace to empty the output buffer.
Trace.Flush();
 

<!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
2 일반적인 액세서리 관리 기능을 제공합니다.첨부 파일은 데이터베이스에 업로드할 수도 있고 경로 참조를 직접 저장할 수도 있습니다.또한 첨부 파일이 있는 모든 기능의 내용을 볼 수 있는 첨부 파일 브라우저를 작성해야 합니다.
3 인터페이스에서 탭 키의 순서는 합리적이고 위에서 아래로, 왼쪽에서 오른쪽으로 순서를 지켜야 한다.Enter에서 탭으로, 작업장에서 탭으로 전환할 수도 있습니다.
4 소스 코드에서 디지털 형식의 값의 형식은 통일되어야 한다.0x로 시작하는 16진수, 기본값은 10진수입니다.이 두 격식은 마땅히 통일되어야 한다.Windows 7의 계산기 기능을 사용하여 16시제를 10시로 빠르게 수정할 수 있습니다.
5 표준 데이터 조작 기능을 제공한다.
데이터 아카이브(Archieve): 데이터를 EXCEL 또는 다른 형식으로 내보낼 수 있습니다.
데이터 정리(Cleanup): 데이터 테이블을 지울 수 있습니다.
데이터 재시작(Restart): 일일 계정 데이터만 지우고 시스템 설정 및 마스터 파일은 유지합니다.
데이터 가져오기(Load): 데이터를 가져오는 것과 같은 백업 파일에서 데이터를 로드합니다.
6인터페이스에서 장시간의 조작은 백엔드 라인으로 전환해야 한다.인터페이스에 BackgroundWorker가 있을 수 있으며 코드 논리에서는 System을 호출해야 합니다.Threading.Thread의 백엔드 스레드로 계산합니다.이와 동시에 인터페이스의 커서도 바꾸어야 한다
this.Cursor=Cursors.WaitCursor;
...... long operation
this.Cursor=Cursors.Default; 

<!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
 
7 코드 효율 개선 방법을 항상 유의하고 시스템에 응용한다.예를 들면 다음과 같다.
1)stringax="로 ax가 비어 있는지 판단하지 마세요,ax.Length==0의 효율이 ax==string보다 높다.Emptyu는 일반적으로 as를 사용합니다.IsNullor Empty 2) 변하지 않는 변수에 대해 3 대신 Linq로 대량foreach 조회 4 대신)MyTypet=(MyType)t와 t as MyType의 효율 비교 5)ListArray 대신,Hast,DictionaryHashtable 대신
 
 
<!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->

좋은 웹페이지 즐겨찾기