September 2004 - Posts

Team System Class Designer
28 September 04 12:47 AM | Joel Semeniuk | 2 comment(s)

VS.NET 2005 Team System ships with a number of designers, and you should pay particular attention to the Class Designer.  Like all Class Designers, this canvas lets you visualize the structure of classes and types in your project generating source code as you go.  In fact, don’t think of this tool like round trip engineering since changes you make to your code are instantly reflected in the diagram and visa versa.  Why do you want to use the class designer?  Well, you can use it to document or understand existing code (trying to figure out someone elses code bugs me sometimes), you could use it to help take what’s in your head to your screen – and you can also do fancy things like refactoring your code.  What I really like about this particular designer is that it is tied to the CLR where a lot of other designers are strictly UML based.  This designer is even language specific – for example, if I’m in a VB.NET project I get Public, Private, and Friend access levels… in a C# project I get public, private, and internal.  Nice.  I simply love the fact that I can toggle between code and picture seamlessly (did I mention I love making pretty pictures?).    I can also create enumerations, abstract classes, structures, delegates, and modules… and the Class Details window ROCKS I might add.

Now, where this breaks down for me is at the analysis level.  Sometimes I don’t want code behind… sometimes I just want to “think” – especially when I’m just getting to understand the system I’m trying to build.  I still need a scratch pad design surface.  That kinda bugged me about Borland Together as well… I want to sit down and do class extraction and go “hmm.. that’s a boundary type of class, that’s a controller type of class…,” and “hmmm… I wonder if I could abstract that out a bit more – let’s try…”  Borland Together allowed me to add class diagrams, but they were only fully functional when the class diagram appeared within a project – otherwise the design surface would only allow me to create objects.   So, I guess that leaves Visio as my scratch pad… There just doesn’t seem to be an easy transition from my scratch pad to the Class Designer – kinda hard to establish traceability.

In fact, I find that traceability seems to be lacking throughout Team System … unless you want to track to Team System Work Items – and for things like code checkins and specific implementation I’m sure this will work nicely.  However, considering TS doesn’t really provide any analysis tools other than Visio – there doesn’t seem to be anything to trace to.  One could probably get creative and find ways to have transitive trace relationships through work items and Visio files…but I don’t think that’s correct either.  But, this is a first release – and for a first release it is a whopper!   However, I don’t want to sacrifice requirements/analysis traceability just because its not there  – so, I’ll have to find some solution some how.

Team System Distributed System Designers
23 September 04 12:58 AM | Joel Semeniuk | 3 comment(s)

Lately I have been playing around with the Distributed System Designers in VSTS.   Distributed System Designers are cooked into VS.NET 2005 and is comprised of 4 different designer surfaces;  Application Connection Designer, Logical Datacenter Designer, System Designer, and Deployment Designer.  I can’t help grinning while using them.  I love drawing pretty pictures – I love it even more when those pretty pictures come alive and do something useful for me.  I intend to write a whole whack of comments about these designers in posts to come – but generally speaking they represent yet more powerful tools that will help my projects be successful technically.  They excite me because I think these tools will become as useful as SQL Server’s diagram tool – we always found ourselves creating our models on that surface and as you know the table diagram designer went out and actually created the physical implementation under the hood for you.  Now, there were some DBA’s who were very hesitant on using that design surface because they were set in their ways (which is cool – don’t get me wrong) – and because of this I have always thought that the tool was under utilized.  I find the TS designers fairly intuitive – however, I’m positive that it will take getting used to on real-life projects.  I’ve used them very successfully so far to create and connect my skeleton projects together.  I haven’t, however, had the chance to take it through a full lifecycle on a real project.

I’ve been a Borland Together user for some time now (by the way, there is a new release of CaliberRM for those of you who care) and I was wondering about where a tool like Together might fit in now with TS.  I have no idea what Borland plans on doing with Together and VS.NET 2005 (if anyone knows – please ping me) – but right now I only see a very small overlap in functionality – the class designer.  Borland Together provides me with tools that I can use to perform requirements analysis – allowing me represent my problem space, refine the problem definition and get to the design stage using UML (use cases, sequence diagrams, activity diagrams, etc).  However, I’ve always felt that UML has some big walls around it making it difficult to transition between analysis and the various levels of design – what it generated usually didn’t help me develop any faster.  The Team System Designers will give me the ability to technically design the logical and physical layers of my system – taking it that last mile that Together doesn’t do well.  In earnest – I hope Borland keeps doing what they do - supplementing the features that TS already provides.  Heck, they should extend TS to provide for a more rounded lifecycle experience that allow you to truly go from Requirements to Deployment – TS claims to be extensible… why not.  I like the work item concept in TS – but in reality CaliberRM is much better at managing Requirements   I like the way you can tie TS Work Items to a Check-in of Code for example – in CaliberRM you can configure traceability to projects and code files that might accomplish something very similar.  CaliberRM seems to have the versioning aspects that I want and need on most of my projects as well – to date, I don’t see good versioning in the Work Items for TS – especially having the ability to take a baselines (etc).

What I still find missing in so many products are tools that help you get the requirements correct.  Typical run of the mill modeling tools just don’t do this well.  Requirements Management solutions come closer and so far my favorite is CaliberRM. Once we know what we have to build – we can usually build it.  Sometimes, and in my world that would equate to “most times” – understanding and agreeing to what we are building is a real tough problem.

Team System Lists
22 September 04 12:36 AM | Joel Semeniuk | with no comments

I’m just playing with the lists (aka work items) provided in Team System.   There are add-ins for Excel and Project that allows you to access these lists… I started to dig to try to find out where these lists are stored – and in fact, their all in SQL 2005 on the data tier primarily in a DB called CurrituckDB (Actually, there are a bunch of databases involved – still shifting through them).  It seems to me that there is really one “list” with a WHACK of fields… different “views” of the list represent different list types.  For example, the Risk view of the list would only show you the fields that are relevant to risks.  Issues, the same – but its all coming from one place – and all really being stored in one place – making it easy to extend.

Storing data inside of SQL has its obvious benefits – but one thing that isn’t there yet is the ability to see these lists from the each project’s Sharepoint site.  You need to use VS.NET 2005 or Excel/Project with the add-in to get at this data.  Yes, you could wrap it all up in reports etc – and I’m kinda expecting a Sharepoint webpart that will display the lists as well as allow for list customization and maintenance (possibly a root management site that would allow you to modify and update templates) – not there yet though. 

 

Beta 1 Refresh of Team System
21 September 04 09:16 AM | Joel Semeniuk | with no comments
In one of my last posts I made a comment about working with Beta products.  Rob Caron reminded me that the Beta 1 refresh of Team System is in fact not a Beta release and that the Beta will actually be out early next year.  Excellent point!
Filed under:
Visual Studio Team System Source Control Problem...
20 September 04 03:12 AM | Joel Semeniuk | with no comments

VSTS’s more robust source control solution seems nice…. I’ve already customized it a bit to require additional information to be recorded when you attempt to check something in.  What I can’t figure out, however, is how to open a solution from source control… With VS.NET 2005 you simply go “Open from Source Control” under File ->Source Control.   That’s not there in VS.NET 2005.  If you go to Open a project – you can see that there is now a Microsoft Source Safe option, but when you go and add a new VSS Database – you can’t specify a TS database.  Not sure if I’m missing something obvious.

In VS.NET2005 if you want to use Team System’s Source Control you need to navigate to Tools->Options then to Source Control… there you can select Visual Studio Team Foundation from the list of available plug-ins.  You must then go and configure the properties for this plug-in by going to the “Visual Studio Team Foundation” section under Source Control options – specifying the server and local workspace.  The workspace the name of the storage area that TS uses to keep a local copy of your work… Truthfully, I’m not sure where this is yet.  One of the plug-ins is Visual Source Safe Remote…I’m going to play with that for a bit tonight as well…

Successfully Installed Visual Studio Team System - I think...
20 September 04 01:44 AM | Joel Semeniuk | 1 comment(s)

Well, I think I’ve managed to successfully install VSTS.  I have it configured on three different VPC’s – one to house SQL, on to be my application server, and one to act as my client.  Realistically, I guess I could have used only 2 VPC’s and configured the my host machine with VS.NET + the TS features – but I wanted to self contain everything as much as possible.   I made a back up of my freshly installed images expecting that I’ll be reverting to its successful installation point at some time in the future.

I went and created my first Portfolio – I got an error regarding source control, so, I’m still trying to figure that one out.  Everything else seems to work though – I can create new Work Items, perform searches, I have a site for the project on my app server, etc.  I was a little freaked out because some of the reporting features weren’t working – but alas, I read the readme which states that they aren’t supposed to work.  WHEW.

I can’t say it’s been the most pleasant experience of my life – but I can’t complain about it either.  Its beta – if I want to play with beta things – I need to accept that it’s not all fun and games.   So far, I’m thinking that my home grown team management system (Sharepoint based) and automated build (Sharepoint + a lot of cool tools) might still be more feature-rich, and less volatile.  But I’m still pumped – I simply can’t wait to put this baby through its paces.  I’ll keep you posted.  I’m really anxious to hear from others who are diving into the Beta 1.  I’ve gone through almost all the features to date with the exception of the actual team stuff… and I need to master it all in 3 weeks (explanation to come soon).

More Posts

This Blog

Cool Places

Good Links to Eat

INETA and UG Links

Other Blogs

Syndication