473,395 Members | 2,783 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

PHP and Diagram Tool

Hi,

I am a beginning to intermediate PHP programmer. Home schooled. My
programmes are starting to get rather big with a couple of thousand
lines of code and 10's of different files. I am starting to lose the
bigger picture.

I want to start using a flow/diagram tool. But I have no idea what
program to use. Are there experienced users that can help me with this
subject? What to look for in a program and what to not look for.

I hope you can help me.

Kind regards,
Flak.
Dec 16 '06 #1
5 2432
Flak wrote:
>
I am a beginning to intermediate PHP programmer. Home schooled. My
programmes are starting to get rather big with a couple of thousand
lines of code and 10's of different files. I am starting to lose the
bigger picture.

I want to start using a flow/diagram tool. But I have no idea what
program to use. Are there experienced users that can help me with this
subject? What to look for in a program and what to not look for.
One that works on your architecture would be a good start. One which *you*
find effective and easy to use.

UML (a diagramming system - not a specific bit of software) is pretty much a
defacto standard for OO design...but you use the word 'flow' in your
request - does anybody still use flow diagrams? It rather suggests your
coding style is sloppy.

If you are not already using PHPDoc (or similar) then its definitely time to
learn.

HTH

C.
Dec 16 '06 #2

Colin McKinnon schrieb:
Flak wrote:

I want to start using a flow/diagram tool. But I have no idea what
program to use. Are there experienced users that can help me with this
subject? What to look for in a program and what to not look for.

One that works on your architecture would be a good start. One which *you*
find effective and easy to use.

UML (a diagramming system - not a specific bit of software) is pretty much a
defacto standard for OO design...but you use the word 'flow' in your
request - does anybody still use flow diagrams? It rather suggests your
coding style is sloppy.
While UML is definitely the best way to go, I wonder if Flak really
would like to jump in here. UML isn't that simple at all.

Flak, in case you want to start learning UML, you might wish to
download Visual Paradigm for UML here
http://www.visual-paradigm.com/product/vpuml/

Search there for 'Community edition', which is free and available for
Mac OS X, Windows and Linux.

Dec 17 '06 #3
Following on from seaside's message. . .
>While UML is definitely the best way to go, I wonder if Flak really
would like to jump in here. UML isn't that simple at all.
No it isn't. UML is just one possibility.

It may well be that the OP wants more detailed documentation and a few
relationships in which case diagrams are _not_ the way to go at all.

UML is beloved of academics because they can 'teach it'. Many other
people think it's great because it is 'comprehensive'. IMHO diagrams
are for overviews and /illuminating/ other, more concrete documentation.
(Except back of envelope sketches which are (a) informal and (b)
scribbled in pencil in 10 seconds - unlike the hours of UML tedium.)

My opinion is this:
* You need pre-coding documentation
* You need in-code documentation (During development this will include
tags to loose ends such as '[T]' for deserves a test routine, '[D]' for
'needs to be mentioned in the user documentation'. For this you need
commenting standards and a program to interpret the standards.
* You need an object/routine/method/property summariser which scans code
to produce nitty-gritty documentation such as what sort of parameters
are required and whet the result will be...
* ... but you also need functional grouping of objects/methods to be
able to quickly navigate 'by feel' through code.
* IMPORTANTLY you need _briefing documentation_ that gives the
background to all sorts of matters inherent in your code or assumed by
the environment. For example how would someone twiddling with your code
(it could be you in a couple of years time!) access the database? Using
an object, set of objects, hierarchy of objects and what would be the
basic set-ups for those objects? Two ways are used here:-
1 - Comments and exercise code in the main code
2 - Stand alone example exerciser code.
I prefer method 2 as it is easier to split 'what it should do' from 'how
it works'.

All-in-all (even though I have a very visual style of learning) I would
rather spend the time others spend on pretty pictures, doing written
documentation and exercise code.

Put yourself in the position of a USER of a mass of code. An overview
diagram and outline of the principles behind the relationships would be
very useful - ie. where objects fit in the overall plan ... ... but
then you need to know what each object is about *in specific detail* and
*quickly*.

--
PETER FOX Not the same since the pancake business flopped
pe******@eminent.demon.co.uk.not.this.bit.no.html
2 Tees Close, Witham, Essex.
Gravity beer in Essex <http://www.eminent.demon.co.uk>
Dec 17 '06 #4
Rik
Peter Fox wrote:
My opinion is this:
* You need pre-coding documentation
* You need in-code documentation (During development this will include
tags to loose ends such as '[T]' for deserves a test routine, '[D]'
for 'needs to be mentioned in the user documentation'. For this you
need commenting standards and a program to interpret the standards.
* You need an object/routine/method/property summariser which scans
code to produce nitty-gritty documentation such as what sort of
parameters are required and whet the result will be...
* ... but you also need functional grouping of objects/methods to be
able to quickly navigate 'by feel' through code.
* IMPORTANTLY you need _briefing documentation_ that gives the
background to all sorts of matters inherent in your code or assumed by
the environment. For example how would someone twiddling with your
code (it could be you in a couple of years time!) access the
database? Using an object, set of objects, hierarchy of objects and
what would be the basic set-ups for those objects? Two ways are used
here:- 1 - Comments and exercise code in the main code
2 - Stand alone example exerciser code.
I prefer method 2 as it is easier to split 'what it should do' from
'how it works'.

All-in-all (even though I have a very visual style of learning) I
would rather spend the time others spend on pretty pictures, doing
written documentation and exercise code.

Put yourself in the position of a USER of a mass of code. An overview
diagram and outline of the principles behind the relationships would
be very useful - ie. where objects fit in the overall plan ... ...
but then you need to know what each object is about *in specific
detail* and *quickly*.
Putting myself on the the position of a user I want both: A comprehensive
diagram of overall flow, and a user guide which explains all possibilities
in detail. An overall overview really helps understanding, 'a picture is
worth more then a thousand words' still applies.

Offcourse, it all depends on how much of the flow the users should be aware
about to use it. It's one off those rare occasions in miss M$ however. M$
Visio was apt to my need, but I'm not going to pay for it. It's the free
graphic programs I use now to clear up certain dependancies, but they're
not very user-friendly.
--
Rik Wasmus
Dec 17 '06 #5
I want to start using a flow/diagram tool.

Do you mean you need to document the existing process flows, in which
case any flow charting system will suffice (you could even do it in
Excel / Word using the wordart shapes) or do you mean to re-engineer
the code into something like the MVC model where you separate out
business logic from data access and user interface, in which case
something like Code Igniter or Ruby on Rails would be worth
investigating.

or do you just mean some sort of source code control so you can see
what it in your live systems and what is in development code.

Dec 18 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Scott Townsend | last post by:
I'm trying to create a class library of a bunch of objects and I'm looking for a way to diagram and document the objects. Is there a tool that people use to do this? I've seen many Database...
1
by: adeon | last post by:
Hi all, Do you know if there is any UML diagram tool that is capable of exporting diagrams into MS Word as a Word drawing object - I want to draw a sequence diagram in an user-friendly tool and...
1
by: Airline Pedestal | last post by:
Does anyone know of a tool that will create a graphical diagram from a DDL (SQL create script)? Preferable a free open-source tool. Thanks, A
0
by: dworthem | last post by:
I am working to reverse engineer a web site (designed by a consulting firm). The site consists of predominantly asp.net pages with code behind classes. The code behind classes in general...
4
by: thoducng | last post by:
Hi all: I want to create a class diagram, similar to MFC class diagram published long ago. I don't need a UML model, all I need is a class named and inheritance relationship. My classes are in...
2
by: Mihir | last post by:
all.. this group is amazing.. have been getting lot of answers without asking from this forum.. got a couple of questions.. first the background i am working on a database that has the...
1
by: GaryDean | last post by:
I'm working with a project that has hundreds of huge multifile strongly typed datasets (.xsd). It would be handy if I could find a tool that would produce an E/R diagram (database diagram) from...
2
by: sangu_rao | last post by:
Hi, I have to prepare an ER diagram for the objects in my SQL Server database. I have used the option "DIAGRAMS" in EnterPrise Manager of SQL Server 2000. It is creating the diagram for the...
3
by: Marcus | last post by:
Hy! I use Visio 2002 to draw an ER-Diagram with round about 200 entities and 800 relationships between these entities. Little bit of horror, but I am on my way. My question is, is there a...
1
by: Oskar Bennet | last post by:
Hi everybody, I am supposed to draw a simple UML diagram for a very small project that consists of less than a dozen classes. I have never been working with UML before, I have read some tutorials...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.