Java & uml

Status
Niet open voor verdere reacties.

dreamweaverfan

Gebruiker
Lid geworden
16 jun 2010
Berichten
226
Beste Programmeurs:

Hierbij wil ik graag informeren wat UML nou precies doen

Is het een soort javascript dat je opdracht geeft voor een variable of is het meer?
als je zoek met google krijg ingewikkelde diagrammen maar daar wordt ik niks weizer uit
Is het een soort geautomatischeerd systeem wat je opbouwd

en nogmaals.. Wat heeft uml met java te maken?

Want met UML leer je OO en met java ook?

Graag advies
 
UML is een modelmatige taal om objectgeoriënteerde analyses en ontwerpen voor een informatiesysteem te kunnen maken.

Je kunt dus eerst een model maken van je applicatie alvorens te beginnen met schrijven. Dit zorgt voor een stuk betere structuur dan wanneer je zomaar ergens begint met schrijven. De diagrammen die je ziet zijn oa.:

Klassendiagrammen - deze laten zien welke klassen nodig zijn, wat de belangrijkste functies zijn en de onderlinge relaties tussen verschillende klassen.
Activity diagrammen - deze laten de toestanden van het systeem zien gedurende het gebruik ervan.

Zo zijn er nog meer diagrammen.

Uiteindelijk kun je vanuit het klassendiagram een soort van framework van java bestanden creëren, waarin je kunt beginnen met schrijven.

Bron.
 
beste niekfct

Hierbij wil ik u bedanken voor uw advies:

Maar de diploma's die je met UML Kan halen zijn vrij ingewikeld, dus het zal veel en veel meer zijn dan enkel diagrammen voor gemaakte systemen te ontwerpen.

Dit doet me denken aan html en sitemap, een soort document met mappen structuur.

of kunt u er echt hele systemen mee schrijven, of aan java koppelen ??

Graag advies,
 
Beste dreamweaverfan.

UML is niet iets dat je aan java kan koppenelen of dergelijks.

UML laat eigenlijk alle aspecten van je programma zien m.b.v. verschillende diagrammen.
Je zou met behulp van een grondige UML analyse je hele programma moeten kunnen uitwerken en omdat er vooraf al aan de meeste (er zijn altijd onvoorziene) aspecten word gekeken loop je minder kans om hele grote structurele fouten te maken waardoor het je op de lange baan veel tijd zal besparen, daarom is het ook zo belangrijk (al word er vaak niet verder gekeken dan een klassendiagram in mijn beleving).

Dit kan met behulp van verschillende diagrammen

Het klassendiagram (die niek ook al uitlegde) laat de structuur van het programma zien (de verschillende referenties naar klasses etc.)
http://www.computerwoorden.nl/woorden/wdb/gif/klassediagram.jpg
(Eerst komen alle attributen, onder het streepje zie je de methoden die een klasse bevat. Als je in uml een woord boven een associatie tussen 2 klassen ziet staan betekent dit dat degene waar de pijl naar wijst een attribuut van (de klasse aan het begin van de pijl) is met de naam die boven de associatie staat).
*Het laatste klinkt misschien een beetje vreemd, maar ik denk dat google je er veel over kan vertellen :)

Het activiteitendiagram laat zeg maar een process binnen een systeem zien. Bijvoorbeeld om te laten zien hoe componenten binnen een systeem werken.
http://argouml-stats.tigris.org/non...al-0.26/images/reference/activity_diagram.gif
(De zwarte stip is het begin, de witte vlakken zijn toestanden (bijv. ingelogd), de guard [.. ] moet waar zijn om de pijl waarbij de guard hoort te mogen volgen).


Use-cases: Zijn eigenlijk dingen/taken die de gebruiker met het syteem kan. een use-case bij een spel zou bijvoorbeeld kunnen zijn: Score invoeren of spel starten.
http://pineapplie.files.wordpress.com/2009/05/usecase.jpg
(zoals je ziet zijn er verschillende actoren (de poppetjes) dit zijn mensen die van het systeem gebruik maken)
include betekend dat de betreffende use-case dat word geinclude moet voldaan zijn voordat de use-case die iets include pas uitgevoerd kan worden).

Use-case beschrijvingen: Zijn uitgewerkte use-cases.
http://www.cwu.edu/~gellenbe/docs/xmltouml/images/appendixa.gif
(Zelf zou ik het gewoon houden bij: Naam use-case, actor, Pre-conditie, Hoofdscenario (en eventuele alternatieve scenario's hoe de use-case uitgevoerd zou kunnen worden), post-conditie. Een voorbeeld van een hoofdscenario is: 1. Gebruiker vult inlog-gegevens in 2. Systeem controleert de gegevens 3. Gebruiker is ingelogd. )

Het Sequence diagram laat zien hoe een bepaalde use-case word uitgevoerd. Zo kan je een makkelijk zien hoe een use-case geimplementeerd is in het systeem.
http://argouml-stats.tigris.org/non...al-0.28/images/reference/sequence_diagram.gif
(Zoals je ziet kun je hier goed de verschillende acties (aanroepen) tussen objecten zien en welke aanroep er gedaan wordt).
*De dubbele punt voor de naam van de klasse betekent dat het een object is (zonder naam in dit geval).

Toestandsdiagram:
Een toestandsdiagram laat de verschillende toestanden zien waarin een systeem kan verkeren en hoe het daarin komt. Dit valt goed te zien in de onderstaande link.
http://users.csc.calpoly.edu/~jdalbey/SWE/Design/STD_HotelReservation.jpg

Communicatiediagram:
Laat de communicatie tussen verschillende objecten binnen een systeem zien (zoals de naam al doet vermoeden)
Dit is een alternatief op het sequence diagram.
http://www.agilemodeling.com/images/models/communicationDiagram.jpg

Er bestaan ook nog: Component-, Deployment en Collaboration diagrammen, maar daar weet ik zelf niks van af :)

Om verwarring te voorkomen: Een klasse is geen object. Een klasse is een soort van richtlijn waaruit objecten kunnen ontstaan. Dus van een klasse kunnen meerdere objecten gemaakt worden. Helpmij1 is bijv.een object van de klasse Helpmij.nl maar Helpmij2 is ook een object van Helpmij.nl.

----
Ik kon hier natuurlijk niet alles in uitwerken. Als je bepaalde aspecten van diagrammen wilt weten of vragen hebt wil ik ze graag beantwoorden.

Enige fouten / aanvullingen hoor ik graag. Zelf ben ik ook een leerling dus alle hulp is welkom.

Kind regards,
NewbProgr
 
Laatst bewerkt:
beste NewbiProgrammer

Hartstikke bedankt voor uw goei, hheldere uitleg

ik wil eerst informatie inwinnen voor ik een studie ga beginnen
en studie kost geld, en als blijkt dat je er eigenlijk niks aan vind of van snapt is dat gewoon weg gegooit
ik snap hier uit dat het vooral een soort wegwijs is van ingewikkelde code

verder heb ik nog een vraag:

JAVA koppelen aa n je webpagina kan:
Kun je dan een wachtwoord systeem samen stellen
Ik wil dat graag leren, php, ror zijn ong dezelfde talen die voor een dynamische site zorgen.

Het DYNAMISCHE is mij niet duidelijk, hoe zie je nou dat dat geschreven is in php?

Maargoed die vraag kan ik in dit topic niet stellen

nogmaals bedankt voor de vele informatie,
 
Register Voorbeeld:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
color: #00C;
}
body {
background-color: #666;
}
-->
</style></head>

<body>
<form name="form1" method="post" action="">
<p>Naam:
<input type="text" name="Naam:" id="Naam:" />
<br />
</p>
<p>&nbsp;</p>
<p>Voeg in:<br />
<br />
<br />
Naam:
<input type="text" name="Naam:2" id="Naam:2" />
<br />
<br />
Achternaam:
<input type="text" name="Achternaam:" id="Achternaam:" />
<br />
<br />
Adres:
<input type="text" name="Adres:" id="Adres:" />
</p>
<p><br />
</p>
</form>
</body>
</html>


Dit is een simpel geschreven html scriptje:

Is het mogelijk met java dat je hier een database aan koppeld en dat je bijv alle namen erin opslaat en en dan bijv een route beschrijving eraan koppeld zodat die onthouden wordt of overige informatie over die persoon?

Graag advies:
 
Ik snap niet precies waarom je hier java aan zou willen koppelen dit lijkt mij namelijk meer iets voor php omdat je een html formulier hebt. Met php zou je de ingevulde informatie naar een database kunnen schrijven.

In een javaprogramma is het ook mogelijk om informatie naar een database te schrijven hiervoor zou ik even kijken naar de termen Databasemanager, Dao's (Data access object) en JDBC.

Ook is het mogelijk om objecten naar een database te schrijven misschien is dit handig voor je routebeschrijvingprobleem.
http://en.wikipedia.org/wiki/Object-relational_mapping

ps. wijken we nu niet een beetje van het onderwerp af en is dit niet iets voor een nieuw item.
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
...
</html>

...
in java wordt het dit

HTML:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
    <jsp:useBean id="user" scope="session" class="be.djdb.acompany.server.User"/>
    <h1>Welkom ${name}</h1>
    <% if(user.islogin()==true){//(islogin()bij forward mag de header niet zijn verstuurd dus in de else structuur
        %>
        <%@ include file="content/head.jsp"  %>
        <h1>Customers</h1>
        <%@ include file="content/navigation.jsp"  %>
        <form action="./ACustomer" method="POST" target="_parent" >
            <fieldset title="Customer">
                <legend>Custemer</legend>
                <label for="companyname" title="Bedrijfsnaam" >Bedrijfsnaam</label>
                    <input type="text" name="companyname" value="" align="LEFT" size="20" maxlength="45" />
                <label for="city" title="Stad"  >Stad</label>
                    <input type="text" name="city" value="" align="LEFT" size="20" maxlength="45" />
                <label for="contactname" title="Contactname"  >Contactpersoon</label>
                    <input type="text" name="contactname" value="" align="LEFT" size="20" maxlength="45" />
                <label for="email" title="e-mail"  >Email</label>
                    <input type="text" name="email" value="" align="LEFT" size="20" maxlength="45" /><br />
                <input type="submit" name="search" value="zoeken">
                <input type="submit" name="generateA" value="aanmaken"><br />
                <label for="selectcust" title="customer selection"  >selecteer een klant</label>
                <select size="5" height="1" name="selectcust">
                        <% if(session.getAttribute("customers")!=null){       %>
                           <c:forEach items="${customers}" var="cust" >
                               <option value="${cust.key}">${cust.value.string}</option>
                            </c:forEach>
                         <%} else{              %>
                               <option value="0" selected="selected">not found</option>
                         <%}                 %>
                </select>
                <input type="submit" name="selected" value="select"/>
            </fieldset>
        </form>
       
    <table class="sortable" id="anyid" cellpadding="0" cellspacing="0">
    <tr>
        <th>link</th>
        <th>companyName</th>
        <th>contactName</th>
        <th>email</th>
        <th>city</th>
    </tr>
    <% if(session.getAttribute("customers")!=null){       %>
       <c:forEach items="${customers}" var="cust" >
                <tr>
                    <td><a href="./ACustomer?selected=select&selectcust=${cust.key}">maak orders</a></td>
                    <td>${cust.value.companyName}</td>
                    <td>${cust.value.contactName}</td>
                    <td>${cust.value.email}</td>
                    <td>${cust.value.city}</td>
                </tr>
        </c:forEach>
    <%}                 %>
    </table>
        <%@ include file="content/foot.jsp" %>
    <%}else{%>
        <%@ include file="content/head.jsp"  %>
        no login
        <%@ include file="content/foot.jsp" %>
        ${msg}
    <%}%>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan