Table of Contents
- Introduction (Part - 1)
- Open a New Project
- Primary Project Analysis
- What client wants?
- Project Architecture Design
- "Human Activity As A Software" (HAAS)
- Where I am?
- Where I have to move
- Implementation (Part - 2)
- Database design and Performance Testing (DBDPT)
- Product Architecture Design (PAD)
- Generic Template Design
- Using N-tire Architecture
- Using Multiple Design Pattern in the Template.
- Coding (Part - 3)
- Code Engine
- Using of Code Engine
- Integrate Code Engine Output class
- Using DAO GEN services
- Integrate DAO GEN Output class/methods
- Testing & Deployment (Part - 4)
- Host Environment Analysis
- Application Security Module
- Product Testing & Releasing for Test Run(PTRT)
- Points of Interest
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.
Points of Interest
Well, I wish I could complete all the parts & would love to create this environment.
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.
- 27th Jan 2012-Initial post.
- 02th Feb 2012 - Try to correct formation & few spelling mistake.
A highly experienced leader with successful track record of software development, product innovations, brand management and corporate communication etc. Some successful product innovations have also achieved and awards “Most Valuable Professional” (MVP) at 2010 and 2011 by codeproject.com and also selected as a mentor of codeproject.com. Published over 100 technical articles in various software development resource sites (i.e., codeprojetc.com, Microsoft MSDN, and IEEE & IBM (In progress)) and various IT Forums, Blogs etc.
Over ten years of professional experiences in ICT field having extensive experience in formulating corporate vision and long term strategy. Leading development related functions including design, development, services, data management and analytics, customer experience management, content services, digital analytics and optimization.
An individual with results-driven approach and relentless in pursuit of excellence from a business and organizational standpoint. Believes in transparency, commitment and teamwork.
Expertise: Software/Solution Architect, SaaS platform base application, Large scale win32/web based business software solutions, enterprise applications, integration, etc.
Technologies/Tools: Microsoft.Net version 05/08/10/12, Microsoft SQL Server version 7/2K/05/08/12 , Oracle version 10/11, MySql version 5.1, 5.5, PS2, Visual C#, R, VB.NET, ASP.NET, PHP, API, MVC, WebAPI , Add-In Visual Basic etc.,. I have also more than two years’ of strong experience in mobile-VAS (platform development).
Points of Interest: Technology and research & development especially focused on business functionalities and social business areas as well, few stuff including:
1.R&D on new techniques as required to increase business revenue.
2.Urban and rural sectors to improve people’s lifestyle, better medical facilities, education, social business etc., using innovative technical solutions.
3.Research and innovative product development.