- For web based application in 3 tier we are going to provide you with the sample code of a project which will giving you an overview of how to and what steps need to be followed at the time of coding.
a. Customer Requirements
b. Functional Requirements
c. Non Functional Requirements
d. Software Requirements
e. Hardware Requirements
f. Design Requirements
Documenting the requirements will give an over view and the difficulties and of the project.
Identify Roles and their tasks – Roles Overview Document.
- For every project there are some Roles defined with the help of which it is known what a particular user’s responsibilities are, according to a particular position or status in a group or organization he/she belongs to. Based on the roles the privileges to access a particular page is given to the user.
Detailed documentation about Individual modules – Module Document
- Every project will be divided in to one or modules, each module will have its own functionality and importance. Project will be divided in to modules in order to ease the understanding of the project and development. Based on the project requirement and the roles identified the modules will be indentified. In module document we are going to specify what the module is about, functionalities of a module and which role is going to use this module.
Based on the above document designing database – Database design document
- For storage and retrieval we need a persistent storage which we call as a Database, here we need to specify the following:
a. What are the different tables
b. What are the fields in each table
c. What is the data type of each field
d. Defining the relationships between tables
e. Validation rules for each field
All the above will be documented properly.
Creating Tables in Database (SQL Server) Based on the above database document we are going to create the tables in Database
- Creating the columns in each table with its respective data type and size
- Mapping the relations between the tables
- Creating the Database diagram
Inserting Sample Data into the tables
- Once the database is created we need to enter the sample data (proper data), this will help when we wrote the code and trying to check the application. So if the Database is empty it will be difficult to test the code whatever a developer has developed.
Detailed Process document for each module.
- This will be a semi technical document created by a developer for the end user. In this document developer is going to specify the sequence of actions to be performed by the user.
Writing Data classes
- In the Data classes the developer is going to represent each table of database as a separate data class which holds every column of the table as a property with specific return type as the data type of the column in the table.
Create Stored Procedures for the required functionality
- Stored procedures are the important aspect in the application development, stored procedures enable the users to change the logic without tinkering with the application. Even the developer can pass the parameters to the stored procedure from the front end, in .Net CLR makes it possible for the developers to write the stored procedures, triggers, user-defined functions and creating the database using the managed language such as C#.Net. Developer should identify the basic functionalities like Insert, Delete, Update, GetAll, GetRecordById etc.. of the application and then start writing the stored procedure for them for each table.
Write Helper class and add SqlHelper class to the application
- Helper class is a user defined class where the common functions are defined. Common functions are the ones which are being used in more than one page so instead of writing them in each and every page we are going to put them in one class called “Helper”.
- Sql Helper class is the one which is going to be used in the Data Access layer, it contains definitions for Execute Reader, Execute Dataset, Execute non Query, For establishing a connection and closing a connection etc., this also behaves like a common class for all the Database related operations which can be accessed in any of the Data Access layer.
Writing DAO classes for actions to be performed over database.
- All the classes of DAO will be in the Data Access Layer (DAL). This layer provides a simplified access to the persistent storage or Database. Here DAO is the Data Access object with complete attributes instead of row of fields from a database table, which allows us to create the client modules with a higher level of abstraction. DAL will hide the complexity of underlying data source to the external world. For instance, instead of using the commands such as insert, delete, update to access a specific table in the database, we can write a class and few stored procedures in the database and we can call the stored procedure from a method inside the class which would return the object of specific type containing the requested values. Also we can fetch data from several tables of the application with a single call.
- We can also make the DAL to support multiple database types, so the application can be now able to use different whatever the DAL can talk database.
Documenting Business Objects functionality
- Business object is an entity which is going to hold the business logic of application, here we are going to do the non technical documentation which will be similar to an algorithm or a procedure and is going to define the functionality of the class.
Setting up the web application
- Creating and setting up the application in the solution in visual studio, means, creating different folders for distinguishing different classes like BO, Data, DAO, utility etc. for ease of navigation and maintenance of the project.
Technical process document of BO classes including Exception handling
- Here we are going to document the classes and program, we are also going to handle the exceptions by implementing the Exceptional handling methodologies. Complete sample program will be written.
- To get an idea about how the screens are going to look we are going to visit few websites and based on the above inputs and details we are going to develop the screens on paper and if everything looks fine then we are going to start designing the screens. After preparing the screens we have to integrate the application with the respective Bos.
Testing the entire application
- We are going to perform the UI testing and the functionality testing.