Click here to Skip to main content
15,867,771 members
Articles / Desktop Programming / Win32

Generic Architecture For Rapid Software Development Project Cycle - Part 1

Rate me:
Please Sign up or sign in to vote.
4.49/5 (19 votes)
17 Jun 2012CPOL5 min read 69K   49   43
Generic Architecture For Rapid Software Development Project Cycle
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.

Image 1


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)



Comments and Discussions

 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet, Pin
Mukit, Ataul9-Feb-12 0:35
Mukit, Ataul9-Feb-12 0:35 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet, Pin
Mahmud Hasan4-Mar-12 19:44
Mahmud Hasan4-Mar-12 19:44 
GeneralRe: [My vote of 2] I do not think the article delivers quite what it promises yet, Pin
Md. Marufuzzaman6-Mar-12 8:19
professionalMd. Marufuzzaman6-Mar-12 8:19 
QuestionWhere is the QA and ... ? Pin
Wonde Tadesse28-Jan-12 15:42
professionalWonde Tadesse28-Jan-12 15:42 
AnswerRe: Where is the QA and ... ? Pin
Md. Marufuzzaman28-Jan-12 21:18
professionalMd. Marufuzzaman28-Jan-12 21:18 
GeneralRe: Where is the QA and ... ? Pin
Wonde Tadesse29-Jan-12 16:42
professionalWonde Tadesse29-Jan-12 16:42 
GeneralRe: Where is the QA and ... ? Pin
Md. Marufuzzaman30-Jan-12 3:43
professionalMd. Marufuzzaman30-Jan-12 3:43 
QuestionStruggling Pin
R. Giskard Reventlov27-Jan-12 6:50
R. Giskard Reventlov27-Jan-12 6:50 
to find any meaningful content here. It promises much but delivers very little - one (rather good) diagram surrounded by lots of snippets that really tell me nothing nor expand on the core. You need to expand out and add more detail. I'm sure the 4*5 votes were well meant but hardly deserved at this point. However, I won't donwvote you, rather encourage you to rethink the article.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum

me, me, me

AnswerRe: Struggling Pin
Md. Marufuzzaman27-Jan-12 7:09
professionalMd. Marufuzzaman27-Jan-12 7:09 
SuggestionRe: Struggling Pin
Daniel Gidman28-Jan-12 15:30
professionalDaniel Gidman28-Jan-12 15:30 
GeneralRe: Struggling Pin
Md. Marufuzzaman28-Jan-12 21:26
professionalMd. Marufuzzaman28-Jan-12 21:26 
GeneralMy vote of 5 Pin
Abinash Bishoyi27-Jan-12 3:11
Abinash Bishoyi27-Jan-12 3:11 
GeneralRe: My vote of 5 Pin
Md. Marufuzzaman27-Jan-12 3:26
professionalMd. Marufuzzaman27-Jan-12 3:26 
GeneralMy vote of 5 Pin
Sanjay K. Gupta27-Jan-12 1:19
professionalSanjay K. Gupta27-Jan-12 1:19 
GeneralRe: My vote of 5 Pin
Md. Marufuzzaman27-Jan-12 2:38
professionalMd. Marufuzzaman27-Jan-12 2:38 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.