A Social Network

Monday, November 9, 2009 · 0 comments

I am modeling a social network using UML.  I call my new web 2.0 social network software... get ready for it... Social Network  Okay so it needs work, and besides this model is all theoretical as I try to distill what I believe are the components of any kind of social network as it is understood today.  Perhaps later I will prognosticate and design the social network of tomorrow... just not quite sure what that might be yet.

Okay, so I'll start with some use cases and a couple class diagrams.










So I use UML, despite where software architecture is heading (e.g. Domain-Specific Modeling), because I've been doing it for a long time and I think it is a great modeling language.  It's general, robust, perhaps a little complex (have you read the OMG UML 2.x specs) and it's what I like.  I've noticed that you can use UML to model a lot of things that aren't software.  You can model anything that is a process and that has parts, which makes sense since a process that has nothing to process or process by is not a very interesting process.  But more on this later.

The first use cases (I am doing this design in no particular order) are the simple member account creation and the member profile update.  Note that the Account subsystem (it is assumed that Account is a subsystem of Social Network) contains the Profile subsystem.

The classes are simple. We have the Social Network class and show that it contains 0 or more members.  And we show a member class that contains a profile class that itself contains some sample classes (Photo, Interest and Bio).  Obviously none of this is concrete, but the names are informative and are good enough for this purpose.

Okay.  More later.



Reblog this post [with Zemanta]

Software Architecture: What is it?

Saturday, October 17, 2009 · 0 comments



This is hardly an introduction to the subject, but it might serve to give the non-technical some idea about the nature of this blog and what it means to design and build software. At least that's the plan. So onward we go.

I am very proud to say that I am a software architect.  And when asked to explain just what it is that I do I answer with something like: "Well, a little bit of this, a little bit of that.  I draw pictures, write papers, build prototypes...  Oh, and I get paid a ridiculous amount of money." Rarely does anyone probe further, but sometimes I'll be asked just how much money does a software architect make, to which I answer: "quite a bit more than one might think," which of course is really not an answer, but for some reason it works to redirect the conversation on to something else, which most of the time becomes mundane; it is at this point that I tune out the noise and enjoy the pleasure of thinking about software.

But what is a software architect and what is software architecture? There are very few people not in the software industry who have heard these terms, and fewer still who think they know what these mean--in fact not many (if any) software architects know what software architecture is, including myself.  But I suppose one answer is that a software architect designs software by building models using an arcane language called a modeling language to describe the intended behavior of the software. This is then read by programmers and software engineers who use their own arcane language called a programming language to create, ideally, software that behaves as the software architect's design dictates.

This blog, then, is intended to inform the interested about the pleasures and pitfalls of software design.  Certainly the nature of this blog is technical, but not so much so that the intelligent layman won't be able to grasp the general concepts.

Reblog this post [with Zemanta]

Disclosure Policy

Tuesday, October 13, 2009 · 0 comments

This policy is valid from 11 November 2008

 This blog is a personal blog written and edited by me. For questions about this blog, please contact  Thomas Clancy (thomas.clancy@mac.com).

 This blog accepts forms of cash advertising, sponsorship, paid insertions or other forms of compensation.

 This blog abides by word of mouth marketing standards. We believe in honesty of relationship, opinion and identity. The compensation received may influence the advertising content, topics or posts made in this blog. That content, advertising space or post will be clearly identified as paid or sponsored content.

 The owner(s) of this blog is compensated to provide opinion on products, services, websites and various other topics. Even though the owner(s) of this blog receives compensation for our posts or advertisements, we always give our honest opinions, findings, beliefs, or experiences on those topics or products. The views and opinions expressed on this blog are purely the bloggers' own. Any product claim, statistic, quote or other representation about a product or service should be verified with the manufacturer, provider or party in question.

 This blog does not contain any content which might present a conflict of interest.


To get your own policy, go to DisclosurePolicy.org.

Reblog this post [with Zemanta]

Support

I am out of work and trying to provide for my family. If you would consider donating something to me and my family so that I can keep up my artwork, technical writings, software development and to help me put some food on the table, I will be very happy to list your website on my blogs and write a review of your site or products or whatever you wish. My Thoughts and Things blog gets a lot of hits and you would get a lot of exposure.

Counter


web analytics
TwitterCounter for tjclancy

Cool Organizations

Visit my profile at ResearchGATE
The-Brights.net

My Bookshelf

Shelfari: Book reviews on your book blog