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

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
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 
GeneralMy vote of 1memberjgauffin18 Jun '12 - 23:10 
GeneralMy vote of 4memberNinethSense18 Jun '12 - 1:42 
GeneralMy vote of 1membergdhgasyue18 Jun '12 - 0:38 
QuestionWhat is the point of this?memberDave Cross17 Jun '12 - 21:55 
Answerow Re: What is the point of this?mentorMd. Marufuzzaman17 Jun '12 - 22:05 
GeneralRe: ow Re: What is the point of this?memberDave Cross17 Jun '12 - 22:49 
GeneralMy vote of 5memberdinhienhy17 Jun '12 - 18:17 
GeneralRe: My vote of 5mentorMd. Marufuzzaman17 Jun '12 - 22:51 
GeneralMy vote of 5memberJF201515 Jun '12 - 2:14 
GeneralRe: My vote of 5mentorMd. Marufuzzaman17 Jun '12 - 8:19 
QuestionInnovativememberReema48 Jun '12 - 1:02 
AnswerRe: InnovativementorMd. Marufuzzaman17 Jun '12 - 8:20 
GeneralMy vote of 4memberMukit, Ataul8 Feb '12 - 23:57 
GeneralRe: My vote of 4mentorMd. Marufuzzaman9 Feb '12 - 0:29 
GeneralRe: My vote of 4memberMukit, Ataul9 Feb '12 - 0:37 
GeneralMy vote of 5memberRashed_6 Feb '12 - 0:33 
GeneralRe: My vote of 5mentorMd. Marufuzzaman6 Feb '12 - 6:11 
GeneralMy vote of 5memberMohammad A Rahman5 Feb '12 - 23:40 
GeneralRe: My vote of 5mentorMd. Marufuzzaman6 Feb '12 - 0:07 
GeneralRe: My vote of 5memberMohammad A Rahman6 Feb '12 - 0:12 
Suggestion[My vote of 2] I do not think the article delivers quite what it promises yet,memberJesperMadsen1234 Feb '12 - 10:30 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,mentorMd. Marufuzzaman4 Feb '12 - 18:42 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,memberMukit, Ataul9 Feb '12 - 0:02 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet,mentorMd. Marufuzzaman9 Feb '12 - 0:27 

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.130516.1 | Last Updated 17 Jun 2012
Article Copyright 2012 by Md. Marufuzzaman
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid