Click here to Skip to main content
Click here to Skip to main content

Generic Architecture For Rapid Software Development Project Cycle - Part 1

By , 17 Jun 2012
 
Table of Contents
  1. Introduction (Part - 1)
    1. Open a New Project
      1. Primary Project Analysis
      2. What client wants?
    2. Project Architecture Design
      1. "Human Activity As A Software" (HAAS)
      2. Where I am?
      3. Where I have to move
  2. Implementation (Part - 2)
    1. Database design and Performance Testing (DBDPT)
    2. Product Architecture Design (PAD)
    3. Generic Template Design
      1. Using N-tire Architecture
      2. Using Multiple Design Pattern in the Template.
  3. Coding (Part - 3)
    1. Code Engine
      1. Using of Code Engine
      2. Integrate Code Engine Output class
      3. Using DAO GEN services
      4. Integrate DAO GEN Output class/methods
  4. Testing & Deployment (Part - 4)
    1. Host Environment Analysis
    2. Application Security Module
    3. Product Testing & Releasing for Test Run(PTRT)
  5. References
  6. Points of Interest
  7. Conclusion
  8. History
Figure: Generic Architecture For Rapid Software Development Project Cycle.


Introduction (Part - 1)

Hello guys, last couple of years I tried to setup an organized structure where, we will move forward very fast with the latest technologies without compromising product quality. That's why I tried to create an excellent environment structure, the way of how we move with a new project, how could we delivery faster, actually the core think is to create a RAD (Rapid application development) environment or even it's like component base construction environment for our organization.

From the above point of view I prepared a project flow diagram, which I would like to share with you. So that you guys can help me to make it more standard, more efficient, where I am doing wrong or where I am doing the right.

However let's go thru the steps as per diagram. Here I will discuss on how this process take place to move faster than before and complete the entire project within time.

Open a New Project

Well at first I would like say that I will not discuss regarding the roll of the Marketing department, Management department and Administration section as well. Anyway when I start for a new software development project; at first I give my top priority on the client requirements. In this part I assign a project manager with a project management team and a system analyst for that particular project. This guys are involved with the client & study the requirement. If the client has an any existing system; or client already using any third party services than my team will study the entire existing system in dept and finally short out the limitations are.

Primary Project Analysis

This team actually follow the complete SDLC and maintain proper documentation. After completing the primary analysis, the classical way is to proposed new system with the detail that the client want. Here I add a new steps which is project prototyping, this is actually a graphical representation of the new system with sample data.

What client wants?

The purpose of this is to make sure the client that we got the actual scenario of what client wants? We must have to ensure the client that we understand the requirement. For better understanding from both of us we go for project prototyping. After that we demonstrate and request the client for his opinion; We discuss about the prototype and asked the client; Is the prototype correct? or need to change anything. If so we make the changes and again give a demonstration of the prototype again it's just a cyclic process until the client approve that prototype and go for an agreement officially.

Project Architecture Design

I think this part is the heart of any software development project cycle; In this section as an architect at first I would draw a complete picture of the full project, there are lot of standard methodologies are available for example, studying software requirement specification (SRS), writing use case, data flow diagram, using UML etc.... Well off course I follow all of this but I would also include another step which I call "Human Activity As A Software" (HAAS).

"Human Activity As A Software" (HAAS)

Let's make it to more clear on HAAS. HAAS is nothing but just a diagram, it represent the each & every interaction between two or more persons which we are going to automate. From my experiences I found this diagram really take a very good impact on the developer while design the software algorithm, writing code etc. it's like a developer is developing a system which will act like HAAS diagram, while writing code this diagram helps the programmer to draw a visual picture and it represent the human behavior in a visual manner.

Where I am?

Well, let's move to understand few more interesting thinks; Okay I hope you guys understand / got the scenario up to requirement analysis, steps of standard SDLC. So now we have the following items in hand to move forward:

  • All the documents related to SDLC.
  • A visual representation / prototype of the actual product.
  • A GANTT chart for walking on the road.
Where I have to move

Great, I really very much concern on the using of technologies for any type of software development project. Because of that I sort out what are the related development tools required to develop this project. You may ask, there is nothing to short out... If the target platform is Microsoft and application type may be web application, standard win32Form application, web services... etc., then generally go for Microsoft Visual Studio .Net (Framework 4) , Eclipse, NetBean etc., as IDE for the project and development language could be C#, Visual Basic, F# or something else and for the database platform it's simple either Microsoft SQL Server 2008, Oracle 11g, Microsoft Access, DB2 etc.,

Yes I off-course I also agree with you, I also go for the same but do a little analysis on the requirement and all the development tools. At first I would prefer using tiny wait open source api, I don't want to kill a mosquito using my all the accessories which I traditionally use to hunt a big tiger..... ha ha ha............. It good to use lite and efficient tools.
So now I make my decision & select all the tools which will be use for that project development, & here I hate to change tools / any third party api at the middle stage in development project.

References

Points of Interest

Well, I wish I could complete all the parts & would love to create this environment.

Conclusion

The purpose of this is not to share something new, I hope you guys will go thru in detail & and I will be glad for your any valuable suggestion.

History

  • 27th Jan 2012-Initial post.
  • 02th Feb 2012 - Try to correct formation & few spelling mistake.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Md. Marufuzzaman
CEO
Bangladesh Bangladesh
Member
He is the founder & CEO of MNH Technologies and working for urban and rural sectors to improve people’s lifestyle, better medical facilities, education, social business etc. He has over ten years of professional experiences in design and developing Client-Server, Multi-Tier, Database, Web based business software solutions, Enterprise Applications, API, WebAPI, Google Analytics implementation, Add-In, Documentation & Technical Writing etc for Windows / Mac using Microsoft SQL Server, Oracle, MySql, PS, C#, VB.NET, ASP.NET, PHP, RoR, Visual Basic etc. He has also more than two years experience in Mobile-VAS (Platform Development).
 
He worked for various software development & technology consulting. His core focus on technologies to create dynamic data-driven systems that add value to your business and dynamic technology consulting that builds advanced solutions for the industries across the various vertices.
 
He also work as a Solution Architect at Dhrupadi Techno Consortium Limited (DTCL) and responsible for analyzing business requirements and offered optimum solutions (multiple options), which would address all current requirements, provide flexibility for future growth and allow smooth transition between old system and new system.
 
He graduated with honors from The University of Asia Pacific, in Computer Science and Engineering. He was awarded as “Most Valuable Professional” (MVP) at 2010 and 2011 by CodeProject.com and also selected as a Mentor of CodeProject.com
 
Specialties: Software Development Management, System Integration, Data Warehouse Architecture, Virtualization.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 2memberBrady Kelly25 Jun '12 - 23:38 
There is nothing much here at all, as Dave Cross noted. Nice diagram though.
GeneralMy vote of 1memberjgauffin18 Jun '12 - 23:10 
I agree with @gdhgasyue, the article is pretty worthless on it's own.
GeneralMy vote of 4memberNinethSense18 Jun '12 - 1:42 
The article is informative. But you should have elaborated roles & responsibilities of all the nodes in the diagram. Also, I do not see why you need to split the article in to multiple "small" pieces.
GeneralMy vote of 1membergdhgasyue18 Jun '12 - 0:38 
You should have posted the all the parts since this, as a stand alone article, is too light and pretty worthless.
QuestionWhat is the point of this?memberDave Cross17 Jun '12 - 21:55 
I quote 'The purpose of this is not to share something new'.
 
So why should anyone bother reading it?
 
Dave Cross
Answerow Re: What is the point of this?mentorMd. Marufuzzaman17 Jun '12 - 22:05 
Hi,
Dave yes of course few points are there....
Anyway
Dave Cross wrote:
So why should anyone bother reading it?

 
I don't know why.... What is popup your mind, please let me know.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralRe: ow Re: What is the point of this?memberDave Cross17 Jun '12 - 22:49 
Am I the only one who can't see the point of this article?
 
We can all draw pretty pictures but without any substance behind them they are useless.
 
I fail to see any value here - somebody please enlighten me because if this merits 5 from several people either I or they are in the wrong forum!.
 
Dave Cross
GeneralMy vote of 5memberdinhienhy17 Jun '12 - 18:17 
Very good
GeneralRe: My vote of 5mentorMd. Marufuzzaman17 Jun '12 - 22:51 
Thanks.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralMy vote of 5memberJF201515 Jun '12 - 2:14 
Very nice article that you posted here. Thanks!
GeneralRe: My vote of 5mentorMd. Marufuzzaman17 Jun '12 - 8:19 
Thanks.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

QuestionInnovativememberReema48 Jun '12 - 1:02 
Hi,
Your article is really very original and innovative. The flow diagram if followed properly will help to develop any software at no time with full user satisfaction. This idea of yours quite matches with agile software development that has taken the center stage now in every field of software development process. eworking
http://joshuawarren.com/

AnswerRe: InnovativementorMd. Marufuzzaman17 Jun '12 - 8:20 
Thanks for your comments.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralMy vote of 4memberMukit, Ataul8 Feb '12 - 23:57 
Well thought out none the less, but why did you include DBA and Database designs in a generic architecture, it's as if saying every rapid developemnt project cycle must have a database or without a database system you cannot make huge software!
GeneralRe: My vote of 4mentorMd. Marufuzzaman9 Feb '12 - 0:29 
Thanks for your comments....
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralRe: My vote of 4memberMukit, Ataul9 Feb '12 - 0:37 
I would revote it to 5 if you could kindly change the topic name a little by leaving the generic part out or you could modify the diagram a little to make it look more generic.
 
I wish you all the best!
GeneralMy vote of 5memberRashed_6 Feb '12 - 0:33 
I think this is a standard way. Thanks to authour.
GeneralRe: My vote of 5mentorMd. Marufuzzaman6 Feb '12 - 6:11 
Thanks...
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralMy vote of 5memberMohammad A Rahman5 Feb '12 - 23:40 
Good one Smile | :)
GeneralRe: My vote of 5mentorMd. Marufuzzaman6 Feb '12 - 0:07 
Thanks a lot Smile | :) ...Although It's not completed yet.... I hope that I will complete all the part soon.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralRe: My vote of 5memberMohammad A Rahman6 Feb '12 - 0:12 
All the best.
Suggestion[My vote of 2] I do not think the article delivers quite what it promises yet,memberJesperMadsen1234 Feb '12 - 10:30 
since I have a hard time seeing this as RAD.
 
I think you need to be more clear about why this offers the customer a faster view at what he is buying.
 
I think you need to be more clear about why the initial requirements phase is there, and why this differs from a regular waterfall model.
 
RAD usually is a growing prototype, so what is "the cheaper" prototype phase you are adding? And why do you build prototypes there instead of a piece of the real system?
 
And why is this model less hurt by changing requirements than any other model? When you pick the architecture among generic templates, you can still pick the wrong architecture, and that still hurts, or?
So do this model make it cheaper to change architecture, or are you screwed if you pick the wrong architecture?
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,mentorMd. Marufuzzaman4 Feb '12 - 18:42 
Hi Jesper Madsen:
 
I am really so glad to see your comments with few valuable suggestion. I hope you got my
one view, that was to setup / develop an efficient environment for software development.
I share only for you guys to read and suggest us / give few guidance to move forward.
 
I don't know; how much you know about our country "Bangladesh", we are surviving & still we are in growing pain;
 
Anyway I would request you to please keep in touch. Thanks once again for your time and consideration.
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,memberMukit, Ataul9 Feb '12 - 0:02 
I do not see why do you bring "Bangladesh" into this, i think we are surviving and surviving well and there are lot of brilliant programmers from Bangladesh who are working in google and MS and there are even more brilliant programmers residing in the country - your comment gives a rather bleak expression and paints a dull picture of the country.
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,mentorMd. Marufuzzaman9 Feb '12 - 0:27 
Hay,
Thanks, well I need to know that, is this enough for us?
Mukit, Ataul wrote:
why do you bring "Bangladesh" into this, i think we are surviving and surviving well and there are lot of brilliant programmers from Bangladesh who are working in google and MS and there are even more brilliant programmers residing in the country

 
I would like to ask you; that could you please explain why we are not in growing pain?
I think you need to know, what is the growing pain in a business scene?
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 17 Jun 2012
Article Copyright 2012 by Md. Marufuzzaman
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid