�� ����λ�ã�UML���� - ���� ��̳����    
.NET��ģ
Deborah Melewski, Jack Vaughan

[2004/1/1]

��ģ����������ֽ�ӭ����һ���ĸ߷塣UML��ģ�������ܹ�MDAĿǰ��ҵ��Խ������עĿ�������ؽ���ǰ����ƣ�design up front������ע�����ǹ�ȥ���еñȽ϶�ģ����ٲ������е�˼�룬�ڵ������������н϶ࣩҲ�����˸������Ȥ��

��ģ�ĸ������������ƺ���.NET��߻�û��̫��Ӱ�졣����������Աһ����.NET������������ľ��DZ��롣����ģ�ĸĽ�ͬ������.NET����������java��������һ����

����Ӧ�õĽ�ģ�ṩ��һ��������֤Ӧ���Ƿ���û��������Ǻϵ���ͼ��blueprint������.NET������������Ͷ�ʵĹ�˾��Ȼ��Ը�⿴�����µij�����������Ϊ�����ƺͼܹ��IJ�������ÿ�������Ҫ��Ӧ����дһ�顣

�����һЩ�����ϵĸĽ���Borland��Together Control Center��IBM��Rose XDE Developer���ڰ�����֤�ײ�Ĵ����UMLģ�͵�ͬ������ЩŬ��ʹ�����ǽ���UML��Ҳʹ�ý�ģ��ҵ�����Ȳ���չ��

��Ȼ��.NET�ĸ����Ե����˺ܶཨģ����ս������Щ��ϤOO�������˶��ԣ�Ϊ.NET��ģ������̫���ѡ������������еĿ�����Ա����Ϥ�������ģ����ң�Ҳ����ÿ���˶�����ƿ����ù��������ר�ҡ�

��ʵ��΢��Ҳ����Ϊ�����Ƴ���Visual Studio .NET�汾�ṩ�Լ��Ľ�ģ��Ʒ�������Ҫ������������˵ļ�����ζ��������򽫱�ø�����Ȥ������Ҳ���Ӽ��ҡ�

ʲô����ģ�ͣ�

���ڶ��ԣ�����װ�䣨object assembly��������Ҫ�ġ����磬΢�����Ƴ���Visual Basic .NET�;ɰ��Visual Basic�Dz����ݵģ��µ�Visual Basic .NETҪ�󿪷���ԱҪ����һЩ�µ��������ĸ��

���ڼ���ǰ��΢������Visual Studio box���ṩ��һ��������Rational Rose��ģ���ߡ������ڹ���Visio����ǰ�����乤���м�����Visio��һЩ���ԡ�΢�����������κ͵��������ϴ������õĿ����ֿ߲⡣

���ź����ǣ��ڽ�����������������ʱ��΢�������߾�Ȼû��һ�����ʵĹ��ߣ��ⲻ�ܲ�˵��һ��ȱ�ݡ�����������ܻ����������ˣ�΢���������ֿ�������Ϊ��������Whitehorse��������ƹ��߼���������Խ��Խ��ļ�����ʾ��΢���ڽ��뽨ģ�����ʱ���ƺ���û�в���UML����MDA�ı�׼��

ģʽ��ʵ��

Ϊ�˰���������Ա���ӻ�OO�ĸ��Ϊ���ӵ�.NETӦ�ý�ģ�����๤���ṩ�̣�����IBM Rational��Borland��Telelogic��Interactive Objects Software GmbH�� Computer Associates��Compuware��Embarcadero��΢��������һЩ��˾��ҪôΪVisual Studio .NET��������ר���Ƴ��µĽ�ģ���ߣ�Ҫô�Ľ����еĹ��ߡ�

Pittsburgh-based LogicLibrary��˾�Ĵ�����֮һ�Լ��ֹܼ����ĸ��ܲ�Brent Carlson��Ϊ����ģ�����ɲ�ͬ����е��������������������磬�����ҵ����̽�ģ����ͼ�λ���������ӦΪ�ܶ�Ĺ��̹�����������ת��Ϊ�������ת�����̲�û�б�Ҫͨ������ʵ�֣����˹�ʵ������Ҫ�ġ���

����ϣ����������õ��ı䣬��Ȼ������Ҫʱ�䡣ͨ��˵������.NET�����߿���Ӧ�üܹ�֮ǰ���ܶ๤�����Ѿ�����ˣ�����ܹ�ģ�͡�.NET����ܹ��Լ�΢���Ѿ������ĸ���ģʽ��ʵ������

Ϊ�ˣ�LogicLibrary��΢�������˻���ϵ����ͼʹ��֪ʶ���ݸ��ӡ������ѣ�consumable��������Щ��Χ��Ϊ�����Ͳ���ܹ������ģʽ��ʵ��չ�������Һܶ඼��ʹ��UML��ģ�������ġ�LogicLibrary������Щ���ݲ��������ṩ��Visual Studio .NET���û���
΢���Ѿ������˸��ֲο�Ӧ�ã���ЩӦ�ò�������.NET��ܣ�����������Ӧ��ģ�飬�������������������ض�����Ļ���.NET��ܵ���չ����ЩӦ��ģ�鶼�ǿ���ֱ��ʹ�û�������ҵ������չ��Ԥ����ĸ��ִ���Ρ���Щ������������ǡ���װ�õ����ʵ����best practices in a box������

LogicLibrary��ȥ��΢��һ����������һ�ֻ���ģ�͵���ʽ��ʾ��Щ�ο�Ӧ�á�LogicLibrary��Logidex for .NET��Ʒǿ������Carlson����ġ���Ϣ���أ�the glut of information issue������������ҵ���õ���֯���е�Ӧ�ã�����΢�������IJο�Ӧ�÷���һ�𣬷������á�

�����ھ�������������ǣ���ᷢ����Ϣ̫����޴����֣��� Carlson˵�������ǣ���һ��������Ҫ����һ��.NET��Ӧ��,��������Visual Studio�󣬻ῴ����ν������ݴ洢��������ν������⴦���������ҵ�����������������ܵ����ӡ���ͺ�����һ���dz��õ��Ŷ��ڰ�������������һ����Ծ������ع���������Ӧ�á���

IBM������.NET����

Rational������˾��OMG��UML��׼�����ڿ�����֮һ���������IBM��һ���֡����չ���Rational֮��IBM����portfolio����ƽ̨�Ļ���������һ�������Ŀ���ƽ̨�����Ұ����˶�.NET��֧�֡�

IBM��ʷ��һֱƫ��Java��������.NET��IBM ���뿪�����������ʱ���������Ϊ��WebSphere�м�����������м����������Ĺ��ߣ���Ȼ��WebSphere�ǶԻ���Java�Ŀ��������IJ��䡣

Rational����1999�����IBM����������Eclipse�������ߡ�Ҳ������΢�����ܺ�������for. NET�Ŀ��ӻ���ģ���ߡ���IBM�չ�Rational֮�󣬹���Rational�Ƿ����֧��΢�������⵽�˻��ɣ�������һ�㣬IBM��Rational��������΢���Ĺ�ϵ������ı䣬��΢��������֧�ֽ�һ�������

ʵ����,IBM Rational�ṩ��for .NET�ĸ�����ܹ��ȫ���ڿ���ƽ̨���������޹��Ա�֤���Ƕ�Java�����������������������õġ�
�����ǵ�Ŀ���DZ�֤�������������ǵ��û��ijɹ����� IBM Rational���г������ܼ�Roger Oberg����˵��������Ȼ���û��Ƕ����������ѡ���Ƕ����ġ�����ʹ��.NET����Ŀ��ͬʱҲ��ʹ��Java������Ƕ��ʽ��������Ŀ����ȡ������ҵ�ľ����������

Oberg����˵����ij�̶ֳ���˵�������Visual Basic�Ŀ�����Ա������ܻ�ת��Java������������֯���ԣ�ѧϰUML�����Ӿ���ײ����������г��������һ���dz���Ч�IJ��ԣ��������Ļ�������Ϊһ��.NET��Ŀ��������Ա��������Ϳ��Գе�һ��Java��Ŀ�����ǵĹ��߿���Ӧ���������ֲ�ͬ����������������ѧϰ�������ȥ��ģ��UML�ǿ���Ӧ�õ�Java��.NET�����ϵġ���

IBM Rational��Rose XDE Developer������Eclipse IDE���ȿ�����΢�� Visual Studio .NET�����У�Ҳ������IBM WebSphere Studio�����С�����һ�������н�ģ�ijɹ��������õ����������У���Ȼ�����ǻ�û��ʵ���㹻�ߵij��󣬻�û�н��û���ײ����������ֿ�������ﵽ��һ���Ļ����û���������Ҫ֪���ײ㼼�����õ�ʲô����

�װ壬������Whitehorse��

�Դӹ�˾�ϰ�Bill Gates����֮��΢���Ϳ�ʼ�����佨ģ���ߣ����������Ѿ������˽�֪�ġ�Whitehorse����������������Ϊ������ƣ�design for operations�����ģ������û��ڿ������̵����ڶ���ײ�������߼�����������֤��

΢����������Ʒ���������ˣ�Prashant Sridharan��Ϊ�� ��Ŀǰ������ǣ��ڵײ�ܹ��ͼܹ�С��֮�伸��û�н�����������Whitehorse�У�ҵ��ײ�ܹ������ʦ�ͷ�������ʦ�ǹ�ͬ�����ġ������������������Э������Whitehorse���Ľ���ͬ�������Ŷ�֮��Ĺ�ͨ������ΪWhitehorse����΢��Visual Studio .NET����һ�汾Whidbeyһͬ�Ƴ�����������Ԥ����2004��ĩ��

ADT��Sridharanѯ��Whitehorse��UML��ģ��֧�֡��ش��ǣ������ڲ�û�ж�UML��ģ��֧�֣�������ͨ���������ʽ�ṩ��

��UMLֻ�Ǻܶ಻ͬ�Ľ�ģ�����е�һ�֡���Whitehorse�в�ȡ�ķ��������в��졣����Ŭ������һ����ģ��ƽ̨���������ƽ̨������һ����ģ�����Լ�һ����ģ��ܡ�����Ϊ�����ģ��ܽ��ǹ����ģ������Ƴ���ʱ�򡱣������ҹ�˾�Ѿ���һЩѡ���ĵ���������һ���Ͻ��к�����

Sridharan�Դ˼��������������ϣ�����ؽ�ģ����ʱ�������Ǽ���ģ�������Ŀ�������Ȼ������Ҳ���Ŵ�ͳ�Ĵ����д����
��ָ����Whitehorse��һЩ΢���Ŀ�����Ա��ȥʹ�õ�Rose UML����������ͬ����UML������OO�ġ���Visioͬ������֧�ִ�ͳ��OO��ģ�����ǣ����������ļܹ���SOA����Ϊ���������ƣ�ϵͳ�ķֲ���Խ��Խǿ����Ӧʱ��Ͱ�ȫ�����ر������뿼��֮��ʱ��OO��һ������õĽ��������

��UML��ƫ�����һЩ�˸е�������΢�����ڵ�Rose�������֧��UML�ģ�����΢������Ҫ�ߵĵ�·���ǻ��ڸ��ֱ�׼�ģ�������San Francisco������뽨ģEmbarcadero������˾���ܲ�Greg Keller��Ϊ�������Ƕ�UML����MDA��������Ȥ�����ǵĹ��߽��Ǻõģ���Ч�ģ������н���������XML֮���������׼����

��������ǵ���Щ��Ϣ�Ƿ��Ǵ�Whitehorse�õ����أ�IBM Rational������Mike Devlin�Ļش��ǡ��ǡ�����������ν�ģ��΢�����Լ��Ŀ��������ǵĿ��������ǵĿ����IJ�����ڣ����ǵIJ��ǰ����ض���ƽ̨�ϵġ���

΢��Ҳ��Ͷ���ڽ�ģ��ҵ�����������ʵ�����Ѿ�˵���˺ܶࡣGrady Booch��ô��Ϊ������UML�Ĵ�ʼ��֮һ�������IBM��һԱ�������ǵĽ����Ƿdz���ܵ�һ�����顣��������˵��΢�����ж�֤����IBM��Rational��90�������������Ŭ����������ȷ�ġ�

.NET����

.NET����ʹ�������е�һЩ�����������û�����Web-based�Լ���ͳ�ķʿͻ���Ӧ�á����磬��ADO.NET�е�ADO.NET������Web service��IBM Rational��Rose XDE Developer��ģ�������ṩ��һ�������ڶ�ADO.NET�Լ�web serviceӦ�ý�ģ��profile��

�������������������ڲ�֪����������ͼ�ı�Web service�Ķ��壬���Ľ�����ж���ʹ����ЩWeb service�Ŀͻ��ˡ���IBM Rational�Ŀ�������Kevin Murphey��Ϊ���������ģ�����÷dz��ؼ��������԰����û������Լ���Web service�Լ�����Web��Ӧ�ã��û�����ΪGUI�����̨�Ĵ��뽨ģ������ʹ���û�����ʹ��UMLΪ��Щ��ģ��ʵ�ֿ��ӻ�����

��.NET�ij���������������һЩ��������ҵ����ո�µĸ����������delegate�����¼���events�������ԣ�properties������������indexers���ȣ���Щ�������ٻ���δ�ڱ�������г��ֹ���

ͨ�������Ľ�ģ������IBM Rational Rose XDE Developer��������Щ�������Ϥ�Ŀ�����Ա���ӻ���ʹ�����ǡ���������Щ��̸���������Ŀ�����Ա��˵�����ṩ���������ո��ӵ�UMLϸ�ڵĵĿ��ӻ���ģ֧�֡�

ֵ��һ������������OMG����Ŀ������ʲ���Լ���ù�Լͨ��һ����׼��������ʽ�ṩ�˴����ʲ������������磬�ʲ������Ǵ��룬�����Լ����ڴ������Ϣ��������������û���Ҫ�󡢲��ԵĽ�����汾��ʷ����֧�ֿ������ʲ��Ĺ��ڴ���ĸ���Ԫ��Ϣ��

IBM Rational��Oberg��Ϊ��������������Ա���ԣ���Ҳ��������޴�ĺô�����Ϊ�й��ʲ����õķ����Ѿ�����һ���¶����ˣ���ȴ����û������ʵ�ֹ���IBM Rational�Ѿ���XDE�м������й�֧�֣�����ʹ���������������������õ���Ҫ������ˡ�

Java/.NET֮��

����.NET�������ṩ�ĸ��ֹ��ߺͱ�׼Խ��Խ�࣬.NET�����µĽ�ģ�Ϳ����Ѿ��õ��˷��ٵķ�չ����.NET��Java֮����Ȼ��һ�����⡣΢�����ڽ�javaת��Ϊ.NET�����ǶԺܶ��ŶӶ��ԣ�Java���ǵ�һվ�������ʼ�IBM Rational��վ����һ��ʱ��Oberg������ԥ��ѡ����Java��

��Java���û��Ǵ�����̫�࣬������ΪʲôJava�����ô���ж��һ����������е�ԭ�򣬡�Oberg˵�������ǵĹ˿��Ѿ��ɹ���ʹ��Java�����˷dz����Ӻ͹�ģ�Ӵ��Ӧ�á����Ҿ��п���չ�ԡ�³���ԣ����ң�Java��һ�������κ�һ���ض���˾���ѳֵĿ��ŵĻ�������

������ȷ��˵������й˿���.NET��Java�м����ɵĻ���IBM�����Ƽ�Java����Ϊ������Ϊ�⽫���˿ʹ����������棬���ǣ�����˿���������ԭ��ѡ����.NET,����Ҳ�������������ǿ������͵�.NETӦ�á���

����Щ��ģ���ߺͱ�׼�У���Ӧ���Ѿ���֤����һ���ؼ������ء�UML֧�ֺܶ�ƽ̨�����ԺͿ���������MDA���������û�����ģ�ͺʹ����ͬ�������⣬MDA����UML��չ���������ɺͳ����������ڵ��������򣻽�����ƽ̨�޹��ԣ�MDA��֧�ֵ�����ƽ̨�Ľӿڡ�

LogicLibrary��Cralson��Ϊ�����Ŷ��Ѿ����Ժܺõع���Ӧ�õļܹ������ҳɹ��ش�J2EE������Ӧ��ת����.NET�ϡ������������µIJ�Ʒ���Թ��ô󲿷ֵ�Դ�룬��Ϊ΢��ΪJ#�ṩ��ǿ���֧�֣�����ֱ����J#��ʽ����Java���롱

���󲿷�����£����ǵĴ󲿷�JavaԴ�붼������J#��ʽ�ɹ����벢�Ҳ�����.NET����У�����ҵ��ŶӶ����Ǹ����£���΢������Ҳͬ����ˣ���Ϊ����Ϊ��ͳ��Java�������ṩ���޷�Ļ������� �м�Ļ����أ�

΢�������ڽ�ģ����Ͷ������ע������ֻҪ������ά�ֺ�Java���߿����̵ľ������档������Visual Studio�ĸ���Java��Ӫ�ĺ��õ�IDE�ƺ��ڽ�ģ�����Ѿ�ռ�������Ƶ�λ��Ҳ����˵��΢�����ڰ��ݵ���׷���ߵĽ�ɫ����ģ���򽫳�Ϊһ�鼴�����ȵ�ս����

��Java���Ž��ܸ��ֽ�ģ������ٶ�Ҫ��ö࣬����ҲҪ���еĶࡱ��Embarcadero��˾��Keller��Ϊ����΢���������Ű�����ǰ�������ǵĹ��ߣ�Visual Studio����û���ṩ̫�������Ŀ��ӻ����ԡ���

������˵�ɣ�Compuware��������˾���ڽ�����VB������������Java��Ӫ�У�΢����Ŭ������VB���û�����Java��Ӫ������ȡ���ǡ���
Kellerָ���������ģ������Ҫ��ע����Ӧ�ÿ�������ʱ�����԰����ݽ�ģ�ų������ˡ�

���󲿷ֵ�Ŭ������Ϊ�˼�Ӧ�ÿ�����������ͣ����Ӧ���ϣ�Ҳ���������м���ϡ�����˵�����������ڣ���μ򻯴��ൽ���ݿ�����Ĺ��̣��Լ��м�Ļ��ڣ���

���㷺ʹ�õ�.NET

Visual Basic .NET�Ŀ�����Ա����Ҳ�뿪���ƶ��豸�ϵ�Ӧ�á��ܲ�λ��Atlanta��AppForge��˾�IJ�Ʒ����Bob Holt˵��������ȷ����������Ϊһ��Palm�ֲֳ���ϵͳ��Pocket PC��Symbian����ijЩŷ�޵������ֻ�дӦ�õĻ�������Visual Basic�ϵľ�����Լ�����Ч���������Visual Basic Studio .NETд���򣬲����в��ԣ���д��֮��AppForge��MobileVB.NET��������ƽ̨���Խ���Щ�������Ϊ��Щ�ֳ��豸�ϵ�Ӧ�á���

MobileVB.NETʹ����for Visual Studio��һ�������AppForge �IJ��������Դ�Visual Studio�ж������һ���˵��еõ����û�����ͨ���ʹ�������Ӧ��ͬ���ķ�ʽʹ�ø���Form��

����Holt��˵����ΪVisual Studio .NET����������Щ����UML�IJ���Ѿ��ܺõؽ���˽�ģ�ķ������档����ƺ�֮�󣬾Ϳ���ʹ��Mobile VB.NET��

��ҵ�����е��͵��ƶ�Ӧ���Ǿ�����Ͽ�����ָʾ�Լ����ݿ��߼���Ŀ¼������ͨ�������豸Զ�̲������û��������������ݿ��Ͻ���Ŀ¼�����ȹ�����

AppForge��Խ�˰������ա����䡢���硢ҽҩ�Ͳ����Ķ���г����򡣿ɿڿ���ʹ��AppForge�����IJ�Ʒ��ͨ���ֳ��豸���˿����кź�������ͳ�ƹ��ڿɿڿ����ۻ�����������ʲô��ʲô��û�б�������

���� adtmag��Ԭ�� ժ�룬����ת��������ҵ��;��