web-dev-qa-db-ja.com

UMLクラス図にライブラリをどのように表示すべきですか?

タイトルがはっきりしないので、もう少し詳しく説明します。 biojava を使用してBLAST検索を実行します。ただし、このBLAST.jarには多くのクラスが含まれています。

org/biojava/bio/program/PdbToXMLConverter
org/biojava/bio/program/sax/ClustalWAlignmentSAXParser
org/biojava/bio/program/sax/SummaryLineHelperIF
org/biojava/bio/program/sax/BlastLikeAlignmentSAXParser
org/biojava/bio/program/sax/AbstractNativeAppSAXParser
org/biojava/bio/program/sax/GenericSAXParserTest
org/biojava/bio/program/sax/NamespaceConfigurationIF
org/biojava/bio/program/sax/HSPSummaryHelper
org/biojava/bio/program/sax/SimpleXMLEmitterTestHelper
org/biojava/bio/program/sax/BlastSAXParser
org/biojava/bio/program/sax/GCGBlastSummaryLineHelper
org/biojava/bio/program/sax/NcbiBlastSummaryLineHelper
org/biojava/bio/program/sax/QName
org/biojava/bio/program/sax/WuBlastSummaryLineHelper
org/biojava/bio/program/sax/blastxml/StAXHandlerFactory
org/biojava/bio/program/sax/blastxml/HspHandler
org/biojava/bio/program/sax/blastxml/BlastAggregator
org/biojava/bio/program/sax/ blastxml/IterationHitsHandler
org/biojava/bio/program/sax/blastxml/BlastOutputHandler
org/biojava/bio/program/sax/blastxml/BlastOutputIterationsHandler
org/biojava/bio/program/sax/blastxml/HitHandler
org/biojava/bio/program/sax/blastxml/StAXFeatureHandlerMod
org/biojava/bio/program/sax/blastxml/IterationHandler
org/biojava/bio/program/sax/blastxml/BlastXMLParserFacade
org/biojava/bio/program/sax/blastxml/StAXFeatureHandler
org/biojava/bio/program/sax/blastxml/HitHspsHandler
org/biojava/bio/program/sax/blastxml/BlastXMLParser
org/biojava/bio/program/sax/FastaSequenceSAXParser
org/biojava/bio/program/sax/PdbSAXParser
org/biojava/bio/program/sax/HitSectionSAXParser
org/biojava/bio/program/sax/BlastLikeSAXParser
org/biojava/bio/program/sax/FastaSearchParser
org/biojava/bio/program/sax/BlastLikeVersionSupport
org/biojava/bio/program/sax/SequenceAlignmentSAXParser
org/biojava/bio/program/sax/BaseXMLWriterTest Helper
org/biojava/bio/program/sax/FastaSearchSAXParser
org/biojava/bio/program/sax/HmmerAlignmentSAXParser
org/biojava/bio/program/sax/NeedleAlignmentSAXParser
org/biojava/bio/program/sax/DomainSectionSAXParser
org/biojava/bio/program/sax/HmmerSummaryLineHelper
org/biojava/bio/program/BlastLikeToXMLConverter
org/biojava/bio/program/ssbind/StAXHandlerFactory
org/biojava/bio/program/ssbind/SeqSimilarityStAXHandler
org/biojava/bio/program/ssbind/StAXHandlerBinding
org/biojava/bio/program/ssbind/HSPSummaryStAXHandler
org/biojava/bio/program/ssbind/BlastLikeHomologyBuilder
org/biojava/bio/program/ssbind/ViewSequenceFactory
org/biojava/bio/program/ssbind/SeqSimilarityStAXAdapter
org/biojava/bio/program/ssbind/AlphabetResolver
org/biojava/bio/program/ssbind/HeaderStAXHandler
org/biojava/bio/program/ssbind/HitStAXHandler
org/biojava/bio/program/ssbind/SeqSimilarityAdapter
org/biojava/bio/program/ssbind/Simi larityPairBuilder
org/biojava/bio/program/ssbind/AlignmentStAXHandler
org/biojava/bio/program/ssbind/HSPStAXHandler
org/biojava/bio/program/ssbind/BlastLikeSearchBuilder

これらのクラス間の相互作用をUMLクラス図に示す必要がありますか?そうでない場合、UMLクラス図に既存のライブラリを表示するためにどのアプローチが使用されますか?

4
KingBoomie

いくつかのオプションがあります。

これらのクラスは完全に省略できます。ダイアグラムを大幅に簡略化しますが、構成または集約から継承、拡張、包含、または類似の関係があるクラスがある場合、図のあいまいさが生じる可能性があります。

ダイアグラムにパッケージを含めることができます。これらのクラスのいずれかに関係があるクラスは、パッケージに関係している可能性があります。繰り返しますが、これは読者の目に曖昧さを残す可能性があります。

これらのクラスを図に含めることはできますが、属性やメソッドは示されていません。このようにして、クラス(より詳細に表示される可能性が高い)は、このライブラリ内のクラスと特定の関係を持ちます。選択した場合、これらすべてのクラスをパッケージに含めて、それらがすべてパッケージに属していることを示すことができますが、読みやすさが低下します。

これらのクラスをクラス図に表示する必要がない場合があることに注意してください。それらをどのように使用しているか、およびそれらがクラスにどのように関連しているかによっては、読みやすさが低下する場合があります。さまざまな図にどの機能を表示するかについては、ご自身で判断してください。

4
Thomas Owens

これは、UMLダイアグラムで何を視覚化するかによって異なります。

allが重要なプロジェクトのオブジェクト関係を単一のUML図に表示することはほとんどありません。それはすぐに誰も何も作ることができない判読不能な混乱として判明するでしょう。通常、UMLをツールとして使用して、ソフトウェアアーキテクチャの特定の側面を視覚化します。説明する内容に関係のない詳細は省略します。

エンティティとライブラリのエンティティ間の相互作用を説明したい場合があります。その場合は、独自のものと同じ記号を使用してこれらのエンティティを視覚化します。しかし、それでも興味深いものだけを含めます。

2
Philipp