diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-12-03 11:05:10 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-12-03 11:05:10 -0600 |
commit | f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b (patch) | |
tree | 1f78ef53b206c6b4e4efc88c4849aa9f686a094d /tde-i18n-nl/docs/tdesdk/umbrello | |
parent | 85ca18776aa487b06b9d5ab7459b8f837ba637f3 (diff) | |
download | tde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.tar.gz tde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.zip |
Second part of prior commit
Diffstat (limited to 'tde-i18n-nl/docs/tdesdk/umbrello')
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/Makefile.am | 4 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/Makefile.in | 635 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/authors.docbook | 46 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/code_import_and_generation.docbook | 163 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/credits.docbook | 11 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/index.cache.bz2 | bin | 0 -> 20149 bytes | |||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/index.docbook | 85 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/introduction.docbook | 57 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/other_features.docbook | 76 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/uml_basics.docbook | 782 | ||||
-rw-r--r-- | tde-i18n-nl/docs/tdesdk/umbrello/working_with_umbrello.docbook | 413 |
11 files changed, 2272 insertions, 0 deletions
diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.am b/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.am new file mode 100644 index 00000000000..b5b4d6e66b1 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = nl +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.in b/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.in new file mode 100644 index 00000000000..5badc22d4d5 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/tdesdk/umbrello +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +tdeinitdir = @tdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = nl +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = AUTO +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/umbrello/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-docs uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-docs clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-docs install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=uml_basics.docbook index.docbook credits.docbook code_import_and_generation.docbook index.cache.bz2 Makefile.in other_features.docbook introduction.docbook working_with_umbrello.docbook authors.docbook Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook uml_basics.docbook authors.docbook + @if test -n "$(MEINPROC)"; then echo $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; fi + +docs-am: index.cache.bz2 + +install-docs: docs-am install-nls + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + @for base in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook uml_basics.docbook authors.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + done + +uninstall-nls: + for base in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook uml_basics.docbook authors.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook uml_basics.docbook authors.docbook ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/umbrello/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/authors.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/authors.docbook new file mode 100644 index 00000000000..2e69bbae489 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/authors.docbook @@ -0,0 +1,46 @@ +<chapter id="authors"> +<title +>Auteurs en geschiedenis</title> +<para +>Dit project was gestart door Paul Hensgen als een van zijn universitaire projecten. De oorspronkelijk naam van de toepassing was <application +>UML Modeller</application +>. Paul deed alle ontwikkeling zelf tot het eind van 2001 toen het programma versie 1.0 bereikte. </para> +<para +>Versie 1.0 bood al een hoop functionaliteit, maar nadat het project was beoordeeld op Pauls Universiteit, konden andere ontwikkelaars zich erbij voegen en zij begonnen met het maken van waardevolle bijdragen aan de <application +>UML Modeller</application +>, zoals de overschakelen van een binair bestandsformaat naar een &XML;-bestand, ondersteuning van meer soorten &UML;-diagrammen, code-generatie en code-import, om er een paar te noemen. </para> +<para +>Paul moest zich terugtrekken uit het ontwikkelteam in de zomer van 2002 maar als Vrije en Open Source Software, bleef het programma zich verbeteren en ontwikkelen en wordt het onderhouden door een groep ontwikkelaars uit verschillende delen van de wereld. In September 2002 veranderde het project zijn naam van <application +>&UML; Modeller</application +>, in &umbrello;. Er zijn meerdere beweegredenen voor deze naamsverandering, de belangrijkste is wel dat alleen <quote +>uml</quote +> — waaronder het algemeen bekend was — een te algemene naam was en problemen met sommige distributies met zich meebracht. Een andere, niet minder belangrijke reden, is dat de ontwikkelaar van mening zijn dat <application +>Umbrello</application +> een veel coolere naam is. </para> +<para +>De ontwikkeling van &umbrello; evengoed als de discussies met betrekking tot waar het programma in voor moet gaan in toekomstige versies, is open en speelt zich af op het Internet. Als u een bijdrage wilt leveren aan het project, aarzel dan niet om contact op te nemen met de ontwikkelaars. Er zijn vele manieren waarop u kunt helpen bij &umbrello;: </para> +<itemizedlist> +<listitem +><para +>Melden van bugs of suggesties tot verbeteringen</para +></listitem> +<listitem +><para +>Bugs oplossen of features toevoegen</para +></listitem> +<listitem +><para +>Goede documentatie schrijven of het vertalen in een andere talen</para +></listitem> +<listitem +><para +>En vanzelfsprekend ... programmeren met ons!</para +></listitem> +</itemizedlist> +<para +>Zoals u ziet, zijn er veel manieren waarop u uw steentje kunt bijdragen. Zij zijn alle heel belangrijk en ieders deelname is welkom. </para> +<para +>De &umbrello; ontwikkelaars zijn bereikbaar op <email +>uml-devel@lists.sourceforge.net</email +>. </para> +</chapter> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/code_import_and_generation.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/code_import_and_generation.docbook new file mode 100644 index 00000000000..ae5beccacbd --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/code_import_and_generation.docbook @@ -0,0 +1,163 @@ +<chapter id="code-import-generation"> +<title +>Code-import en code-generatie</title> +<para +>&umbrello; is een &UML; modelling gereedschap en als zodanig is zijn voornaamste doel u te helpen bij de <emphasis +>analyse en het ontwerp</emphasis +> van uw systemen. Echter, om de overgang van uw ontwerp naar uw <emphasis +>implementatie</emphasis +> te maken, kunt u met &umbrello; broncode genereren in verschillende programmeertalen om u van start te laten gaan. Ook, als u &UML; wilt gaan toepassen in een reeds gestart C++ project, kan &umbrello; u helpen bij het maken van een model van uw systeem op basis van uw broncode door deze te analyseren en de daarin gevonden klassen te importeren. </para> +<sect1 id="code-generation"> +<title +>Code-generatie</title> +<para +>&umbrello; kan broncode genereren voor talrijke programmeertalen op basis van uw &UML; model om u te helpen van start te gaan met de implementatie van uw project. De gegenereerde code bestaat uit klasse declaraties, met hun methoden en attributen, dus u kunt de <quote +>blanke ruimte invullen</quote +> door de functionaliteit van uw klassen-operaties te verschaffen. </para> +<para +>&umbrello; 1.2 komt met code-generatie ondersteuning voor ActionScript, Ada, C++, CORBA IDL, &Java;, JavaScript, <acronym +>PHP</acronym +>, Perl, Python, SQL en XMLSchema. </para> +<sect2 id="generate-code"> +<title +>Code genereren</title> +<para +>Om code te kunnen genereren met &umbrello;, dient u eerst een model te maken, of er een te laden, met minimaal één klasse erin. Als u gereed bent om te beginnen met het schrijven van enigerlei code, dan selecteert u de <guimenuitem +>Code Generatie Wizard</guimenuitem +> menukeuze in het <guimenuitem +>Code</guimenuitem +> menu om een assistent te starten die u door het code-generatie proces zal loodsen. </para> +<para +>De eerste stap is het selecteren van de klassen waarvoor u broncode wilt genereren. Standaard worden alle klassen van uw model geselecteerd, selected, en u kunt diegene, waarvoor u geen code wilt genereren, verwijderen, door ze naar lijst aan de linkerkant te verplaatsen. </para> +<para +>In de volgende stap van de assistent kunt u de parameters wijzigen welke de codegenerator gebruikt bij het schrijven van uw code. De volgende keuzemogelijkheden zijn beschikbaar: </para> +<para> +<screenshot> +<screeninfo +>Codegeneratie keuzemogelijkheden</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="generation-options.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Keuzemogelijkheden voor de codegeneratie in &umbrello;</phrase> + </textobject> + <caption> + <para +>Keuzemogelijkheden voor de codegeneratie in &umbrello; </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="generation-options"> +<title +>Generatie keuzemogelijkheden</title> +<!-- LW; to rearrange --> + +<sect4> +<title +>Code breedvoerigheid</title> +<para +>De keuzemogelijkheid <guilabel +>Schrijf documentatie commentaar zelfs indien leeg</guilabel +> instrueert de codegenerator om commentaar van de vorm /** blah */ te schrijven, zelfs als de commentaarblokken leeg zijn. Als u documentatie heeft toegevoegd aan uw klassen, methoden en attibuten in uw model, dan zal de codegenerator deze commentaren als <application +>Doxygen</application +> documentatie wegschrijven, ongeacht wat u daar formuleerde, maar als u deze keuzemogelijkheid selecteert dan zal &umbrello; commentaarblokken schrijven voor alle klasses, methoden en attributen, zelfs wanneer er geen documentatie in het model is, in welk geval u uw klassen later dient te documenteren, rechtstreeks in de broncode. </para> +<para +><guilabel +>Schrijf commentaar voor secties zelfs indien sectie leeg is</guilabel +> zorgt ervoor dat &umbrello; commentaar schrijf in de broncode om de verschillende secties van en klasse af te bakenen. Bijvoorbeeld <quote +>public methoden</quote +> of <quote +>Attributen</quote +> voor de corresponderende sections. Als u deze keuzemogelijkheid selecteert, dan zal &umbrello; commentaar wegschrijven voor alle klasse-secties ook als de sectie leeg is. Bijvoorbeeld, het zou commentaar met de tekst <quote +>protected methoden</quote +> wegschrijven ook als er geen protected methoden in uw klasse zijn. </para> +</sect4> +<sect4> +<title +>Mappen</title> +<para +><guilabel +>Schrijf alle gegenereerde files naar map</guilabel +>. Hier dient u de map te selecteren waarin &umbrello; de gegenereerde bronnen van u moet plaatsen. </para> +<para +>De <guilabel +>Sluit headerfiles in uit map</guilabel +> keuzemogelijkheid geeft u de mogelijkheid om een header aan het begin van iedere gegenereerde file toe te voegen. Headerfiles kunnen auteursrecht of licentie informatie bevatten maar ook variabelen die op het moment van genereren geëvalueerd worden. U kunt eens kijken naar naar de sjabloon headerfiles zoals die met &umbrello; meegeleverd worden om te zien hoe dit soort variabelen gebruikt moeten worden om uw naam en of de huidige datum te vervangen ten tijde van het genereren. </para> +</sect4> +<sect4> +<title +>Overschrijvings protocol</title> +<!-- FIXME update for Umbrello 1.2's new C++ and Java code generators --> +<para +>Deze keuzemogelijkheid vertelt tegen &umbrello; wat het moet doen als het bestand dat het wil maken, reeds in de bestemmingsmap voorkomt. &umbrello; <emphasis +>kan bestaande bestanden niet wijzigen</emphasis +>, derhalve moet u een keuze maken uit: of het bestaande bestand overschijven, of het genereren van dat ene aparte bestand overslaan, of &umbrello; een andere bestandsnaam laten kiezen.Als u kiest voor de mogelijkheid van een andere bestandsnaam, dan zal &umbrello; de bestandsnaam van een achtervoegsel voorzien. </para> +</sect4> +<sect4> +<title +>Taal</title> +<para +>&umbrello; zal standaard code genereren in de taal die u als actieve taal heeft geselecteerd, echter met de codegenererings-assistent heeft u de keuzemogelijkheid om dit naar een andere taal te veranderen. </para> +</sect4> +</sect3 +><!--generation-options--> +<sect3 id="generation-wizard-generation"> +<title +>Genererings-assistent genereren</title> +<para +>De derde en laatste stap van de assistent toont de status van het codegenererings proces. U hoeft alleen nog maar op de knop genereren te klikken om de klassen voor u te laten wegschrijven. </para> +<para +>Merk op dat de keuzemogelijkheden die u selecteert in de codegenererings-assistent alleen gelden voor de huidige generering. Wanneer u de assistent een volgende keer gebruikt, dan moet u alle keuzemogelijkheden opnieuw selecteren (de map voor uw headers, overschrijvings protocol, enz.). U kunt de standaarden die &umbrello; aamhoudt, instellen in de sectie <guilabel +>code genereren</guilabel +> van de &umbrello; settings, beschikbaar in <menuchoice +><guimenu +>Instellingen</guimenu +><guimenuitem +>&umbrello; instellen...</guimenuitem +></menuchoice +> </para> +<para +>Als u uw codegenererings keuzemogelijkheden op de juiste waarden heeft ingesteld, en u zomaar enige code wilt genereren zonder door de assistent heen te moeten gaan, dan selecteert u het <guimenuitem +>Genereer alle code</guimenuitem +> in het code-menu. Dit zal code genereren voor alle klassen in uw model met gebruikmaking van de huidige instellingen (inclusief uitvoermap en overschrijvings-protocol, dus pas op met het gebruik ervan). </para> +</sect3> +</sect2 +><!--generate-code--> +</sect1 +> <!--code-generation--> +<sect1 id="code-import"> +<title +>Code import</title> +<para +>&umbrello; kan broncode importeren vanuit uw bestaande projecten om u te helpen met het construeren van een model voor uw systemen. &umbrello; 1.2 ondersteunt alleen C++ broncode, echter andere talen zouden beschikbaar moeten komen in toekomstige versies. </para> +<para +>Om klasses in uw model te importeren, selecteert u de menukeuze <guimenuitem +>Klassen importeren...</guimenuitem +> in het <guimenu +>Code</guimenu +> menu. Selecteer in de bestandsdialoog de bestanden die de C++ klasse-declaraties bevatten en druk op OK. De klasses worden nu geïmporteerd u zult ze aantreffen als deel van uw model in de boomstructuur. Merk op dat &umbrello; geen enkel soort diagram aanmaakt om uw klassen te tonen, ze worden alleen in uw model geïmporteerd opdat u ze naderhand in welk diagram dan ook, kunt gebruiken. </para> +<para> +<screenshot> +<screeninfo +>Code import</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="code-import.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Menu om broncode te importeren in &umbrello;</phrase> + </textobject> + <caption> + <para +>Menu om broncode te importeren in &umbrello; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect1> +</chapter +> <!--code-import-generation--> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/credits.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/credits.docbook new file mode 100644 index 00000000000..8f0b5f35d31 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/credits.docbook @@ -0,0 +1,11 @@ +<chapter id="copyright"> +<title +>Copyright</title> + +<para +>Copyright 2001, Paul Hengsen</para> +<para +>Copyright 2002, 2003 De &umbrello;-auteurs. Zie <ulink url="http://uml.sf.net/developers.php" +>http://uml.sf.net/developers.php</ulink +> voor nadere informatie</para> +&underFDL; &underGPL; </chapter> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/index.cache.bz2 b/tde-i18n-nl/docs/tdesdk/umbrello/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..b6ec6cce18d --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/index.cache.bz2 diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/index.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/index.docbook new file mode 100644 index 00000000000..c78302d5bb1 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/index.docbook @@ -0,0 +1,85 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" + "dtd/kdex.dtd" [ + <!ENTITY umbrello "<application +>Umbrello &UML; Modeller</application +>"> + <!ENTITY kappname "&umbrello;"> + <!ENTITY packagename "tdesdk"> + <!ENTITY UML "<acronym +>UML</acronym +>"> + <!ENTITY introduction-chapter SYSTEM "introduction.docbook"> + <!ENTITY uml-basics-chapter SYSTEM "uml_basics.docbook"> + <!ENTITY working-with-umbrello-chapter SYSTEM "working_with_umbrello.docbook"> + <!ENTITY code-import-and-generation-chapter SYSTEM "code_import_and_generation.docbook"> + <!ENTITY other-features-chapter SYSTEM "other_features.docbook"> + <!ENTITY authors-chapter SYSTEM "authors.docbook"> + <!ENTITY credits-chapter SYSTEM "credits.docbook"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % Dutch "INCLUDE" +><!-- change language only here --> + <!-- Do not define any other entities; instead, use the entities + from kde-genent.entities and $LANG/user.entities. --> +]> + +<book id="Umbrello" lang="&language;"> +<bookinfo> +<title +>Het handboek van &umbrello;</title> + +<authorgroup> +<corpauthor +>&umbrello; Auteurs</corpauthor> +</authorgroup> + +<copyright> +<year +>2001</year> +<holder +>Paul Hensgen</holder> +</copyright> +<copyright> +<year +>2002, 2003</year> +<holder +>&umbrello; Auteurs</holder> +</copyright> + + +<date +>2003-10-15</date> +<releaseinfo +>1.2</releaseinfo> + +<abstract> +<para +>&umbrello; helpt bij het softwareontwikkelingsproces door gebruikmaking van de industrie standaard Unified Modelling Language (&UML;). opdat u diagrammen kunt maken om uw systeem te ontwerpen en te documenteren. </para> +</abstract> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>UML</keyword> +<keyword +>modellering</keyword> +<keyword +>diagrammen</keyword> +<keyword +>softwareontewikkeling</keyword> +<keyword +>ontwikkeling</keyword> +</keywordset> + +</bookinfo> + +&introduction-chapter; +¨-basics-chapter; +&working-with-umbrello-chapter; +&code-import-and-generation-chapter; +&other-features-chapter; +&authors-chapter; +&credits-chapter; + +</book> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/introduction.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/introduction.docbook new file mode 100644 index 00000000000..971f95b1076 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/introduction.docbook @@ -0,0 +1,57 @@ +<chapter id="introduction"> +<title +>Introductie</title> + +<para +>&umbrello; is een &UML; diagramgereedschap dat u bij het proces van softwareontwikkeling kan ondersteunen. In het bijzonder tijdens de analyse en ontwerpfase van dit proces, kan &umbrello; u helpen een kwalitatief hoogwaardig product te verkrijgen. &UML; kan ook benut worden om uw software ontwerpen te documenteren ten dienste van u en collega ontwikkelaars. </para> +<para +>Over een goed model van uw software beschikken is de beste manier om te communiceren met andere ontwikkelaars die aan het project werken, en met uw klanten. Een goed model is buitengewoon belangrijk voor middelgrote en zeer grote projecten, maar is ook heel nuttig voor de kleinere. Zelfs als u werkt aan een klein eenmansproject, zult u welvaren bij een goed model omdat het u het overzicht verschaft dat u helpt om de zaken de eerste keer meteen goed te coderen. </para> +<para +>&UML; is de diagrammentaal die gebruikt wordt om zulke modellen te beschrijven. U kunt uw ideeën in &UML; representeren met verschillende soorten diagrammen. &umbrello; 1.2 ondersteunt de volgende soorten: </para> +<itemizedlist> +<listitem +><para +>Klasse-diagram</para +></listitem> +<listitem +><para +>Volgorde-diagram</para +></listitem> +<listitem +><para +>Collaboratie-diagram</para +></listitem> +<listitem +><para +>Use Case-diagram</para +></listitem> +<listitem +><para +>Toestandsdiagram</para +></listitem> +<listitem +><para +>Activiteitsdiagram</para +></listitem> +<listitem +><para +>Component-diagram</para +></listitem> +<listitem +><para +>Uitzettingsdiagram</para +></listitem> +</itemizedlist> +<para +>Meer informatie over &UML; kunt u vinden op de website van <ulink url="http://www.omg.org" +><acronym +>OMG</acronym +>, http://www.omg.org</ulink +> die de &UML; standaard gecreëerd hebben. </para> +<para +>Wij hopen dat u veel plezier zult hebben van &umbrello; en dat het u helpt bij het maken van kwalitatief hoogwaardige software. &umbrello; is Vrije Software en gratis verkrijgbaar, het enige dat wij van u vragen is om bugs, problemen of suggesties te melden aan de &umbrello;-ontwikkelaars op <email +>uml-devel@lists.sourceforge.net</email +> of <ulink url="http://bugs.kde.org" +>http://bugs.kde.org</ulink +>. </para> +</chapter> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/other_features.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/other_features.docbook new file mode 100644 index 00000000000..7280b9fb14d --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/other_features.docbook @@ -0,0 +1,76 @@ +<chapter id="other-features"> +<title +>Andere mogelijkheden</title> +<sect1 +> +<title +>Andere &umbrello; mogelijkheden</title> +<para +>Dit hoofdstuk beschrijft kort enkele andere mogelijkheden van &umbrello;.</para> +<sect2 id="copying-as-png"> +<title +>Objecten als PNG-afbeeldingen kopieëren</title> +<para +>Los van het gebruikelijke kopiëren, knippen en plakken om objecten te kopiëren tussen verschillende diagramme, kan &umbrello; objecten ook kopiëren als PNG-afbeeldingen zodat u ze kunt invoegen in een ander type document. U hoeft niets byzonders te doen hiervoor. Selecteer simpelweg een object van een diagram (Class, Actor, &etc;) en kopieer deze (<keycombo +>&Ctrl;<keycap +>C</keycap +></keycombo +>, of gebruik het menu), open vervolgens een &kword;-document (of een ander programma waarin je afbeeldingen kunt plakken) en selecteer <guimenuitem +>Plakken</guimenuitem +>. Op deze wijze kunt u sommige delen van uw diagram als simpele afbeeldingen hergebruiken. </para> +</sect2> +<sect2 id="export-as-png"> +<title +>Exporteren als een afbeelding</title> +<para +>U kunt ook een compleet diagram exporteren als afbeelding. Het enige dat u hiervoor hoeft te doen is om het diagram te selecteren dat u wilt exporteren en vervolgens de menu-ingang <guimenuitem +>Als afbeelding exporteren...</guimenuitem +> te gebruiken uit het menu <guimenu +>Diagram</guimenu +>. </para> +</sect2> +<sect2 id="printing"> +<title +>Afdrukken</title> +<para +>&umbrello; maakt het mogelijk om individuele diagrammen af te drukken. Druk op het icoon <guiicon +>Afdrukken</guiicon +> in de werkbalk of selecteer <guimenuitem +>Afdrukken</guimenuitem +> uit het menu <guimenu +>Bestand</guimenu +>. U krijgt dan het standaard KDE Afdrukken-venster, vanwaar u uw diagram kunt afdrukken. </para> +</sect2> +<sect2 id="logical-folders"> +<title +>Logische mappen</title> +<para +>Om uw model in te delen, met name in grotere projecten, kunt u logische mappen aanmaken in de boomstructuur. Om ze te maken, selecteert u de keuzemogelijkheid <menuchoice +><guimenu +>Nieuw</guimenu +><guimenuitem +>Map</guimenuitem +></menuchoice +> in het contextmenu van de standaard mappen in de boomstructuur. Mappen kunnen genest zijn, en u kunt objecten heen en weer verplaatsen door ze van de ene map weg te slepen en ze in de andere te laten vallen. </para> + +<screenshot> +<screeninfo +>Uw model indelen met mappen</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="folders.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Uw model indelen met logische mappen in &umbrello;</phrase> + </textobject> + <caption> + <para +>Uw model indelen met logische mappen in &umbrello; </para> + </caption> + </mediaobject> +</screenshot> + +</sect2> +</sect1> +</chapter> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/uml_basics.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/uml_basics.docbook new file mode 100644 index 00000000000..cae3a99f549 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/uml_basics.docbook @@ -0,0 +1,782 @@ +<chapter id="uml-basics"> +<title +>Grondbeginselen van &UML;</title> +<sect1 id="about-uml"> +<title +>Over &UML; ...</title> +<para +>Dit hoofdstuk geeft u snel een overzicht van de grondbeginselen van &UML;. Houdt u voor ogen dat dit geen allesomvattende studie is over &UML; maar veeleer een korte inleiding in &UML; die men kan lezen als een basiscursus &UML;. Wilt u meer te weten komen over de Unified Modelling Language, of in bredere zin over software-analyse en -ontwerp, raadpleeg dan een van de vele boeken die over dit onderwerp voorhanden zijn. Er zijn ook een groot aantal cursussen op het Internet voorhanden, waarmee u een goede start kunt maken. </para> + +<para +>De Unified Modelling Language (&UML;) is een taal om diagrammen te maken of een notatiewijze om modellen van objectgeoriënteerde softwaresystemem te specificeren, te visualiseren en te documenteren. &UML; is geen ontwikkelmethode, d.w.z. het vertelt u niet wat u eerst moet doen en wat daarna, of hoe u uw systeem moet ontwerpen, maar het helpt u om uw systeem te visualiseren en te communiceren met anderen. &UML; staat onder toezicht van de Object Management Group (<acronym +>OMG</acronym +>) en is de industriestandaard voor het grafisch weergeven van software. </para> +<para +>&UML; is gemaakt voor het ontwerpen van objectgeoriënteerde software en heeft beperkt nut voor andere programmeerparadigma's. </para> +<para +>&UML; is opgebouwd uit vele modelelementen die de verschillende delen van een softwaresysteem vertegenwoordigen. De &UML;-elementen worden gebruikt om diagrammen te maken, die een bepaald deel of een gezichtspunt van een systeem voorstellen. De volgende soorten diagrammen worden ondersteund door &umbrello;: </para> + +<itemizedlist> + +<listitem +><para +><emphasis +><link linkend="use-case-diagram" +>use case diagrammen</link +></emphasis +> tonen actoren (mensen of andere gebruikers van het systeem), use cases (de scenario's wanneer zij het systeem gebruiken), en hun relaties</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="class-diagram" +>Klassediagrammen</link +></emphasis +> tonen klassen en hun onderlinge relaties</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="sequence-diagram" +>Volgordediagrammen</link +></emphasis +> tonen objecten en een volgorde van methode-aanroepen die zij doen naar andere objecten.</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="collaboration-diagram" +>Collaboratiediagrammen</link +></emphasis +> tonen objecten en hun relaties, met nadruk op de objecten die deelnemen aan de berichtenuitwisseling</para> +</listitem> + +<listitem +><para +><emphasis +><link linkend="state-diagram" +>Toestandsdiagrammen</link +></emphasis +> tonen toestanden, toestandsveranderingen en gebeurtenissen van een object of een deel van het systeem</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="activity-diagram" +>Activiteitsdiagrammen</link +></emphasis +> tonen activiteiten en de overgang van de ene activiteit naar de andere samen met de gebeurtenissen die in een bepaald deel van het systeem optreden</para +></listitem> + +<listitem +><para +><emphasis +><link linkend="component-diagram" +>Componentdiagrammen</link +></emphasis +> tonen programmacomponenten op het hoogste niveau (zoals bijv. KParts of Java Beans).</para +></listitem> + +<listitem +><para +><emphasis +><link linkend="deployment-diagram" +>Deploymentdiagrammen</link +></emphasis +> tonen de instanties van de componenten en hun relaties.</para +></listitem +> + +</itemizedlist> + +</sect1 +> <!-- about-uml --> + +<sect1 id="uml-elements" +> +<title +>&UML;-elementen</title> +<sect2 id="use-case-diagram"> +<title +>Use case diagram</title> +<para +>Use case-diagrammen beschrijven de relaties en afhankelijkheden tussen een groep van <emphasis +>use cases</emphasis +> en de actoren die deelnemen aan het proces.</para> +<para +>Belangrijk om op te merken is dat use case-diagrammen niet geschikt zijn om het ontwerp te representeren, en niet het inwendige van een systeem kunnen beschrijven. Use case-diagrammen zijn bedoeld om de communicatie met de toekomstige gebruikers van een systeem, en met de klant, te vergemakkelijken, en zijn in het bijzonder behulpzaam bij het vaststellen van welke benodigde kenmerken een systeem moet hebben. Use case diagrammen vertellen <emphasis +>wat</emphasis +> het systeem moet doen maar specificeren niet — en kunnen dat ook niet — <emphasis +>hoe</emphasis +> dit gerealiseerd moet worden.</para> +<para> +<screenshot> +<screeninfo +>Een voorbeeld van een use case-diagram.</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="use-case-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een use case-diagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een use case-diagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="use-case"> +<title +>Use case</title> +<para +>Een <emphasis +>use case</emphasis +> beschrijft — vanuit het standpunt van de actoren — a groep activiteiten in een systeem die een concreet, tastbaar resultaat oplevert.</para> +<para +>Use cases zijn beschrijvingen van kenmerkende interacties tussen de gebruikers van een systeem en het systeem zelf. Zij representeren de externe interface van het systeem en specificeren een soort pakket van eisen diehet systeem moet uitvoeren (onthoud: alleen wat, niet hoe). </para> +<para +>Bij het werken met use cases is het belangrijk om enkele eenvoudige regels in acht te nemen: <itemizedlist> + <listitem +><para +>Iedere use case is gerelateerd aan tenminste één actor</para +></listitem> + <listitem +><para +>Iedere use case heeft een initiator (&ie; een actor)</para +></listitem> + <listitem +><para +>Iedere use case leidt tot een relevant resultaat (een resultaat met <quote +>waarde</quote +>)</para> + </listitem> + </itemizedlist> +</para> +<para +>Use cases kunnen ook relaties met andere use cases hebben. De drie meest karakteristieke relaties tussen use cases zijn:</para> +<itemizedlist> +<listitem +><para +><emphasis +><<include>></emphasis +> geeft aan dat een use case zich <emphasis +>binnen</emphasis +> een andere use case afspeelt</para +></listitem> +<listitem +><para +><emphasis +><<extends>></emphasis +> geeft aan dat in bepaalde situaties, of op een zeker moment (ook wel het uitbreidingspunt genoemd) een use case uitgebreid zal worden met een andere.</para +></listitem> +<listitem +><para +><emphasis +>Generalisatie</emphasis +> geeft aan dat een use case de karakteristieken erft van de <quote +>super</quote +>-use case, en sommige ervan kan herdefiniëren of nieuwe kan toevoegen, op eenzelfde wijze als bij de overerving bij klassen het geval is. </para> +</listitem> +</itemizedlist> +</sect3> +<sect3 id="actor"> +<title +>Actor</title> +<para +>Een actor is een externe entiteit (buiten het systeem) die samenwerkt met het systeem door deelname aan (en veelal door initiëren van) een use case. In de dagelijkse werkelijkheid kunnen actoren mensen zijn (bijvoorbeeld gebruikers van een systeem), andere computersystemen of externe gebeurtenissen. </para> +<para +>Actoren representeren niet de <emphasis +>fysieke</emphasis +> mensen of systemen, maar hun <emphasis +>rol</emphasis +>. Dit impliceert dat als een persoon met het systeem samenwerkt op verschillende manieren (hij meet zich verschillende rollen aan) hij door meerdere actoren voorgesteld zal worden. Bijvoorbeeld een persoon die telefonische klantenondersteuning geeft en orders invoert van de klant in het systeem, voorgesteld wordt door een actor <quote +>afdeling ondersteuning</quote +> en een actor <quote +>afdeling verkoop</quote +> </para> +</sect3> +<sect3 id="use-case-description"> +<title +>Use case-omschrijving</title> +<para +>Use case-omschrijvingen zijn textuele verhandelingen van de use case. Zij nemen gewoonlijk de de vorm van een aantekening of een document aan dat op een bepaalde manier gekoppeld is aan de use case, en de processen of activiteiten die in de use case plaatsvinden, nader toelicht. </para> +</sect3> +</sect2 +> <!-- use-case-diagram --> + +<sect2 id="class-diagram"> +<title +>Klassediagram</title> +<para +>Klassediagrammen tonen de verschillende klassen waaruit het systeem is gemaakt, en hoe zij aan elkaar gerelateerd zijn. Van klassediagrammen zegt men dat zij <quote +>statische</quote +> diagrammen zijn omdat zij weliswaar de klassen weergeven, samen met hun methoden en attributen, alsmede de statische relaties tussen hen (i.e. welke klassen <quote +>hebben weet</quote +> van welke klassen of welke klassen <quote +>maken deel uit</quote +> van een andere klasse), maar niet de methode-aanroepen tussen hen onderlingweergeven. </para> +<para> +<screenshot> +<screeninfo +>Een voorbeeld van een klassediagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="class-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een klassediagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een klassediagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="class"> +<title +>Klasse</title> +<para +>Een klasse definieert de attributes en de methoden van een set objecten. Alle objecten die van deze klasse afgeleid zijn (instanties van deze klasse) hebben eenzelfde gedrag, en hebben overeenkomstige verzamelingen met attributen (ieder object heeft zijn eigen set). I.p.v. klasse wordt ook wet de term <quote +>type</quote +> gebezigd, maar het moet nadrukkelijk gesteld worden dat deze twee niet identiek zijn, type is een algemenere term. </para> +<para +>In &UML;, worden klassen door rechthoeken gerepresenteerd, met de naam van de klasse; hierin kunnen ook de attributen en operaties van de klasse weergegeven worden in twee andere <quote +>vakken</quote +> binnen de rechthoek. </para> +<para> +<screenshot> +<screeninfo +>Een klasse in &UML;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="class.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuele representatie van een klasse in &UML;</phrase> + </textobject> + <caption> + <para +>Visuele representatie van een klasse in &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect4 id="attribute"> +<title +>Attributen</title> +<para +>In &UML;, worden attributen minsten met hun naam weergegeven, maar ook kunnen hun type, beginwaarde en andere eigenschappen weergegeven worden. Attributen kunnen ook worden getoond met hun zichbaarheid: </para> +<itemizedlist> +<listitem +><para +><literal +>+</literal +> staat voor <emphasis +>public</emphasis +> attributen</para +></listitem> +<listitem +><para +><literal +>#</literal +> staat voor <emphasis +>protected</emphasis +> attributen</para +></listitem> +<listitem +><para +><literal +>-</literal +> staat voor <emphasis +>private</emphasis +> attributen</para +></listitem> +</itemizedlist> +</sect4> +<sect4 id="operation"> +<title +>Operaties</title> +<para +>Operaties (methoden) worden eveneens met minstens hun naam getoond; Ook zij kunnen hun parameters en return typen tonen. Operaties kunnen, net als attributen, hun zichtbaarheid weergeven: <itemizedlist> +<listitem +><para +><literal +>+</literal +> staat voor <emphasis +>public</emphasis +> operaties</para +></listitem> +<listitem +><para +><literal +>#</literal +> staat voor <emphasis +>protected</emphasis +> operaties</para +></listitem> +<listitem +><para +><literal +>-</literal +> staat voor <emphasis +>private</emphasis +> operaties</para +></listitem> +</itemizedlist> +</para> +</sect4> + +<sect4 id="templates"> +<title +>Sjablonen</title> +<para +>Klassen kunnen sjablonen hebben, een waarde die gebruikt wordt voor een niet gespecificeerde klasse of type. Het sjabloontype wordt gespecificeerd wanneer de klasse geïnstantieerd wordt (&ie; een object wordt aangemaakt). Sjablonen komen voor in modern C++ en zullen in Java 1.5 geïntroduceerd worden onder de naam generics. </para> +</sect4> +</sect3> + +<sect3 id="class-associations"> +<title +>Klassenassociaties</title> +<para +>Klassen kunnen op verschillende wijze aan elkaar gerelateerd zijn (met elkaar geassocieerd zijn):</para> +<sect4 id="generalization"> +<title +>Generalisatie</title> +<para +>Overerving is een van de fundamentele concepten van objectgeoriënteerdprogrammeren, waarbij een klasse <quote +>toegang krijgt tot</quote +> (bijna) alle attributen en operaties van de klasse waar het van erft, en sommige ervan opnieuw kan implementeren (overriding), alsook meer attributen en operaties van zichzelf kan toevoegen.</para> +<para +>In &UML;, plaatst een <emphasis +>generalisatie</emphasis +>-associatie tussen twee klassen hen in een hiërarchie die het concept van overerving van een afgeleide klasse van een basisklasse representeert. In &UML;, worden generalizaties weergegeven door een lijn, die de twee klassen met elkaar verbindt, met een pijlpunt aan de kant van de basisklasse. <screenshot> +<screeninfo +>Generalisatie</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="generalization.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuele representatie van een generalisatie in &UML;</phrase> + </textobject> + <caption> + <para +>Visuele representatie van een generalisatie in &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> + +<sect4 id="uml-associations"> +<title +>Associaties</title> +<para +>Een associatie vertegenwoordigt een relatie tussen klassen, en voorziet in de gemeenschappelijke semantiek en structuur voor vele soorten<quote +>connecties</quote +> tussen objecten.</para> +<para +>Associaties zijn het mechanisme dat objecten in staat stelt met elkaar te communiceren. Het beschrijft de connectie tussen verschillende klassen (de connectie tussen de eigenlijke objecten noemt men een objectconnectie, of <emphasis +>link</emphasis +>). </para> +<para +>Associaties kunnen een rol hebben die het doel van de associatie specificeert en zowel uni- als bi-directioneel zijn (dit geeft aan of de twee objecten die een relatie hebben, berichten naar elkaar kunnen sturen, of dat slechts één van hen weet heeft van de ander). Ieder uiteinde van de associatie heeft ook een multipliciteit, die oplegt hoeveel objecten aan deze kant van de associatie gerelateerd kunen zijn aan telkens een object aan de andere kant. </para> +<para +>In &UML;, worden associaties weergegeven als lijnen, die de klassen die aan de relatie deelnemen, met elkaar verbinden. Hierbij kan ook de rol en de multipliciteit van elk van de deelnemers worden getoond. De multipliciteit wordt afgebeeld als een bereik [min..max] van niet-negative waarden. Een asterisk (<literal +>*</literal +>) aan de maximumkant geeft oneindig weer. <screenshot> +<screeninfo +>&UML;-associatie</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="association.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuele representatie van een associatie in &UML;</phrase> + </textobject> + <caption> + <para +>Visuele representatie van een associatie in &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> + +<sect4 id="aggregation"> +<title +>Aggregatie</title> +<para +>Aggregaties zijn een speciaal type associaties waarin de twee deelnemende klassen geen gelijkwaardige status hebben, maar een <quote +>geheel-deel</quote +> relatie vormen. Een aggregatie beschrijft hoe de klasse die de rol van geheel heeft, samengesteld wordt uit de andere klassen, die de rol van deel hebben. Voor aggregaties heeft de klasse die optreedt als geheel, altijd de multipliciteit één. </para> +<para +>In &UML;, worden aggregaties gerepresenteerd door een associatie die een ruit heeft aan de kant van het geheel. <screenshot> +<screeninfo +>Aggregatie</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="aggregation.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuele representatie van een aggregatie-relatie in &UML;</phrase> + </textobject> + <caption> + <para +>Visuele representatie van een aggregatie-relatie in &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> +<sect4 id="composition"> +<title +>Compositie</title> +<para +>Composities zijn associaties die <emphasis +>zeer sterke</emphasis +> aggregaties vertegenwoordigen. Dit betekent dat composities evengoed geheel-deel relaties vormen, maar de relatie is zo sterk dat de delen niet op zichzelf kunnen bestaan. Zij bestaan slechts binnen het geheel, en als het geheel vernietigd wordt, gaan de delen er ook aan.</para> +<para +>In &UML;, worden composities gerepresenteerd door een gekleurde ruit aan de kant van het geheel. </para> +<para +><screenshot> +<screeninfo +>Compositie</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="composition.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuele representatie van een compositie-relatie in &UML;</phrase> + </textobject> + </mediaobject> +</screenshot +></para> +</sect4> +</sect3 +> <!--class-associations--> + +<sect3 id="other-class-diagram-items"> +<title +>Andere klassediagram-onderdelen</title> +<para +>Klassediagrammen kunnen verscheidene andere onderdelen bevatten naast klassen.</para> +<sect4 id="interfaces"> +<title +>Interfaces</title> +<para +>Interfaces zijn abstracte klassen, wat wil zeggen dat instanties niet direct uit hen gemaakt kunen worden. Zij kunnen operaties bevatten maar geen attributen. Klassen kunnen overerven van interfaces (via een realisatie-associatie) en pas dan kunnen instanties van deze diagrammen gemaakt worden.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="datatype"> +<title +>Gegevenstypen</title> +<para +>Gegevenstypen zijn primitieven die normaal gesproken ingebouwd zijn in een programmeertaal. Bekende voorbeelden zijn integers en booleans. Zij kunnen geen relatie met klassen hebben, maar klassen kunnen wel een relatie met hen hebben.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="enum"> +<title +>Enumeraties</title> +<para +>Enumeraties zijn een eenvoudige lijst met waarden. Een typisch voorbeeld is een enumeratie voor de dagen van de week. De keuzemogelijkheden binnen een enumeratie noemt men enumeratieconstanten. Evenals gegevenstypen kunnen zij geen relatie met klassen hebben, maar klassen kunnen wel een relatie met hen hebben.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="package"> +<title +>Pakketten</title> +<para +>Pakketten vertegenwoordigen een naamruimte in een programmeertaal. In een diagram worden zij gebruikt om delen van een systeem te representeren, die meer dan één klasse, wellicht zelfs honderden klassen, kunnen bevatten.</para> +<!-- FIXME screenshot --> +</sect4> +</sect3> + +</sect2 +> <!-- class diagram --> + +<sect2 id="sequence-diagram"> +<title +>Volgordediagrammen</title> + +<para +>Volgordediagrammen geven de berichtenuitwisseling weer (&ie; methode-aanroep) tussen verscheidene objecten in een specifieke tijd-begrensde situatie. Objecten zijn instanties van klasses. Volgordediagrammen leggen speciale nadruk op de volgorde waarin en de tijdstippen waarop de berichten naar de objecten verstuurd worden.</para> + +<para +>In volgordediagrammen worden objecten gerepresenteerd door vertikale onderbroken lijnen, met de naam van het object bovenaan. De tijd-as loopt ook verticaal, en neemt toe naar beneden, zodat berichten verstuurd worden van het ene object naar de nadere in de vorm van pijlen met de namen van de operatie en de parameters erbij. </para> + +<!-- FIXME update screenshot to show synchronous messages --> +<screenshot> +<screeninfo +>Volgordediagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="sequence-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een volgordediagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een volgordediagram </para> + </caption> + </mediaobject> +</screenshot> + +<para +>Berichten kunnen ofwel synchroon zijn, het normale type bericht aanroep waarbij de besturing wordt doorgegeven aan het aangeroepen object totdat de betreffende methode voleindigd is, of asynchroon, waarbij de besturing direct weer teruggeven wordt aan het aanroepende object. Synchrone berichten hebben een verticaal kader aan de kant van het aangeroepen object om het verloop van de programmabesturing te laten zien.</para> +</sect2 +> <!-- sequence diagrams --> + +<sect2 id="collaboration-diagram"> +<title +>Collaboratiediagrammen</title> + +<para +>Collaboratiediagrammen laten de interacties zien die plaatsvinden tussen objects die participeren in een specifieke situatie. Dit is min of meer dezelfde informatie als weergegeven bij volgordediagrammen maar daar valt de nadruk op hoe de interacties plaats vinden in de tijd, terwijl bij Collaboratiediagrammen de relaties tussen de objecten en hun topologie op de voorgrond treden.</para> + +<para +>In collaboratiediagrammen worden berichten die van het ene object naar het andere worden gestuurd, voorgesteld door pijlen, waarbij de naam van het bericht, de parameters, en de bericht-volgorde, weergegeven wordt. Collaboratiediagrammen zijn bij uitstek geschikt om een specifiek programma-verloop of situatie weer te geven, en zijn een van de beste diagramtypen om snel een process in de programmalogica te demonstreren of toe te lichten. </para> + +<screenshot> +<screeninfo +>Collaboratie</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="collaboration-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een collaboratiediagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een collaboratiediagram </para> + </caption> + </mediaobject> +</screenshot> + +</sect2 +> <!-- collaboration diagrams --> + +<sect2 id="state-diagram"> +<title +>Toestandsdiagram</title> +<para +>Toestandsdiagrammen geven de verschillende toestanden van een object weer gedurende zijn bestaan, en de stimuli, die er voor zorgen dat het object zijn toestand wijzigt. </para +> +<para +>Toestandsdiagrammen kijken naar objecten als <emphasis +>toestandsmachines</emphasis +> of eindige automaten, die in een van een set eindige toestanden kunnen verkeren en hun toestand kunnen veranderen middels een van een eindige set stimuli. Bijvoorbeeld een object van het type <emphasis +>NetServer</emphasis +> kan in een van de volgende toestanden voorkomen tijdens zijn bestaan: </para> +<itemizedlist> +<listitem +><para +>Klaar</para +></listitem> +<listitem +><para +>Luisterend</para +></listitem> +<listitem +><para +>Werkend</para +></listitem> +<listitem +><para +>Gestopt</para +></listitem> +</itemizedlist> +<para +>en de gebeurtenissen die ervoor kunnen zorgen dat het object van toestand verandert, zijn</para> +<itemizedlist> +<listitem +><para +>Object is aangemaakt</para +></listitem> +<listitem +><para +>Object ontvangt bericht "luisteren"</para +></listitem> +<listitem +><para +>Een cliënt vraagt een verbinding aan over het netwerk</para +></listitem> +<listitem +><para +>Een cliënt beëindigt een aanvraag</para +></listitem> +<listitem +><para +>De aanvraag is uitgevoerd en beëindigd</para +></listitem> +<listitem +><para +>Object ontvangt bericht "stoppen"</para +></listitem> +<listitem +><para +>etc</para +></listitem> +</itemizedlist> +<para> +<screenshot> +<screeninfo +>Toestandsdiagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="state-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een toestandsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een toestandsdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="state"> +<title +>Toestand</title> +<para +>Toestanden zijn bouwstenen voor toestandsdiagrammen. Een toestand hoort bij exact één klasse en vertegenwoordigt een opsomming van waarden die de attributen van een klasse kunnen aannemen. Een &UML;-toestand beschrijft de interne toestand van een object van een bepaalde klasse </para +> +<para +>Merk op dat niet iedere verandering in een van de attributen van een object door een toestand gerepresenteerd dient te worden, maar slechts die veranderingen die significant de werking van het object kunnen beïnvloeden</para> +<para +>Er zijn twee bijzondere toestandstypen: begin en eind. Zij zijn bijzonder omdat er geen gebeurtenis bestaat die ervoor kan zorgen dat een object terugkeert naar zijn begin-toestand, evenals er geen gebeurtenis bestaat die mogelijkerwijs een object uit zijn eind-toestand kan halen, wanneer het die eenmaal bereikt heeft. </para> +</sect3> + +</sect2 +> <!-- state diagrams --> + +<sect2 id="activity-diagram"> +<title +>Activiteitsdiagram</title> +<para +>Activiteitsdiagrammen beschrijven de volgorde van aktiviteiten in een systeem net behulp van activiteiten. Aktiviteitsdiagrammen zijn een bijzondere vorm van toestandsdiagrammen, die alleen (of voornamelijk) aktiviteiten bevatten. </para> +<para> +<screenshot> +<screeninfo +>Een voorbeeld van een activiteitsdiagram.</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="activity-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; toont een activiteitsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; toont een activiteitsdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<para +>Activiteitsdiagrammen zijn vergelijkbaar met procedurele fluxdiagrammen, met dit verschil dat alle aktiviteiten duidelijk gekoppeld zijn aan objecten.</para> + +<para +>Activiteitsdiagrammen worden altijd geassocieerd met een <emphasis +>klasse</emphasis +>, een <emphasis +>operatie</emphasis +> of een <emphasis +>use case</emphasis +>.</para> + +<para +>Aktiviteitsdiagrammen ondersteunen zowel sequentiële als parallelle activiteiten. Parallelle uitvoering wordt gerepresenteerd m.b.v. pictogrammen voor afsplitsen/wachten, en voor de parallel verlopende activiteiten, is het niet van belang in welke volgorde zij worden uitgevoerd (zij kunnen tegelijkertijd uitgevoerd worden, of na elkaar)</para> +<sect3 id="activity"> +<title +>Activiteit</title> +<para +>Een activiteit is een enkele stap in een process. Een activiteit is een toestand in het systeem met interne activiteit en, ten minste, één uitgaande transitie. Activiteiten kunnen ook meer dan een uitgaande transitie bezitten als zij verschillende voorwaarden hebben. </para +> +<para +>Activiteiten kunnen hiërarchieën vormen, dit wil zeggen dat een activiteit samengesteld kan zijn uit meerdere <quote +>detail</quote +>-activiteiten, in welk geval de in- en uitgaande transities zouden moeten overeenstemmen met de in- en uitgaande transities van het detaildiagram. </para> + +</sect3> +</sect2 +> <!-- activity diagram --> + +<sect2 id="helper-elements"> +<title +>Hulpelementen</title> +<para +>Er zijn een paar elementen in &UML; die geen reële semantische waarde voor het model, maar helpen bij het verhelderen van delen van het diagram. Deze elementen zijn </para> +<itemizedlist> +<listitem +><para +>Tekstregels</para +></listitem> +<listitem +><para +>Notities en ankers</para +></listitem> +<listitem +><para +>Vakken</para +></listitem> +</itemizedlist +> +<para +>Tekstregels zijn nuttig om korte tekstuele informatie aan een diagram toe te voegen. Het is vrijstaande tekst en heeft geen betekenis voor het model zelf. </para +> + +<para +>Notities zijn nuttig om meer gedetailleerde informatie over een object of een specifieke situatie toe te voegen. Zij hebben het grote voordeel dat notities aan &UML;-elementen verankerd kunnen worden om te laten zien dat de notitie tot een specifiek object of situatie <quote +>behoort</quote +>. </para> + +<para +>Vakken zijn vrijstaande rechthoeken die gebruikt kunnen worden om groepen onderdelen samen te voegen en zo de diagrammen leesbaarder te maken. Zij hebben geen logische betekenis voor het model.</para> + +<!-- FIXME, screenshot --> +</sect2 +> <!-- helper elements --> + +<sect2 id="component-diagram"> +<title +>Componentdiagrammen</title> +<para +>Componentdiagrammen tonen de softwarecomponenten (ofwel component technologieën zoals KParts, CORBA-componenten of Java Beans ofwelsecties uit het systeem die duidelijk te onderscheiden zijn) en de artefacten waaruit zij gemaakt zijn zoals broncodebestanden, programmabibliotheken en relationele databasetabellen.</para> + +<para +>Componenten kunnen interfaces bezitten (&ie; abstracte klassen met operaties) die associaties tussen componenten toelaten.</para> +</sect2> + +<sect2 id="deployment-diagram"> +<title +>Deploymentdiagrammen</title> + +<para +>Deploymentdiagrammen tonen de "runtime" componentinstanties en hun associaties. Zij omvatten nodes, die fysieke resources zijn, in het typische geval een enkele computer. Zij tonen ook interfaces en objecten (instanties van klassen).</para> + +</sect2> + +</sect1 +> +</chapter> diff --git a/tde-i18n-nl/docs/tdesdk/umbrello/working_with_umbrello.docbook b/tde-i18n-nl/docs/tdesdk/umbrello/working_with_umbrello.docbook new file mode 100644 index 00000000000..514eaac9796 --- /dev/null +++ b/tde-i18n-nl/docs/tdesdk/umbrello/working_with_umbrello.docbook @@ -0,0 +1,413 @@ +<chapter id="working-with-umbrello"> +<title +>Werken met &umbrello;</title> +<!-- Umbrello basics: creating diagrams, creating classes, adding objects to diagrams, + associations, editing properties, anchor points in associations, removing objects, removing + diagrams +--> + +<para +>Dit hoofdstuk geeft u een inleiding in &umbrello;'s gebruikersinterface en vertelt u alles over wat u moet weten om een begin te maken met modelleren. Alle acties in &umbrello; zijn toegankelijk via het menu en de werkbalken, hoewel &umbrello; ook uitgebreid gebruik maakt van &RMB;-contextmenus. U kunt met de &RMB; klikken op vrijwel ieder element in &umbrello;'s werkblad of boomstructuur om een menu te krijgen met de handigste functies om toe te passen op het afzonderlijke element waar u op dat moment aan werkt. Sommige gebruikers vinden dit aanvankelijk enigszins verwarrend omdat zij er meer aan gewend zijn te werken met het menu of met werkbalken, maar als u er eenmaal aan gewend bent geraakt om <mousebutton +>rechts</mousebutton +> te klikken, dan zal uw werktempo aanzienlijk verhogen. </para> + +<sect1 id="user-interface"> +<title +>Gebruikersinterface</title> +<para +>&umbrello;'s hoofdvenster is verdeeld in drie gebieden die u erbij helpen om zowel een overzicht te bewaren over uw gehele systeem als snel de verschillende diagrammen te benaderen terwijl u aan uw model werkt. </para> +<para +>Deze gebieden heten:</para> +<itemizedlist> +<listitem +><para +>Boomstructuur</para +></listitem> +<listitem +><para +>Werkblad</para +></listitem> +<listitem +><para +>Documentatievenster</para +></listitem> +</itemizedlist> + +<screenshot> +<screeninfo +>&umbrello;'s gebruikersinterface</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="umbrello-ui.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello;'s gebruikersinterface</phrase> + </textobject> + <caption> + <para +>&umbrello;'s gebruikersinterface </para> + </caption> + </mediaobject> +</screenshot> + +<sect2 id="tree-view"> +<title +>Boomstructuur</title> +<para +>De boomstructuur bevindt zich gewoonlijk linksboven in het venster en toont alle diagrammen, klassen, actoren en use cases waaruit uw model is opgebouwd. De boomstructuur geeft u een snel overzicht van de samenstellende elementen van uw model. De boomstructuur maakt het u ook mogelijk om snel tussen de verschillende diagrammen in uw model te wisselen en elementen toe te voegen uit uw model in het actuele diagram. </para> +<para +>Als u aan een model werkt met meer dan alleen maar een paar klassen en diagrammen, dan helpt de boomstructuur u om het overzicht te bewaren door de elementen van uw model in mappen te organiseren. U kunt mappen maken door de geeigende keuze uit het context menu te kiezen (klik met de &RMB; op één van de mappen in de boomstructuur) en u kunt uw elementen organiseren door hen naar de van toepassing zijnde map te verplaatsen (slepen en neerzetten) </para> +</sect2> + +<sect2 id="documentation-window"> +<title +>Documentatievenster</title> +<para +>Het documentatievenster is het kleine venster linksonder in &umbrello;, en het geeft u een snel voorproefje van de documentatie voor het geselecteerde onderdeel. Het documentatievenster is tamelijk klein omdat het bedoeld is om u alleen maar een glimp van de documentatie van het element te geven, waarbij het zo min mogelijk beeldschermruimte inneemt. Wilt u de documentatie in groter detail zien dan kunt u ten alle tijde de eigenschappen van het onderdeel openen. </para> +</sect2> +<sect2 id="work-area"> +<title +>Werkblad</title> +<para +>Het Werkblad is het hoofdvenster in &umbrello; waar de echte acties plaats vinden. U gebruikt het werkblad om te diagrammen in uw model te bewerken of te bekijken. Het werkblad toont het op dit moment actieve diagram. In de huidige versie kan op ieder moment slechts een diagram tegelijk getoond worden. </para> +</sect2> +</sect1 +> <!--user-interface--> +<sect1 id="load-save"> +<title +>Modellen maken, laden en opslaan</title> +<para +>Het eerste wat u moet doen om iets nuttigs met &umbrello; te doen is het maken van een model waaraan u gaat werken. Als u &umbrello; start, dan laadt het altijd het laatst gebruikte model of het maakt een nieuw, leeg model (dit hangt af van uw voorkeurinstellingen in het instellingenvenster). Dit stelt u in de gelegenheid direct aan de slag te gaan. </para> +<sect2 id="new-model"> +<title +>Nieuw model</title> +<para +>Als u, op welk moment dan ook, een nieuw model moet maken, dan kunt u dit doen door de keuze <guimenuitem +>Nieuw</guimenuitem +> te selecteren uit het menu <guimenu +>Bestad</guimenu +> , of door te klikken op het pictogram <guiicon +>Nieuw</guiicon +> van de toepassingswerkbalk. Als u momenteel met een model bezig bent, dat is gewijzigd, dan zal &umbrello; u vragen of het uw wijzigingen moet opslaan alvorens het nieuwe model te laden. </para> +</sect2> +<sect2 id="save-model"> +<title +>Model opslaan</title> +<para +>U kunt op ieder moment uw model opslaan door de keuze <guimenuitem +>Opslaan</guimenuitem +> te selecteren uit het menu <guimenu +>Bestand</guimenu +> of door te klikken op de knop <guiicon +>Opslaan</guiicon +> uit de toepassingswerkbalk. Als u uw model onder een andere naam wilt opslaan, dan kunt u de keuze <guimenuitem +>Opslaan als</guimenuitem +> uit het menu <guimenu +>Bestand</guimenu +> gebruiken. </para> +<para +>Voor uw gemak biedt &umbrello; u ook de keuze om uw werk automatisch periodiek op te slaan. Als u er prijs op stelt dan kunt zowel deze keuze als het tijdsinterval instellen in <guimenu +>Instellingen</guimenu +> uit &umbrello;</para> +</sect2> +<sect2 id="load-model"> +<title +>Model laden</title> +<para +>Om een reeds bestaand model te laden, kunt u de keuze <guimenuitem +>Openen</guimenuitem +> selecteren uit het meun <guimenu +>Bestand</guimenu +> of het pictogram <guiicon +>Openen</guiicon +> aanklikken uit de toepassingswerkbalk. De meest recent gebruikte modellen zijn eveneens beschikbaar onder het submenu <guimenuitem +>Openen recent</guimenuitem +> van het menu <guimenu +>Bestand</guimenu +> om zo de toegangssnelheid tot uw meest gebruikte modellen te vergroten. </para> +<para +>&umbrello; kan slechts met één model tegelijk werken, dus als u het programma vraagt om een model te laden, en uw actuele model is gewijzigd nadat u het voor de laatste keer bewaarde, zal &umbrello; uvragen of uw wijzigingen bewaard moeten worden om te voorkomen dat u werk kwijt raakt. U kunt op ieder moment twee of meer instanties van &umbrello; starten, u kunt ook kopiëren en plakken tussen instanties. </para> +</sect2> +</sect1 +> <!--load-save--> +<sect1 id="edit-model"> +<title +>Modellen bewerken</title> +<para +>In &umbrello;, zijn in principe twee manieren om de elementen in uw model te bewerken. <itemizedlist> +<listitem +><para +>Modelelementen direct bewerken via de boomstructuur</para +></listitem> +<listitem +><para +>Modelelementen bewerken via een diagram</para +></listitem> +</itemizedlist> +</para> +<para +>Door gebruik te maken van de contextmenu's van de verschillende onderdelen in de boomstructuur bent u in staat om vrijwel alle elementen aan uw model toe te voegen, uit uw model te verwijderen en in uw model te wijzigen. <mousebutton +>Rechts</mousebutton +> klikken op de mappen in de boomstructuur geeft u de keuze om niet alleen de verschillende soorten diagrammen te maken maar ook, afhankelijk van of de gekozen map een <emphasis +>use case-weergave</emphasis +> of een <emphasis +>logische weergave</emphasis +> is, actoren, use cases, klassen enz.. </para> +<para +>Heeft u eenmaal elementen aan uw model toegevoegd, dan kunt u een element ook bewerken door middel van diens eigenschappenvenster. Dat kunt u vinden door de keuze <emphasis +>Eigenschappen</emphasis +> te selecteren uit het contextmenu dat verschijnt als u <mousebutton +>rechts</mousebutton +> klikt op de onderdelen in de boomstructuur. </para> +<para +>U kunt uw model ook bewerken door elementen te maken of te wijzigen door middel van diagrammen. Meer details over hoe u dit moet doen worden in de volgende secties gegeven. </para> +</sect1> +<sect1 id="add-remove-diagrams"> +<title +>Diagrammen toevoegen en verwijderen</title> +<para +>Uw &UML;-model bestaat uit een set &UML; elementen met hun onderlinge associaties. Alleen kunt u het model niet direct zien, u kijkt ernaar d.m.v. <emphasis +>diagrammen</emphasis +>. </para> +<sect2 id="create-diagram"> +<title +>Diagrammen maken</title> +<para +>Om een nieuw diagram in uw model te maken selecteert u gewoon de diagramsoort die u nodig heeft uit het submenu <guimenuitem +>Nieuw</guimenuitem +> submenu van het menu <guimenu +>Diagram</guimenu +> en geeft u het een naam. Het diagram wordt gemaakt en wordt geactiveerd, en u krijgt het direct te zien in de boomstructuur. </para> +<para +>Onthoud dat &umbrello; uitgebreid gebruik maak van contextmenu's: u kunt evengoed &RMB; klikken op een map in de boomstructuur en de juiste diagramsoort uit het submenu <guisubmenu +>Nieuw</guisubmenu +> van het contextmenu selecteren. Merk op dat u alleen use case diagrammen kunt maken in mappen van een use case-weergave, en de andere soorten diagrammen alleen in de mappen van de logische weergave. </para> +</sect2> +<sect2 id="remove-diagram"> +<title +>Diagrammen verwijderen</title> +<para +>Doet het zich voor dat u een diagram uit uw model moet verwijderen, dan doet u dit door het te activeren en <guimenuitem +>Verwijderen</guimenuitem +> te selecteren in het menu <guimenu +>Diagram</guimenu +>. U kunt dit ook bereiken door <guimenuitem +>Verwijderen</guimenuitem +> te selecteren in het diagrammen-contextmenu in de boomstructuur. </para> +<para +>Omdat het verwijderen van een diagram een serieuze aangelegeheid is waarbij u per ongeluk werk kunt verliezen, vraagt &umbrello; u om bevestiging van de verwijdereringsoperatie alvorens daadwerkelijk het diagram te verwijderen. Is het diagram eenmaal verwijderd dan is de file opgeslagen, dan kan deze actie op geen wijze ongedaan gemaakt worden. </para> +</sect2> +<sect2 id="rename-diagram"> +<title +>Diagrammen hernoemen</title> +<para +>Als u de naam van een bestaand diagram wilt wijzigen dan kunt u dit gemakkelijk doen door de optie "Hernoemen" uit diens &RMB; menu te selecteren in de boomstructuur. </para> +<para +>Een andere manier om een diagram te hernoemen is dit te doen via zijn eigenschappenvenster. U krijgt deze als u "Eigenschappen" uit zijn contextmenu selecteert of door erop dubbel te klikken in de boomstructuur. </para> +</sect2> +</sect1> +<sect1 id="edit-diagram"> +<title +>Diagrammen bewerken</title> +<para +>Bij het werken met een diagram probeert &umbrello; u te assisteren door enkele eenvoudige regels toe te passen met betrekking tot toegestane elementen in de verschillende soorten diagrammen, en de relaties die tussen hun kunnen voorkomen. Als u een &UML;-expert bent dan zal u dit waarschijnlijk niet eens merken, maar dit helpt &UML;-nieuwelingen om aan de standaard voldoende diagrammen te maken. </para> +<para +>Als u eenmaal uw diagrammen heeft gemaakt, dan wordt het tijd om ze te bewerken. Hier zou u het (voor beginners subtiele) verschil moeten zien tussen uw diagram bewerken, en het <emphasis +>model</emphasis +> bewerken. Zoals u reeds weet, zijn diagrammen <emphasis +>weergaven</emphasis +>van uw model. Bijvoorbeeld, als u een klasse maakt door een klassediagram te bewerken, dan bewerkt u in feite beide, uw diagram en uw model. Als u de kleur of andere weergavemogelijkheden van een klasse in uw klassediagram wijzigt, dan bewerkt u alleen uw diagram, en blijft uw model onveranderd. </para> +<sect2 id="insert-elements"> +<title +>Elementen toevoegen</title> +<para +>Een van de eerste dingen die u zult doen wanneer u een nieuw diagram bewerkt bestaat uit het eraan toevoegen van elementen (klassen, actoren, use cases, &etc;) Er zijn in principe twee manieren om dit te doen.</para> +<itemizedlist> +<listitem +><para +>Bestaande elementen naar uw model slepen uit de boomstructuur</para +></listitem> +<listitem +><para +>Nieuwe elementen in uw model maken en ze tegelijkertijd toevoegen aan uw diagram, door middel van de bewerkingsmiddelen in de gereedschappenbalk</para +></listitem> +</itemizedlist> +<para +>Om reeds bestaande elementen toe te voegen aan uw model, hoeft u ze alleen maar uit de boomstructuur te slepen en ze te laten vallen op het diagram daar waar u ze wilt hebben. U kunt altijd elementen verplaatsen in uw diagram met het selectiehulpmiddel. </para> +<para +>De tweede manier om elementen aan uw diagram toe te voegen bestaat uit het toepassen van de bewerkingsmiddelen in de gereedschappenbalk (merk op dat dit tegelijkertijd elementen aan uw model toevoegt). </para> +<para +>De gereedschappenbalk bevond zich standaard uiterst rechts in het programmavenster, &umbrello; 1.2 heeft dit verplaatst naar de bovenkant van het venster. U kunt het naar believen aan de andere kant parkeren of het rond laten zweven. De in deze gereedschappenbalk beschikbare gereedschappen (de knoppen die u erop ziet) veranderen afhankelijk van het soort diagram waar u op het moment mee bezig bent. De knop voor het geselecteerde gereedschap is geactiveerd in de gereedschappenbalk. U kunt omschakelen naar het selectiegereedschap door op de toets &Esc; te drukken. </para> +<para +>Wanneer u een bewerkingsgereedschap heeft geselecteerd uit de gereedschappenbalk (bijvoorbeeld, het gereedschap om klassen toe te voegen) dan verandert de muisaanwijzer in een kruis, en kunt u de elementen aan uw model toevoegen met een enkele muisklik in uw diagram. Merk op dat elementen in &UML; een <emphasis +>unieke naam</emphasis +> moeten hebben. Dus als u in een diagram een klasse heeft waarvan de naam <quote +>KlasseA</quote +> is, en u gebruikt het klasse-toevoegen gereedschap om de klasse aan een ander diagram toe te voegen, kunt u niet deze nieuwe klasse eveneens <quote +>KlasseA</quote +> noemen. Als verondersteld wordt dat deze beide twee verschillende elementen moeten zijn, dan dient u ze een unieke naam te geven. Als u wilt proberen om <emphasis +>hetzelfde</emphasis +> element aan uw diagram toe te voegen, dan is "Klasse toevoegen" niet het daartoe geschikte gereedschap. In plaats hiervan kunt u beter de klasse uit de boomstructuur verslepen. </para> +</sect2> +<sect2 id="delete-elements"> +<title +>Elementen verwijderen</title> +<para +>U kunt ieder element verwijderen door de keuze <guimenuitem +>Verwijderen</guimenuitem +> te selecteren in het contextmenu. </para> +<para +>Weer is er een <emphasis +>groot</emphasis +> verschil tussen een object uit een diagram verwijderen, en object uit uw model verwijderen: Als u een object uit uw diagram verwijdert, dan verwijdert u alleen dat object uit dat ene specifieke diagram: het element blijt nog steeds deel uitmaken van uw model model en als er andere diagrammen zijn die hetzelfde element gebruiken, dan zullen zij geen enkele wijziging krijgen. Als u daarentegen, het element verwijdert uit de boomstructuur, dat verwijdert u feitelijk het element uit uw <emphasis +>model</emphasis +>. Als derhalve het element niet langer in uw model voorkomt, dan wordt het automatisch verwijderd uit alle diagrammen waar het in voorkomt. </para> +</sect2> +<sect2 id="edit-elements"> +<title +>Elementen bewerken</title> +<para +>De meeste van de &UML;-elementen in uw model en diagrammen kunt u bewerken door hun eigenschappenvenster te openen en de van toepassing zijnde mogelijkheden te selecteren. Om de eigenschappen van een object te bewerken, selecteert u <guimenuitem +>Eigenschappen</guimenuitem +> in zijn contextmenu (&RMB;-klik). Ieder element heeft een dialoog die uit meerdere pagina's bestaat waarin u de instellingen van dat element kunt aanpassen. Voor sommige elementen, zoals actoren, kunt u slechts een paar instellingen, zoals de naam van het object en documentatie, een waarde geven, terwijl voor andere elementen, zoals klassen, u de attributen en operaties kunt bewerken, en selecteren wat er volgens u in het diagram getoond moet worden (complete operatiesignatuur of alleen namen van operaties, enz.), en zelfs de kleuren die u wilt gebruiken voor de lijnen en opvulling voor de klasserepresentatie in het diagram. </para> + +<para +>Voor de meeste &UML;-elementen kunt u het eigenschappenvenster ook openen door er dubbel op te klikken wanneer u het selectiegereedschap (pijl) gebruikt. Uitzondering hierop vormen associaties, waarbij dubbel klikken een ankerpunt creëert. Voor associaties dient u het &RMB;-contextmenu te gebruiken om het eigenschappenvenster te krijgen. </para> + +<para +>Merk op dat u de eigenschappen-menukeuze ook kunt selecteren in met contextmenu van de elementen in de boomstructuur. Hiermee kunt u ook de eigenschappen van de diagrammen bewerken, zoals de instelling of er al dan niet een rooster getoond moet worden. </para> +</sect2> +<sect2 id="edit-classes"> +<title +>Klassen bewerken</title> +<para +>Alhoewel het bewerken van eigenschappen van alle objecten al besproken was in de vorige sectie, verdienen klassen een toegewijde sectie omdat zij wat gecompliceerder zijn en meer instelmogelijkheden hebben dan de meeste andere &UML;-elementen. </para> +<para +>In het eigenschappenvenster van een klasse kunt van alles instellen, vanaf de kleur die het gebruikt tot en met zijn operaties en attributen. </para> +<sect3 id="class-general-settings"> +<title +>Algemene klasse-instellingen</title> +<para +>De algemene instelpagina van het eigenschappenvenster spreekt voor zich. Hier kunt u de naam van de klasse veranderen, de zichtbaarheid, documentatie, &etc;. Deze pagina is altijd beschikbaar. </para> +</sect3> +<sect3 id="class-attributes-settings"> +<title +>Klasse-attributen instellen</title> +<para +>In de pagina voor attributeninstellingen kunt u klasse-attributen (variabelen) toevoegen, bewerken, of verwijderen. U kunt attributen omhoog en omlaag door de lijst verplaatsen met de pijlknoppen aan de zijkant. Deze pagina is altijd beschikbaar. </para> +</sect3> +<sect3 id="class-operations-settings"> +<title +>Klasse-operaties instellen</title> +<para +>Net als in de pagina voor attributeninstellingen, kunt u in de pagina voor operatie-instellingen, klasse-operaties toevoegen, bewerken, of verwijderen. Bij het toevoegen en bewerken van een operatie, geeft u de basisgegevens op in het venster <emphasis +>Operatie-eigenschappen</emphasis +>. Als u parameters aan uw operatie wilt toevoegen, dan dient u op de knop <guibutton +>Nieuwe parameter</guibutton +> te klikken, waardoor het venster <emphasis +>Parameter-eigenschappen</emphasis +> getoond wordt. Deze pagina is altijd beschikbaar. </para> +</sect3> +<sect3 id="class-template-settings"> +<title +>Klasse-sjabloon instellen</title> +<para +>Met deze pagina kunt klasse-sjablonen toevoegen. Dit zijn niet gespecificeerde klassen of gegevenstypen. In Java 1.5 gaan deze generics heten. </para> +</sect3> +<sect3 id="class-associations-page"> +<title +>De pagina "Klasse-associaties"</title> +<para +>De pagina <guilabel +>Klasse-associaties</guilabel +> toont alle associaties van deze klasse in het huidige diagram. Dubbel klikken op een associatie laat zijn eigenschappen zien, en afhankelijk van de soort associatie kunt u hier enkele parameters wijzigen zoals instellen van menigvuldigheid en de naam van de rol. Als de associatie niet toelaat om dergelijke keuzemogelijkheden te wijzigen, dan geldt voor dit associatie-eigenschappenvensteralleen-lezen, en kunt u alleen de aan deze associatie gekoppelde documentatie wijzigen. </para> +<para +>Deze pagina is alleen beschikbaar als u de klasse-eigenschappen vanuit een diagram opent. Als u de klasse-eigenschappen vanuit het contextmenu in de boomstructuur opent, dan is deze pagina niet beschikbaar. </para> +</sect3> +<sect3 id="class-display-page"> +<title +>De pagina "Klasse-weergave"</title> +<para +>In de pagina <guilabel +>Weergave keuzemogelijkheden</guilabel +> kunt u instellen wat er in het diagram weergegeven moet worden. Een klasse kan weergegeven worden als alleen een rechthoek met de naam van de klasse erin (handig als u veel klassen in uw diagram heeft, of op het moment niet in de details van iedere klasse geïnteresseerd bent) of zo compleet als maar mogelijk met pakketen, stereotypen, attributen en operaties met volledige signatuur en zichtbaarheid </para> +<para +>Afhankelijk van de hoeveelheid informatie die u wilt zien, kunt u in deze pagina de corresponderende keuzemogelijkheden selecteren. De wijzigingen die u hier maakt zijn slechts <emphasis +>weergave-keuzemogelijkheden</emphasis +> voor het diagram. Dit houdt in dat <quote +>verbergen</quote +> van de klasse-operaties alleen tot gevolg heeft dat zij niet in het diagram getoond worden, en de operaties er nog steeds zijn als onderdeel van uw model. Deze keuzemogelijkheid is alleen beschikbaar als u de klasse-eigenschappen vanuit een diagram selecteert. Opent u echter klasse-eigenschappen vanuit de boomstructuur, dan ontbreekt deze pagina aangezien dergelijke keuzemogelijkheden in dat geval geen zin hebben.</para> +</sect3> +<sect3 id="class-color-page"> +<title +>De pagina "Klasse-kleur"</title> +<para +>In de pagina <guilabel +>Widgetkleur</guilabel +> kunt u de kleuren instellen die u voor de lijnen en opvulling voor de widget wenst. Deze keuzemogelijkheid heeft overduidelijk alleen maar zin voor klassen in diagrammen, en ontbreekt wanneer u het klasse-eigenschappenvenster opent vanuit de boomstructuur. </para> +</sect3> +</sect2> + +<sect2 id="associations"> +<title +>Associaties</title> +<para +>Associatie relateren twee &UML; objecten aan elkaar. Normaal worden associaties gedefinieerd tussen twee klassen, maar sommige soorten associaties kunnen ook voorkomen tussen use cases en actoren. </para> +<para +>Om een associatie te maken selecteert u het geëigende gereedschap in degereedschappenbalk (generieke associatie, generalizatie, aggregatie, &etc;). Vervolgens klikt u eenmaal op het eerste element dat deelneemt aan de associatie, en eenmaal op het tweede element dat eraan deelneemt. Merk op dat dit twee klikken zijn, eenmaal op elk van de objecten die aan de associatie deelnemen, het is <emphasis +>geen</emphasis +> slepen van het ene object naar het andere. </para> +<para +>Als u probeert om een associatie aan te leggen tegen de regels van de &UML;-specificatie dan zal &umbrello; weigeren de associatie te maken en krijgt u een foutmelding. Dit kan het geval zijn als, bijvoorbeeld, er een generalisatie bestaat van klasse A naar klasse B en u vervolgens probeert om een andere generalisatie van klasse B naar klasse A te maken. </para> +<para +><mousebutton +>Rechts</mousebutton +> klikken op een associatie brengt een contextmenu naar voren met de acties die u erop kunt toepassen. Als u een associatie wilt verwijderen, selecteer dan de optie <guimenuitem +>Verwijderen</guimenuitem +> uit dit contextmenu. U kunt ook de optie <guimenuitem +>Eigenschappen</guimenuitem +> selecteren, en afhankelijk van de soort associatie, de attributen, zoals rol en multipliciteit, bewerken. </para> +<sect3 id="anchor-points"> +<title +>Ankerpunten</title> +<para +>Standaard worden associaties getekend als een rechte lijn die de twee objecten in het diagram met elkaar verbindt. </para> +<para +>U kunt ankerpunten toevoegen om een associatie te buigen. <mousebutton +>Dubbelklik</mousebutton +> hiertoe ergens op de associatielijn. Dit voegt een ankerpunt toe (weergegeven als een blauwe punt wanneer de associatielijn geselecteerd wordt) welke u overal naartoe kunt verplaatsen om de associatie van vorm te veranderen. </para> +<para +>Als u een ankerpunt wilt verwijderen, <mousebutton +>dubbel</mousebutton +>klik er dan weer om het te verwijderen </para> +<para +>Merk op dat de enige manier om de eigenschappen van een associatie te bewerken, via het contextmenu loopt. Er op <mousebutton +>dubbel</mousebutton +>klikken, zoals bij andere &UML;-objecten, heeft alleen tot gevolg dat er een ankerpunt toegevoegd wordt. </para> +</sect3> +</sect2> + +<sect2 id="notes"> +<title +>Notities, tekst en vakken</title> +<para +>Notities, tekstregels en vakken zijn elementen die in ieder soort diagram kunnen voorkomen en geen wezenlijke semantische waarde hebben. Maar, zij zijn zeer nuttig om extra commentaar of uitleg toe te voegen, waardoor uw diagram gemakkelijker te begrijpen wordt. </para> +<para +>Om een notitie of een tekstregel toe te voegen, selecteert u het corresponderende gereedschap in de gereedschappenwerkbalk en klikt u eenmaal op het diagram waar u uw commentaar wilt hebben. U kunt de tekst bewerken door het element te openen via zijn contextmenu of in het geval van notities evengoed door er op te <mousebutton +>dubbel</mousebutton +>klikken. </para> +<sect3 id="anchors"> +<title +>Ankers</title> +<para +>Ankers worden gebruikt om een tekstaantekening en een &UML; element aan elkaar te koppelen. Bijvoorbeeld, u gebruikt gewoonlijk een tekstaantekening om betreffende een klasse of een of andere associatie, iets te verklaren of er enig commentaar aan toe te voegen, in zo'n geval kunt u een anker gebruiken om aan te geven dat de notitie tot dat ene element <quote +>behoort</quote +>. </para> +<para +>Om een anker aan een notitie en een &UML;-element toe te voegen, gebruikt u het ankergereedschap uit de gereedschappenbalk. U dient eerst op de notitie te klikken en vervolgens op het &UML;-element waar u de notitie aan wilt verbinden. </para> +</sect3> +</sect2> +</sect1> +</chapter> +<!--edit-diagram--> |