[ASP.NET] Webapplicatie in UML classdiagram

Pagina: 1
Acties:

  • JaymzHetfield
  • Registratie: Februari 2001
  • Laatst online: 18-07 21:06
Ik probeer er achter te komen hoe je UML kan gebruiken om een ASP.NET webapplicatie in C# te modelleren. Met name het classdiagram...

Achtergrond:
Vanuit school hebben we altijd met UML gemodelleerd, dat beviel op zich wel en was altijd vrij duidelijk. Het ging echter altijd om 'normale' applicaties.
Nu ga ik een ASP.NET webapplicatie maken in C# en wil het ontwerp met UML doen. Ik heb al gezocht op internet of dat überhaupt wel een goed idee is, en het schijnt van wel.
Ik zit alleen tegen het classdiagram aan te hikken. Normaal verzin je gewoon een stel zelfstandigenaamwoorden die je daarna filtert op relevantie, je maakt er classes van met associaties, attributen en operaties blablabla en klaar is Kees. Bij een webapplicatie ligt dat toch anders denk ik? Stel je gaat een shop bouwen. Dan kan je wel leuk een klasse Klant, Bestelling, Produkt e.d. gaan bedenken, maar de realiteit is dat je die waarschijnlijk toch niet gebruikt aangezien je webapp. voornamelijk uit webforms zal bestaan die wat in de DB friemelen. Dus eerder: loginwebform, produktbeheerwebform etc.
Ik heb hier: http://www.nuclis.nl/NL/nieuws/sdgn_eho.asp (bij het kopje Class-gebruik) al gezien dat lang niet alle classes relevant zijn en je in principe gebruik maakt van de daar genoemde stereotypes.

Ik kan echter nergens een voorbeeld vinden waarin dit ook daadwerkelijk gebruikt wordt.

Het liefst zou ik dus een voorbeeld zien van het classdiagram van een ASP.NET webapplicatie.

Metal up your ass


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
UML gebruik je om jouw classes en de relaties tussen die classes schematisch voor te stellen. De manier waarop je dat doet is voor webapplicaties hetzelfde als voor 'normale' applicaties.

Waarom zou je classes maken, en die dan later toch niet gebruiken? Waarom zou je vanop je webforms direct in je databank 'friemelen'? (En waarom zou je dat bij een normale app niet doen?).
Als je een mooie structuur maakt (data access logic, business logic, en presentatie; en die 3 lagen gescheiden houdt), dan zal je die classes wel gebruiken.

https://fgheysels.github.io/


  • Yoran
  • Registratie: Juni 2002
  • Laatst online: 03-05 00:26
Je kunt toch classes maken DIE de database wijzigen.
Je hebt gewoon te maken met verschillende lagen in je webapplicatie.
Als je klantinformatie wilt updaten, heb je een klasse klant met een functie update().
Stel je hebt je webform in xhtml gemaakt. Dit form wordt verstuurd naar c# script. Dit c# script maakt een nieuwe instantie van een Klant klasse en roept de functie Update aan met de juiste parameters.

  • JaymzHetfield
  • Registratie: Februari 2001
  • Laatst online: 18-07 21:06
whoami schreef op 10 March 2003 @ 13:35:
UML gebruik je om jouw classes en de relaties tussen die classes schematisch voor te stellen. De manier waarop je dat doet is voor webapplicaties hetzelfde als voor 'normale' applicaties.
Ik snap dat dat met webapplicaties ook kan.
Waarom zou je classes maken, en die dan later toch niet gebruiken? Waarom zou je vanop je webforms direct in je databank 'friemelen'? (En waarom zou je dat bij een normale app niet doen?).
Bij een normale app doe je dat niet omdat je drie lagen wilt scheiden. Bij een webapplicatie kan dat in principe ook, maar ik vroeg me af in hoeverre dat voor een webapplicatie gebruikelijk is?
Webapplicaties zijn relatief nieuw voor mij en ik heb wat met een ASP.NET C# boek zitten oefenen en daarin deed een webform eigenlijk alles: presentatie, business logic en DB acces d.m.v. die sleur-pleur sqlconnections en data-adapters. Er vanuitgaande dat in een boek staat 'hoe het hoort', ging dat dus tegen mijn 3lagen principes in.
Als je een mooie structuur maakt (data access logic, business logic, en presentatie; en die 3 lagen gescheiden houdt), dan zal je die classes wel gebruiken.
Dat is qua ontwerp idd het mooist. Kan iemand vanuit de praktijk zeggen of dat ook zo gedaan wordt? Of maken die lagen de boel alleen maar onnodig traag?

Metal up your ass


  • JaymzHetfield
  • Registratie: Februari 2001
  • Laatst online: 18-07 21:06
Yoran schreef op 10 maart 2003 @ 15:31:
Je kunt toch classes maken DIE de database wijzigen.
Je hebt gewoon te maken met verschillende lagen in je webapplicatie.
Als je klantinformatie wilt updaten, heb je een klasse klant met een functie update().
Stel je hebt je webform in xhtml gemaakt. Dit form wordt verstuurd naar c# script. Dit c# script maakt een nieuwe instantie van een Klant klasse en roept de functie Update aan met de juiste parameters.
Ik snap dat het kan, in hoeverre wordt dat ook toegepast 'normaal gesproken'?

Metal up your ass


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
JaymzHetfield schreef op 11 March 2003 @ 10:12:
[...]
Bij een normale app doe je dat niet omdat je drie lagen wilt scheiden.
Waarom dan wel? Je maakt toch een abstractie van de business-units (bv: klanten, producten, orders, ....) om ze op een abstracte manier te kunnen voorstellen in je applicatie?
Die classes kan je dan gaan gebruiken in je WinForms.
Bij een webapplicatie kan dat in principe ook, maar ik vroeg me af in hoeverre dat voor een webapplicatie gebruikelijk is?
Voor een webapplicatie is dat zeker gebruikelijk. Wil je een schaalbare, onderhoudbare webapplicatie, dan zal je zeker de opsplitsing moeten maken tussen presentatie-logica, business-logica en data-logica. Door die scheiding en abstractie kan je de business-logic en dal objecten hergebruiken als je een andere interface wilt (bv, als je van een web-applicatie naar een Windows-applicatie wilt gaan. Je moet dan enkel de presentatielaag herschrijven).
Dat is qua ontwerp idd het mooist. Kan iemand vanuit de praktijk zeggen of dat ook zo gedaan wordt? Of maken die lagen de boel alleen maar onnodig traag?

Dat wordt zeker zo gedaan.
De dingen die in de meeste boeken getoond worden, zijn er niet op gericht om de beste architectuur ofzo te tonen. Ze tonen gewoon de kracht van de taal, code-voorbeelden, etc, en daarvoor gaan ze niet over de architectuur nadenken.


Misschien vind je dit topic ook wel interessant:
[rml][ alg] enterprise applicatie - totaal oplossing.[/rml]

[ Voor 11% gewijzigd door whoami op 11-03-2003 10:21 ]

https://fgheysels.github.io/


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22-08 10:45

mulder

ik spuug op het trottoir

JaymzHetfield schreef op 11 March 2003 @ 10:13:
[...]

Ik snap dat het kan, in hoeverre wordt dat ook toegepast 'normaal gesproken'?
Misschien moet je kijken naar Rational Rose, dat is een UML editor die de bijbehorende C# classes kan generenen


(en C# code graag, ipv eerder genoemd C# script :X )

oogjes open, snaveltjes dicht


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Don Facundo schreef op 11 March 2003 @ 10:47:
[...]


Misschien moet je kijken naar Rational Rose, dat is een UML editor die de bijbehorende C# classes kan generenen)
Rational XDE is mischien interessanter door de nauwe integratie met Visual Studio.

Wil wel even erbij vermelden dat het een behoorlijke resourcevreter is op mn P4 met 512 MB RAM :)
Pagina: 1