Software Development Life Cycle: Basic Steps to Strong Product - view 1


#1

I agree with most --and probably all if didn’t misunderstood the writer’s intentions-- about the statements made in the topic “Software Development Life Cycle: Basic Steps to Strong Product” Pasted from < http://forums.visual-paradigm.com/posts/list/6416.html > using the abbreviation used by the author --if not as the official or common abbreviation-- as SDLC. That I’ll adhere to through the rest of this topic in explaining my point of view about it. Excuse my grammatical and spelling mistakes as my intention was more focused on saying what I wanted to say. And that was a little troublesome and tiring but I believe it was worth it! I hope you find it somewhat informative. Yet, I’m doing this with the intention to get feedback from as many users as possible to have a better view than the one which I’ve already shared here.

My opinion is that I find the software development cycle these days much more about how much you can delegate and make the SDLC or such process easier and much more agile through the right tools than the process description/specs alone. The things said in the above mentioned topic are all true! But they are hindered in practice! Without the right tools these guidelines/specs are time-consuming to follow and maintain. That makes it for many companies with agile relatively small teams --in contrast to the project at hand-- unfeasible to keep all the parts consistent of such process as SDLC process. Most of the time at least a couple of the steps are poorly implemented to keep up to meet another deadline! If not omitted or neglected all together!

So the logical solution I too think is that one should think of finding the right tool to help keep up the expectations of delivered features, their quality AND at the same time meat the intended deadlines. As the need arises to set the toolbox brick by brick as one toolset wouldn’t cut it or the total package would costs 10s of thousands of dollars and that’s WAY beyond the budget (like in my case) the next step would be how to extend these tools to support the SDLC process through further automation and tactical/strategic relations/alliances/partnering that would benefit that quest.

In my case I’ve started in the programming world by choosing Java as my primary programming language for various (intuitive) reasons I’ll skip to mention. If you’re a Java programmer and you like it then you know why, and if you’re not then I won’t bother convincing as you probably have a history backing up your choice too!

And then I chose Eclipse and shortly there after MyEclipse [ http://www.myeclipseide.com/ ] as the base IDE. That decreased the development cycle complexity and the modify-view time considerably! Adding Struts and Hibernate capabilities like no other at that time. That was what I was looking for! Well struts wasn’t that great but the company I work for had it so I needed the diagramming capability of MyEclipse. That would accounts somewhat for"3. Code generation and Implementation". I will not map all the points made in the original SDLC post, but I think will cover quite a view through the content of this post. I strongly believe that non of any of the great process specifications out there can really get things going and speedup the process without the appropriate software implementations! Imagine and OMG specification used manually! I think my point is clear if not by a ridicules suggestion! However the UML and ERD part of MyEclipse was lacking and now in version 7 is still lacking the amount of comfort and power I was looking for! For example very poor layout feature capability!

There are others like the list by price through the URL beneath (a bit outdated but provides an good starting point for an overview to have an idea!) but still they all were and are still lacking the amount of comfort and power I was looking for. Whether they lacked the eclipse integration or the richness of SDE-EC-Pro not to mention that of the Enterprise edition! The difference in price is more than worth it because it would cost much more to do the jobs that the features would cover manually. Remember that the difference between the winner and loser in Formule One racing could seem small technically! Or you could just blame the driver! But every part in the entire process maters greatly just to give that extra edge! And that edge in this era has to be automating our insights! Hand it to the pro’s so that we can be the pro’s of our applications instead of the process!
List to give an impression which can only mean something if you browse the competitors as well!: http://www.objectsbydesign.com/tools/umltools_byPrice.html

On the quest to complement it I’ve added to that SDE-EC-Pro for the it’s a true interdependent, ever lasting and re-usability of it’s Diagramming power on many levels. And I haven’t regret it for a minute for the past year. The SDE Enterprise product line governs most of the power which Visual Paradigm has to offer through it’s tools! To feel and know what I’m talking about you have to experience the tool first hand! So if your new to Visual Paradigm, then just download a trial in a period in which you have the time to take it into serious consideration instead of concluding prematurely if that might be the case. Any of the other products could be better to suite your specific needs, click on the “Products” link on the above menu to see the complete list.

I’ve the Pro edition, but I’ve evaluated and followed the development of the Enterprise version as well and I’m considering the upgrade. But even with the productivity boost and elegance of the SDE product is (even the Enterprise edition) , it was still lacking on the implementation level! I couldn’t analyze the implementations of Java architectures! Every new project I would analyze to see it’s technical ease for growth and thus it’s potential I had to dive in the code to know what method is calling what method and why! As these weren’t documented in the Javadocs of the reverse-engineerd code! And even if it was documented in the Javadoc, reading the Javadoc is not as intuitive and productive as understanding through diagrams and quick access to the appropriate method through it’s features and only then have to see further details!

Now, I’m just at a junior level when it comes to Java programming skills! And that makes me the perfect candidate to feel the need for the right cooperating tools or tools in Coopetition or Co-opetition [ http://en.wikipedia.org/wiki/Coopetition ]! And I’ve spend years searching for the right tools to rely on before choosing the right development process/procedure and dedicating myself to it. Because the minute the right tool steps in, you can start modifying the process or hire more developers, or stay behind and get taken over at a certain point, or go down the drain which I hope no one would! And I don’t have to own a company to have a vision or to be able to predict fairly accurately up to a certain point.

So I’ve searched for the solution else where as it was clear from the response on my ticket that this wasn’t going to be addressed soon. I’ve selected the one which I found to be the most user friendly to us and added STAN for Java [ http://stan4j.com/ ] to my toolbox! And I’m really glad that I did! It gave me the edge I needed to understand and know what to do quickly searching for bugs or evaluating the possibility to extend a project! I quote: “STAN encourages developers and project managers in visualizing their design, understanding code, measuring quality and reporting design flaws.”. Pasted from < http://stan4j.com/ >. So it would cover somewhat of the Quality Assurance although not through testing of "4. Testing and Quality Assurance " of the original post. But the visual analyzing of the implementation is my main goal for this tool.

To wash away the feeling that the tool/process specs is becoming the goal rightfully, I knew intuitively and also by experience that having the right tool is HALF THE WORK! And that is probably an under-stated statement INSTEAD OF an exaggeration.

The next step is going to the web and defiantly 2.0! I’m a strong advocate for AJAX! And I’m not the gambler type. In my humble (re)search as I’ve gathered a considerable amount of information from various sources, going by from the emerging intuitive calculated risk going Web 2.0 with that Java programming language from my perspective is most logically done through Google GWT and Jboss Seam! That is vision I believe and was initiated and fed by others! Looking at the projects themselves will clarify allot. I’ve provided links for ease in the ticket details below. Adding to that Unit-testing with Testng preferably or Junit if the tooling of Testng doesn’t extend within 6 months. I still have to decide which tools to chose to add to my toolbox for these parts!!

I’ve moved the following ticket to this part of the forum to get some feedback from other users regarding the missing tools!


Ticket Details Ticket ID: TLE-937305 Department: Technical Status: Open Priority: High Created On: 2009-01-02 02:26 PM Last Update: 2009-01-02 11:55 PM Conversation
Posted On: 2009-01-02 02:26 PM

It’s clear that you guys prefer supporting more complexity with your tools for Java than any other language. And going by your companies philosophy “We don’t make something we don’t use.” and seeing more jar files than any other it’s safe for me at this point to assume that you guys program mostly in Java. And that most of your customers prefer Java as well. Please do confirm or correct my assumptions.

The confirmation and/or correction of my assumptions is very important to me to have the right understanding about your company and it’s (future) tactical and strategic decisions. As those influence our choices as customers as well. It’s great when paths cross with positive results, but one need to consider the future as far as one can. Defiantly the ones that are strongly considering to upgrade their Professional license to the Enterprise version as the need to take the tooling coverage of the development process to the next level.

Going by my assumptions for the time being I’ll talk about a couple of topics which consumed a quite deal of my time and energy namely unit-testing and web-based application frameworks. This does overlap the open issue XJV-812540 Pasted from http://support.visual-paradigm.com/index.php?_m=tickets&_a=viewticket&ticketid=44826 but in this issue I’m providing specific more informative suggestions with references! And I add on top of that the unit-testing process issue.

Do you use unit testing to keep track of the quality of your code ? What framework do you use? I’m asking because I was wondering if you could help me with the unit-testing process for starters. Unit-testing is inescapable to automate and maintain the integrity and quality checking of an application without unfeasible long manual testing processes. Yet it’s another step in the development process to generate and maintain unit-tests with every mutation in an agile environment. Defiantly by the ones who got comfortable in environments driven by automatic generation to and synchronization between code and diagrams that makes visualization and mutation of the design a breeze up to a certain point.

What I’m looking for is a generation tool which generates AT LEAST a skeleton-unit-test-class like the Java code forward AND reverse engineering with the Class Diagrams AND that it bases the “Unit-test Diagram” and synchronizes it with the Class Diagram. I’m making it sound easy although I don’t know how much work it’s for you guys to create this functionality, BUT the generation would be handled by the framework! So the generation part would delegate that task to the unit-test framework like the task of database connectivity is delegated to a JDBC library. I don’t know how the framework would help the reverse engineering part, but the unit-testing frameworks I’ve in mind are open source so they are bound to contain a big part of the solution.

The framework which I’m recommending to support is mainly Testng and Junit 3.8. But I’m actually interested and strongly recommend Testng. Junit 3.8 is considered legacy but naturally more wide spread because of it was the leading of it’s time, so many developers and other development tools are still using it. That’s why I mentioned it so you would consider supporting that too if needed. However Testng is the NEXT-generation open source unit-testing framework for the Java programming language [testng.org/doc/documentation-main.html]. It makes heavy use of annotations which is very convenient for manual editing instead of XML without tools which aren’t that sophisticated. Although Junit 4 tries to compensate for the shortcoming of the 3.8 it just didn’t get it all right like Testng. Testng allows much more flexibility and is built more intelligently. And it’s the framework which the Jboss SEAM project primarily relies on for unit-testing. But Seam does extend it with a class to fit it to Seam’s environment as it would need to for Junit but we already know that it is legacy.

If you haven’t heard of Jboss Seam before, JBoss Seam integrates EJB 3.0 and JSF components under a unified framework that simplifies and accelerates Java EE web development. I Quote: "Seam is a powerful open source development platform for building rich Internet applications in Java. Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution, complete with sophisticated tooling.
Seam has been designed from the ground up to eliminate complexity at both architecture and API levels. It enables developers to assemble complex web applications with simple annotated plain Java classes, a rich set of UI components, and very little XML. Seam’s unique support for conversations and declarative state management eliminates a whole class of bugs common in traditional web applications.
Seam is licensed under the terms of the LGPL. Full commercial support is available [ http://jboss.com/products/platforms/application ]. Eclipse-based tooling is provided by JBoss Tools [ http://jboss.org/tools ]. ", Pasted from < http://www.seamframework.org/ >.

By the way, Seam supports Hibernate out of the box as well. And putting the Jboss Tools in it’s place from the diagraming perpective it only has a page-flow digram which doesn’t even save the layout at this point!! For a better understanding of it’s significance take a look here: http://www.seamframework.org/ and here: http://www.seamframework.org/ . It’s has NO vendor-lock-in by Jboss thus can be run on many if not all application servers even without EJB support (if not EJB is used by the application of course). Like for example plain old Tomcat server. I strongly recommend taking in consideration for your web-based Java-based strategy.

The problem from a Java developer perspective from my point of view is: “The web isn’t programmed in Java”. For GUI lay out purposes one might think that Java is not handy! BUT that issue disappears with bi-directional GUI editors! Although JSF is powerful it creating tools that can handle it’s complexity can become tedious. And it’s not Java. The same goes for AJAX parts, javascript and XML. The answer using Google GWT instead of JSF (Java based with a compiler to produce Ajax code). I guote: “With Google Web Toolkit (GWT), you write your AJAX front-end in the Java programming language which GWT then cross-compiles into optimized JavaScript that automatically works across all major browsers. During development, you can iterate quickly in the same “edit - refesh - view” cycle you’re accustomed to with JavaScript, with the added benefit of being able to debug and step through your Java code line by line. When you’re ready to deploy, GWT compiles your Java source code into optimized, standalone JavaScript files. Easily build one widget for an existing web page or an entire application using Google Web Toolkit. Pasted from http://code.google.com/webtoolkit/overview.html.” And here: “
For those that prefer to use the Google Web Toolkit (GWT) to develop dynamic AJAX applications, Seam provides an integration layer that allows GWT widgets to interact directly with Seam components.” Pasted from http://docs.jboss.org/seam/2.1.0.A1/reference/en/html/gwt.html .

There is an Eclipse-based bi-directional GUI development for GWT among other platforms as well, but if you support it you would have the advantage ad it would be interlinked with the existing tools of VP which no one else has for such price for the complete picture!!! The product that you would be competing with on the Eclipse side would be GWT designer [instantiations.com/gwtdesigner/], there are open source alternatives but nothing that comes even close. I quote: “Bret Taylor, GWT product manager at Google, says: Several members of our GWT development team have participated in the beta test of GWT Designer and were impressed by its speed, WYSIWYG design and bi-directional code generation. GWT Designer is the kind of tool that will encourage greater adoption of GWT and reinforce Java as a viable programming model for creating Ajax applications that work in all browsers.” AND “Taking the Pain out of Ajax Development with GWT and Java”. Pasted from http://www.instantiations.com/gwtdesigner/.

Even Flash/Flex can be used within GWT to certain level with the following project as I don’t know how much the developers past 90% weeks activity has paid of too as it has been going for last 2 years. Check http://sourceforge.net/projects/gwt2swf/#item3rd-1 and This is I quote: “GWT2SWF intend to provide software bridge between GWT and FLASH/FLEX. It means that using GWT2SWF you will be able to communicate between GWT and FLASH/FLEX. GWT2SWF provides SWFWidget and FlashPlayer version detection.”. Pasted from http://code.google.com/p/gwt2swf/ .

From my perspective I’m talking about the future leaders of the FULL CODING IN JAVA (Ajax)web framework as it’s unfolding as we speak.

I’ll summarize what I’ve said:

  1. Please confirm or correct my assumption about your (web)strategy.

  2. What technology is currently in your top 5 candidates for the web modeling strategy?

  3. Testng, Jboss Seam and GWT, will you consider adopting them into the appropriate VP tools as web-technology strategy decision pro-java? And at what position would it be placed initially? And how confident are the engineers about this statement? It’s a matter of trust on the short term, I don’t doubt that if you say that you will do it that you will but withing what time table? Too bad that we can’t see a roadmap, but please fill me in on that. You may not be able to give me all the details for what ever reason but I’m expecting the truth like I’m used to from you guys as well!

    Posted On: 2009-01-02 02:50 PM
    I’ve got another suggestion. If you could only make your GUI designer which comes in the Entherprise edition SYNCRHONIZE with this product family:

WindowBuilder Family
of Software Products
WYSIWYG development of Java Graphical User Interfaces
— for Swing, SWT, RCP and GWT
Automatically generate and maintain GUIs. Create complicated interfaces in minutes with the WindowBuilder tools, using a WYSIWIG view, drag-and-drop, and wizards. Java code will be generated for you.
Spend less time and money to develop Java GUIs. Focus on creating application-specific functionality rather than coding the low-level logic required for GUIs to run.
Powerful, easy-to-use tools for Eclipse, Rational®, and myEclipse

Pasted from http://www.instantiations.com/windowbuilder/

Then the GUI bi-directional problem and test generation would be solved!! Because there tools compliment yours!! They have analyzers, profilers and unit-test generation although in other products. Although this would mean spending extra 400 to 700 dollars next to the 840 needed to upgrade to the Enterprise it’s at least a solution that save future time instead of wasting it on incompatibility and manual labor!!

On Fri, Jan 2, 2009 at 7:26 AM, wrote:

Your Ticket has been received and a member of our staff will review it and
reply accordingly. Listed below are details of this Ticket. Please make sure
the Ticket ID remains in the subject at all times.

Ticket ID: TLE-937305
Subject: Strategy, web modeling and Unit-testing
Department: Technical
Priority: High
Status: Open

You can check the status or reply to this ticket online at:
http://support.visual-paradigm.com/index.php?_m=tickets&_a=viewticket&ticketid=99028
Email: x
Password: (Request at http://support.visual-paradigm.com)

Please do let us know if we can assist you any further,

Visual Paradigm International Ltd.

Rain Wong
Posted On: 2009-01-02 09:59 PM
Dear b4l4nc3r,

Thank you for your message. You are correct that our products are develop mainly in Java. About the unit test, we do have unit test on our modules to guarantee the quality. I can check with our engineers and get you some idea on how we work. About the UI designer, currently it’s only for screen mockup. We will consider to extend it’s functionality to code level in the future.
If you require any further information, please do not hesitate to contact me.

Best regards,
Rain Wong

Posted On: 2009-01-02 11:55 PM

Thank you. I’ll wait on the roadmap/development process feedback.

In the meantime I want to ask whether you guys or your company had considered partnering with http://www.instantiations.com/index.html ?
a. If not, why not? And do you see any reason to consider? And still, will you? What about the power of their products to compliment yours? From the feature side it seems to me that they would fit like a glove. I don’t know about the compatibility of the philosophies and how a bridge might be setup!
b. If yes, and apparently didn’t partner, for what reason?

Rain Wong

Posted On: 2009-01-03 12:31 AM

Dear b4l4nc3r,

Thanks for replying. About the partner, currently we have no plan on it yet. And it’s quite a confidential issue which I cannot disclose to you at the moment. If there are any further inquiry, please do not hesitate to contact me.

Best regards,
Rain Wong

So you see I’m in a dilemma! Should I just choose for instantiation’s product line and create a glue layer? Or wait for VP’s decision on this matter? Or keep on searching? I’ll probably do all in a certain sequence with a humanly algorithm! But I hope more can be disclosed about where VP is sailing to, to be sure!


#2

I’ve suggested the same to Instantiation on their forum here: http://www.instantiations.com/forum/viewtopic.php?f=2&t=2391#p9135

I’m awaiting their reply!


#3

source: http://www.instantiations.com/forum/viewtopic.php?f=2&t=2391#p9135

message:
Has your company considered starting a strategic relationship with http://www.visual-paradigm.com/ ?

I’ve suggested the same to them in my fairly long topic post here: http://forums.visual-paradigm.com/posts/list/6588.html

You both are the top of your class from my perspective and on the feature level complement each other like a glove! And both have a fair amount of overlapping on the platform/programming environment support.

Please do provide me with some explanation if your company is not interested or have another partner in mind! This has great influence in the selection process for the extension of my toolbox and probably of many others!


#4

I quote "

Thank you for your suggestion. Frankly we don’t know much about Visual Paradigm but we will investigate.

A couple of questions for you:

  1. Would you be willing to elaborate on your thoughts with me in a private exchange?
  2. Can you give me a partner or biz-dev contact at Visual Paradigm? (they don’t list staff/titles on website)

Thanks again.

Mark Johnson
Vice President, Business Development
Instantiations, Inc.

mark (at) instantiations (dot) com

" Pasted from < http://www.instantiations.com/forum/viewtopic.php?f=2&t=2391 >

I’ve searched for a little bit more information on Mr. Johnson which I wanted to share here, and I quote:

“Mark Johnson, Vice President of Marketing and Business Development, has been with Instantiations nearly since its inception, managing business partnerships and all marketing functions, including campaigns, public relations, advertising, events and communications. An active participant in the Eclipse Foundation, Mark is former Chair of the Foundation’s Public Relations Committee. With a 23+ year career in high tech, Mark has a proven track record in the areas of commercial software and hardware, telecommunications, networking and data processing. Prior to Instantiations, Mark was Strategic Marketing Manager for Intel, and held key engineering positions at both Novell and First Data Corporation. Mark earned a Bachelor of Science degree from the University of Montana.” Pasted from < http://www.instantiations.com/company/staff.html >

I would love to elaborate on my suggestion! And that’s what I’m going to do when the time comes.

And we need your help --Visual Paradigm-- in regard of the needed contact information. I want to empathize his conclusion which I thought to be true as well, which is that you --Visual Paradigm-- don’t list staff/titles on your website. The only thing I found which Mr. Johnson could use to contact you through the right channels on this matter is this page “Visual Paradigm Technology Partner Application Form” Pasted from < http://www.visual-paradigm.com/partner/technology/technologypartnerapplicationform.jsp >
But according to my understanding of that pages use, it would only be applicable when the decision is already made to apply. And as it’s clear from his sentence stating that the matter is under investigation. An to me it seems to be triggered by serious interest!

If your not the right person, please make sure that the appropriate person contacts Mr. Johnson. Or at least provide me the contact information and I’ll gladly fill in the role of the intermediator for as long as necessary and as well as I can.

Let me know if my request can’t be granted and for which we should use the channels provided on this page: http://www.visual-paradigm.com/aboutus/ .

I’ll awaiting your company’s reply in full anticipation!


#5

Hi b4l4nc3r,

Thanks for your posts and effort on this issue! Please tell Mr. Johnson simply to send an email to support-team@visual-paradigm.com and our staff will reply in a short time. Thanks!

Best regards,
Lilian Wong


#6

Software development is an intricate process that requires a lot of planning, implementation and testing. You can not develop perfect software with full functionality unless it passes all the tests and quality analysis. The software development life cycle (SDLC) is a pre-set framework that is used by all software development companies for through understanding and developing effective information systems and software.

  1. Feasibility
  2. Requirement Analysis and Design
  3. Code generation and Implementation
  4. Testing and Quality Assurance
  5. Maintenance and Support
    Each and every stage of SDLC carries its own importance and plays a key role in success of any software development project.

#7

Ok, so in retrospect my “concrete” case (more of a notion) supporting my suggestion for VP & Instantiation to work together on a project, was not constructive, since VP didn’t intend at all of upgrading the GUI mock-up tools to be more precise, that is more akin to actual GUI builders.

All that doesn’t matter anymore, BECAUSE GOOGLE ROCKS!!! They acquired the relevant product line of Instantiation: http://www.zdnet.com/blog/burnette/google-buys-instantiations-gets-eclipse-java-and-ajax-expertise/2027

Google & VP sitting in a tree… I don’t care where they sit, I’m hoping things get HOT!!! Although that’s very unlikely to happen, since VP doesn’t seem to have something that Google wants, but combining the tools of VP & Google to me comes naturally. Let’s see Google’s next move with the new acquired power! IT’S SOOO EXCITING!!!


#8

UN****ING BELIEVABLE!!! IT’S HERE!!! IT’S FROM GOOGLE AND OF ****ING COURSE IT’S FREE FOR LIFE AS WE GROW TOGETHER TO BECOME THAT WHICH THE WORLD NEEDS!!! Nice move guys, I believe even more in you! You see that which can’t be seen! Now it’s VP’s move, to get their product much closer to the web.

GOOGLE’S E-MAIL ANNOUNCEMENT:

Instantiations Java Products Now Available from Google

Dear Google (formerly Instantiations) User,

You may have heard the exciting news by now that Instantiations was acquired by Google!

Please note that the following changes affect your access to Eclipse Java products formerly offered by Instantiations:
• You will no longer be able to access Instantiations tools on the Instantiations web site; please refer to the section “Download Google Developer Tools” below for an explanation on how to access products of interest.
• The products listed below are now free; we are no longer charging a licensing fee.
• Some products will only be available to customers with current Support and Maintenance Agreements; refer to the section “Other Instantiations Products” below for more information.
• To receive future communications from us you must follow the opt-in instructions below.
Download Google Developer Tools

Visit http://code.google.com/webtoolkit/download.html#gwtdesigner to download the following tools for Eclipse 3.4 and later free of charge.
• GWT Designer™ - Create Ajax web applications using the Google Web Toolkit (GWT) with these Eclipse-based development tools for Java developers.
• WindowBuilder Pro™ - Develop Java graphical user interfaces for the Swing, SWT, RCP, XWT and GWT UI frameworks.
• WindowTester Pro™ - Test GUI interactions within Java rich client applications developed for the SWT and Swing UI frameworks.
• CodePro AnalytiX™ - Automate software code quality and security analysis in Java applications.
Other Instantiations Products

Please note a few of the products previously offered by Instantiations are now only available to customers with current Support and Maintenance Agreements:
• CodePro AnalytiX Server - The server version will be available to customers with current support contracts; the desktop version will continue to be available as shown above.
• CodePro PlusPak™ - This product is a set of older “productivity tools” that have been superseded by functionality in the Eclipse SDK itself.
• CodePro Profiler™ - This product will be available to customers with current support contracts.
• RCP Developer™ - Comparable functionality for SWT GUI design and testing can be found in WindowBuilder Pro and WindowTester Pro; simply download these products to continue projects started in RCP Developer.
Opt-in Required for Further Communication

If you wish to receive further communications about any of these or upcoming Google Developer Tools, you must take action. We have created a new opt-in category called Google Developer Tools. To receive any new communications, you must go to http://code.google.com/webtoolkit/tools/optin.html, check the box, supply your email address and Submit the form to be added to this mailing list at Google.

Learn More

As in the past, you may use product forums to address support issues, now available at http://forums.instantiations.com.

You may also check back for updates on the Google Web Toolkit blog at http://googlewebtoolkit.blogspot.com.

Sincerely,

The Google Developer Tools Team


Google Inc. | 1600 Amphitheatre Parkway | Mountain View, CA 94043

You have received this mandatory email service announcement to update you about important changes to products previously offered by Instantiations.

© 2010 Google Inc. All Rights Reserved.


#9

Wait a sec, about VP’s next moves, closer to the web is one of the things, but I still think that their GUI tool will be much more useful & stimulate to be used if it could sync to the Googleware-eclipse-GUI-plugins. Otherwise I might as well mockup in the bi-directional FREE plugins and if it reaches a satisfactory stage, just code from there. Why do it twice? Yech… I hate wasteful repetition, it’s not like I’m looking to train my hand muscles by trading my time & energy, I’ve enough other stuff to do, and I’m more interested in strengthening other muscles, like my back for example… sheesh…


#10

You have given a detail answer on software development phases.


#11

[quote=b4l4nc3r]I agree with most --and probably all if didn’t misunderstood the writer’s intentions-- about the statements made in the topic “Software Development Life Cycle: Basic Steps to Strong Product” Pasted from < http://forums.visual-paradigm.com/posts/list/6416.html > using the abbreviation used by the author --if not as the official or common abbreviation-- as SDLC. That I’ll adhere to through the rest of this topic in explaining my point of view about it. Excuse my grammatical and spelling mistakes as my intention was more focused on saying what I wanted to say. And that was a little troublesome and tiring but I believe it was worth it! I hope you find it somewhat informative. Yet, I’m doing this with the intention to get feedback from as many users as possible to have a better view than the one which I’ve already shared here.

My opinion is that I find the software development cycle these days much more about how much you can delegate and make the SDLC or such process easier and much more agile through the right tools than the process description/specs alone. The things said in the above mentioned topic are all true! But they are hindered in practice! Without the right tools these guidelines/specs are time-consuming to follow and maintain. That makes it for many companies with agile relatively small teams --in contrast to the project at hand-- unfeasible to keep all the parts consistent of such process as SDLC process. Most of the time at least a couple of the steps are poorly implemented to keep up to meet another deadline! If not omitted or neglected all together!

So the logical solution I too think is that one should think of finding the right tool to help keep up the expectations of delivered features, their quality AND at the same time meat the intended deadlines. As the need arises to set the toolbox brick by brick as one toolset wouldn’t cut it or the total package would costs 10s of thousands of dollars and that’s WAY beyond the budget (like in my case) the next step would be how to extend these tools to support the SDLC process through further automation and tactical/strategic relations/alliances/partnering that would benefit that quest.

In my case I’ve started in the programming world by choosing Java as my primary programming language for various (intuitive) reasons I’ll skip to mention. If you’re a Java programmer and you like it then you know why, and if you’re not then I won’t bother convincing as you probably have a history backing up your choice too!

And then I chose Eclipse and shortly there after MyEclipse [ http://www.myeclipseide.com/ ] as the base IDE. That decreased the development cycle complexity and the modify-view time considerably! Adding Struts and Hibernate capabilities like no other at that time. That was what I was looking for! Well struts wasn’t that great but the company I work for had it so I needed the diagramming capability of MyEclipse. That would accounts somewhat for"3. Code generation and Implementation". I will not map all the points made in the original SDLC post, but I think will cover quite a view through the content of this post. I strongly believe that non of any of the great process specifications out there can really get things going and speedup the process without the appropriate software implementations! Imagine and OMG specification used manually! I think my point is clear if not by a ridicules suggestion! However the UML and ERD part of MyEclipse was lacking and now in version 7 is still lacking the amount of comfort and power I was looking for! For example very poor layout feature capability!

There are others like the list by price through the URL beneath (a bit outdated but provides an good starting point for an overview to have an idea!) but still they all were and are still lacking the amount of comfort and power I was looking for. Whether they lacked the eclipse integration or the richness of SDE-EC-Pro not to mention that of the Enterprise edition! The difference in price is more than worth it because it would cost much more to do the jobs that the features would cover manually. Remember that the difference between the winner and loser in Formule One racing could seem small technically! Or you could just blame the driver! But every part in the entire process maters greatly just to give that extra edge! And that edge in this era has to be automating our insights! Hand it to the pro’s so that we can be the pro’s of our applications instead of the process!
List to give an impression which can only mean something if you browse the competitors as well!: http://www.objectsbydesign.com/tools/umltools_byPrice.html

On the quest to complement it I’ve added to that SDE-EC-Pro for the it’s a true interdependent, ever lasting and re-usability of it’s Diagramming power on many levels. And I haven’t regret it for a minute for the past year. The SDE Enterprise product line governs most of the power which Visual Paradigm has to offer through it’s tools! To feel and know what I’m talking about you have to experience the tool first hand! So if your new to Visual Paradigm, then just download a trial in a period in which you have the time to take it into serious consideration instead of concluding prematurely if that might be the case. Any of the other products could be better to suite your specific needs, click on the “Products” link on the above menu to see the complete list.

I’ve the Pro edition, but I’ve evaluated and followed the development of the Enterprise version as well and I’m considering the upgrade. But even with the productivity boost and elegance of the SDE product is (even the Enterprise edition) , it was still lacking on the implementation level! I couldn’t analyze the implementations of Java architectures! Every new project I would analyze to see it’s technical ease for growth and thus it’s potential I had to dive in the code to know what method is calling what method and why! As these weren’t documented in the Javadocs of the reverse-engineerd code! And even if it was documented in the Javadoc, reading the Javadoc is not as intuitive and productive as understanding through diagrams and quick access to the appropriate method through it’s features and only then have to see further details!

Now, I’m just at a junior level when it comes to Java programming skills! And that makes me the perfect candidate to feel the need for the right cooperating tools or tools in Coopetition or Co-opetition [ http://en.wikipedia.org/wiki/Coopetition ]! And I’ve spend years searching for the right tools to rely on before choosing the right development process/procedure and dedicating myself to it. Because the minute the right tool steps in, you can start modifying the process or hire more developers, or stay behind and get taken over at a certain point, or go down the drain which I hope no one would! And I don’t have to own a company to have a vision or to be able to predict fairly accurately up to a certain point.

So I’ve searched for the solution else where as it was clear from the response on my ticket that this wasn’t going to be addressed soon. I’ve selected the one which I found to be the most user friendly to us and added STAN for Java [ http://stan4j.com/ ] to my toolbox! And I’m really glad that I did! It gave me the edge I needed to understand and know what to do quickly searching for bugs or evaluating the possibility to extend a project! I quote: “STAN encourages developers and project managers in visualizing their design, understanding code, measuring quality and reporting design flaws.”. Pasted from < http://stan4j.com/ >. So it would cover somewhat of the Quality Assurance although not through testing of "4. Testing and Quality Assurance " of the original post. But the visual analyzing of the implementation is my main goal for this tool.

To wash away the feeling that the tool/process specs is becoming the goal rightfully, I knew intuitively and also by experience that having the right tool is HALF THE WORK! And that is probably an under-stated statement INSTEAD OF an exaggeration.

The next step is going to the web and defiantly 2.0! I’m a strong advocate for AJAX! And I’m not the gambler type. In my humble (re)search as I’ve gathered a considerable amount of information from various sources, going by from the emerging intuitive calculated risk going Web 2.0 with that Java programming language from my perspective is most logically done through Google GWT and Jboss Seam! That is vision I believe and was initiated and fed by others! Looking at the projects themselves will clarify allot. I’ve provided links for ease in the ticket details below. Adding to that Unit-testing with Testng preferably or Junit if the tooling of Testng doesn’t extend within 6 months. I still have to decide which tools to chose to add to my toolbox for these parts!!

I’ve moved the following ticket to this part of the forum to get some feedback from other users regarding the missing tools!


Ticket Details Ticket ID: TLE-937305 Department: Technical Status: Open Priority: High Created On: 2009-01-02 02:26 PM Last Update: 2009-01-02 11:55 PM Conversation
Posted On: 2009-01-02 02:26 PM

It’s clear that you guys prefer supporting more complexity with your tools for Java than any other language. And going by your companies philosophy “We don’t make something we don’t use.” and seeing more jar files than any other it’s safe for me at this point to assume that you guys program mostly in Java. And that most of your customers prefer Java as well. Please do confirm or correct my assumptions.

The confirmation and/or correction of my assumptions is very important to me to have the right understanding about your company and it’s (future) tactical and strategic decisions. As those influence our choices as customers as well. It’s great when paths cross with positive results, but one need to consider the future as far as one can. Defiantly the ones that are strongly considering to upgrade their Professional license to the Enterprise version as the need to take the tooling coverage of the development process to the next level.

Going by my assumptions for the time being I’ll talk about a couple of topics which consumed a quite deal of my time and energy namely unit-testing and web-based application frameworks. This does overlap the open issue XJV-812540 Pasted from http://support.visual-paradigm.com/index.php?_m=tickets&_a=viewticket&ticketid=44826 but in this issue I’m providing specific more informative suggestions with references! And I add on top of that the unit-testing process issue.

Do you use unit testing to keep track of the quality of your code ? What framework do you use? I’m asking because I was wondering if you could help me with the unit-testing process for starters. Unit-testing is inescapable to automate and maintain the integrity and quality checking of an application without unfeasible long manual testing processes. Yet it’s another step in the development process to generate and maintain unit-tests with every mutation in an agile environment. Defiantly by the ones who got comfortable in environments driven by automatic generation to and synchronization between code and diagrams that makes visualization and mutation of the design a breeze up to a certain point.

What I’m looking for is a generation tool which generates AT LEAST a skeleton-unit-test-class like the Java code forward AND reverse engineering with the Class Diagrams AND that it bases the “Unit-test Diagram” and synchronizes it with the Class Diagram. I’m making it sound easy although I don’t know how much work it’s for you guys to create this functionality, BUT the generation would be handled by the framework! So the generation part would delegate that task to the unit-test framework like the task of database connectivity is delegated to a JDBC library. I don’t know how the framework would help the reverse engineering part, but the unit-testing frameworks I’ve in mind are open source so they are bound to contain a big part of the solution.

The framework which I’m recommending to support is mainly Testng and Junit 3.8. But I’m actually interested and strongly recommend Testng. Junit 3.8 is considered legacy but naturally more wide spread because of it was the leading of it’s time, so many developers and other development tools are still using it. That’s why I mentioned it so you would consider supporting that too if needed. However Testng is the NEXT-generation open source unit-testing framework for the Java programming language [testng.org/doc/documentation-main.html]. It makes heavy use of annotations which is very convenient for manual editing instead of XML without tools which aren’t that sophisticated. Although Junit 4 tries to compensate for the shortcoming of the 3.8 it just didn’t get it all right like Testng. Testng allows much more flexibility and is built more intelligently. And it’s the framework which the Jboss SEAM project primarily relies on for unit-testing. But Seam does extend it with a class to fit it to Seam’s environment as it would need to for Junit but we already know that it is legacy.

If you haven’t heard of Jboss Seam before, JBoss Seam integrates EJB 3.0 and JSF components under a unified framework that simplifies and accelerates Java EE web development. I Quote: "Seam is a powerful open source development platform for building rich Internet applications in Java. Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution, complete with sophisticated tooling.
Seam has been designed from the ground up to eliminate complexity at both architecture and API levels. It enables developers to assemble complex web applications with simple annotated plain Java classes, a rich set of UI components, and very little XML. Seam’s unique support for conversations and declarative state management eliminates a whole class of bugs common in traditional web applications.
Seam is licensed under the terms of the LGPL. Full commercial support is available [ http://jboss.com/products/platforms/application ]. Eclipse-based tooling is provided by JBoss Tools [ http://jboss.org/tools ]. ", Pasted from < http://www.seamframework.org/ >.

By the way, Seam supports Hibernate out of the box as well. And putting the Jboss Tools in it’s place from the diagraming perpective it only has a page-flow digram which doesn’t even save the layout at this point!! For a better understanding of it’s significance take a look here: http://www.seamframework.org/ and here: http://www.seamframework.org/ . It’s has NO vendor-lock-in by Jboss thus can be run on many if not all application servers even without EJB support (if not EJB is used by the application of course). Like for example plain old Tomcat server. I strongly recommend taking in consideration for your web-based Java-based strategy.

The problem from a Java developer perspective from my point of view is: “The web isn’t programmed in Java”. For GUI lay out purposes one might think that Java is not handy! BUT that issue disappears with bi-directional GUI editors! Although JSF is powerful it creating tools that can handle it’s complexity can become tedious. And it’s not Java. The same goes for AJAX parts, javascript and XML. The answer using Google GWT instead of JSF (Java based with a compiler to produce Ajax code). I guote: “With Google Web Toolkit (GWT), you write your AJAX front-end in the Java programming language which GWT then cross-compiles into optimized JavaScript that automatically works across all major browsers. During development, you can iterate quickly in the same “edit - refesh - view” cycle you’re accustomed to with JavaScript, with the added benefit of being able to debug and step through your Java code line by line. When you’re ready to deploy, GWT compiles your Java source code into optimized, standalone JavaScript files. Easily build one widget for an existing web page or an entire application using Google Web Toolkit. Pasted from http://code.google.com/webtoolkit/overview.html.” And here: “
For those that prefer to use the Google Web Toolkit (GWT) to develop dynamic AJAX applications, Seam provides an integration layer that allows GWT widgets to interact directly with Seam components.” Pasted from http://docs.jboss.org/seam/2.1.0.A1/reference/en/html/gwt.html .

There is an Eclipse-based bi-directional GUI development for GWT among other platforms as well, but if you support it you would have the advantage ad it would be interlinked with the existing tools of VP which no one else has for such price for the complete picture!!! The product that you would be competing with on the Eclipse side would be GWT designer [instantiations.com/gwtdesigner/], there are open source alternatives but nothing that comes even close. I quote: “Bret Taylor, GWT product manager at Google, says: Several members of our GWT development team have participated in the beta test of GWT Designer and were impressed by its speed, WYSIWYG design and bi-directional code generation. GWT Designer is the kind of tool that will encourage greater adoption of GWT and reinforce Java as a viable programming model for creating Ajax applications that work in all browsers.” AND “Taking the Pain out of Ajax Development with GWT and Java”. Pasted from http://www.instantiations.com/gwtdesigner/.

Even Flash/Flex can be used within GWT to certain level with the following project as I don’t know how much the developers past 90% weeks activity has paid of too as it has been going for last 2 years. Check http://sourceforge.net/projects/gwt2swf/#item3rd-1 and This is I quote: “GWT2SWF intend to provide software bridge between GWT and FLASH/FLEX. It means that using GWT2SWF you will be able to communicate between GWT and FLASH/FLEX. GWT2SWF provides SWFWidget and FlashPlayer version detection.”. Pasted from http://code.google.com/p/gwt2swf/ .

From my perspective I’m talking about the future leaders of the FULL CODING IN JAVA (Ajax)web framework as it’s unfolding as we speak.

I’ll summarize what I’ve said:

  1. Please confirm or correct my assumption about your (web)strategy.

  2. What technology is currently in your top 5 candidates for the web modeling strategy?

  3. Testng, Jboss Seam and GWT, will you consider adopting them into the appropriate VP tools as web-technology strategy decision pro-java? And at what position would it be placed initially? And how confident are the engineers about this statement? It’s a matter of trust on the short term, I don’t doubt that if you say that you will do it that you will but withing what time table? Too bad that we can’t see a roadmap, but please fill me in on that. You may not be able to give me all the details for what ever reason but I’m expecting the truth like I’m used to from you guys as well!

    Posted On: 2009-01-02 02:50 PM
    I’ve got another suggestion. If you could only make your GUI designer which comes in the Entherprise edition SYNCRHONIZE with this product family:

WindowBuilder Family
of Software Products
WYSIWYG development of Java Graphical User Interfaces
— for Swing, SWT, RCP and GWT
Automatically generate and maintain GUIs. Create complicated interfaces in minutes with the WindowBuilder tools, using a WYSIWIG view, drag-and-drop, and wizards. Java code will be generated for you.
Spend less time and money to develop Java GUIs. Focus on creating application-specific functionality rather than coding the low-level logic required for GUIs to run.
Powerful, easy-to-use tools for Eclipse, Rational®, and myEclipse

Pasted from http://www.instantiations.com/windowbuilder/

Then the GUI bi-directional problem and test generation would be solved!! Because there tools compliment yours!! They have analyzers, profilers and unit-test generation although in other products. Although this would mean spending extra 400 to 700 dollars next to the 840 needed to upgrade to the Enterprise it’s at least a solution that save future time instead of wasting it on incompatibility and manual labor!!

On Fri, Jan 2, 2009 at 7:26 AM, wrote:

Your Ticket has been received and a member of our staff will review it and
reply accordingly. Listed below are details of this Ticket. Please make sure
the Ticket ID remains in the subject at all times.

Ticket ID: TLE-937305
Subject: Strategy, web modeling and Unit-testing
Department: Technical
Priority: High
Status: Open

You can check the status or reply to this ticket online at:
http://support.visual-paradigm.com/index.php?_m=tickets&_a=viewticket&ticketid=99028
Email: x
Password: (Request at http://support.visual-paradigm.com)

Please do let us know if we can assist you any further,

Visual Paradigm International Ltd.

Rain Wong
Posted On: 2009-01-02 09:59 PM
Dear b4l4nc3r,

Thank you for your message. You are correct that our products are develop mainly in Java. About the unit test, we do have unit test on our modules to guarantee the quality. I can check with our engineers and get you some idea on how we work. About the UI designer, currently it’s only for screen mockup. We will consider to extend it’s functionality to code level in the future.
If you require any further information, please do not hesitate to contact me.

Best regards,
Rain Wong

Posted On: 2009-01-02 11:55 PM

Thank you. I’ll wait on the roadmap/development process feedback.

In the meantime I want to ask whether you guys or your company had considered partnering with http://www.instantiations.com/index.html ?
a. If not, why not? And do you see any reason to consider? And still, will you? What about the power of their products to compliment yours? From the feature side it seems to me that they would fit like a glove. I don’t know about the compatibility of the philosophies and how a bridge might be setup!
b. If yes, and apparently didn’t partner, for what reason?

Rain Wong

Posted On: 2009-01-03 12:31 AM

Dear b4l4nc3r,

Thanks for replying. About the partner, currently we have no plan on it yet. And it’s quite a confidential issue which I cannot disclose to you at the moment. If there are any further inquiry, please do not hesitate to contact me.

Best regards,
Rain Wong

So you see I’m in a dilemma! Should I just choose for instantiation’s product line and create a glue layer? Or wait for VP’s decision on this matter? Or keep on searching? I’ll probably do all in a certain sequence with a humanly algorithm! But I hope more can be disclosed about where VP is sailing to, to be sure!
[/quote]

softare development life cycle is based upon which kind of software you
are going to cerate. But the normal steps to cerate a project or software is given following.

* 1 Overview
* 2 Software development activities
       2.1 Planning
       2.2 Implementation, testing and documenting
       2.3 Deployment and maintenance
* 3 Software development models
       3.1 Waterfall model
       3.2 Spiral model
       3.3 Iterative and incremental development
       3.4 Agile development
       3.5 Code and fix
* 4 Process improvement models
* 5 Formal methods
* 6 See also
* 7 References
* 8 External links