SlideShare a Scribd company logo
Software Developer’s Project
Documentation Template by Salim
Bhonhariya
.
2
Documentation Control
Document Category: Document Version:
Design Document 0.0
Release Type: Status:
Internal Confidential Draft
Publish Date:
2020-02-27
Subject:
Software Developer’s Project Documentation Template
Keywords:
Enter Document Keywords
Copyright Information
.
3
Contents
1 Common to any types of projects.........................................................................................................................4
2 Authentication and Authorization types used in project......................................................................................4
3 Documentation home for the project...................................................................................................................4
4 Create a home for project in TFS ..........................................................................................................................4
5 Naming conventions for the projects ...................................................................................................................4
6 TFS work items creation........................................................................................................................................4
7 Coding guidelines to follow...................................................................................................................................5
8 List the variable that are used in code and placed in web.config.........................................................................5
9 Need error log of the project................................................................................................................................5
10 Any configuration done or needed to run the project .........................................................................................5
11 Database table and it’s use...................................................................................................................................5
12 Workflow diagram how project works .................................................................................................................5
13 Deployment to staging..........................................................................................................................................6
14 Deployment changes to be done on staging server .............................................................................................6
15 Software development tools to be used and not used.........................................................................................6
16 For specific type project requirements.................................................................................................................6
16.1 Using MVC?..................................................................................................................................................6
16.2 Creating WEB API? .......................................................................................................................................6
16.3 Creating WCF?..............................................................................................................................................7
16.4 Creating core project?..................................................................................................................................7
17 Unit tests created while developing this project..................................................................................................7
18 Integration tests created while developing this project.......................................................................................7
19 Test data used while developing this project .......................................................................................................7
20 Dependency on any other company projects.......................................................................................................7
21 Checking in the code in TFS ..................................................................................................................................8
22 Update the WEB API Gateway document/Project................................................................................................8
23 Index .....................................................................................................................................................................9
24 Record of Revisions.............................................................................................................................................10
.
4
1 Common to any types of projects
Any software developers developing the projects for Your Company must follow these guidelines to make sure it is
easy for organization to maintain the developed projects in TFS and in Database.
In order to make developer life easier during and after project, use this document as a template and replace your
content. This is your project document at the end.
2 Authentication and Authorization types used in project
List whether it is forms authentication or NTLM. If WEB API how the authentication checking is done.
3 Documentation home for the project
The home for every Non-Dnn projects developed by Your Company developers is here. Please create a new folder
with your project name in this folder.
Any related documents to your projects should be here at once stop.
4 Create a home for project in TFS
Will be discussed with manager before starting the work to minimize redoing your work and frustration.
5 Naming conventions for the projects
The name of your project should be as follows.
Project name, database tables names and table location of database will be discussed with manager before
starting the work to minimize redoing your work and frustration.
6 TFS work items creation
Only one requirement will be created per project to make sure it is easy to track. All the related sub task will be
created under the single project requirements. Work items will be created before starting to work on it to make
sure we knew in which sequence work items were created and coded to understand the flow.
.
5
7 Coding guidelines to follow
Every developer developing the Your Company projects should follow these development guide to make sure code
is written in a specific manner.
No variable must be hard coded in the projects. At least it must come from web.config.
Every project must implement error log.
Best practices for WEB API projects
Best practices for .NET Framework projects
8 List the variable that are used in code and placed in
web.config
Implementation details need to be explained for every variable placed in web.config so next developer can
understand.
9 Need error log of the project
In non-Dnn project, we need to track the error at least in the root folder of the web site with file name called
projectname.log and project should be writing to this in case any error happens.
If required management will ask developer to enter database table to be pulled later on a screen for easier life.
10 Any configuration done or needed to run the project
For ex. In case of Zoho, we need a lot of configuration to be done before we can start coding then, we need to
write in this section that what is done and how it is done. This will become your document at the end of that
project.
11 Database table and it’s use
What does the data model look like and where it is being stored? List all the table names, database name and
server of the database on local, staging and production system.
12 Workflow diagram how project works
What does the target deployment environment look like?
.
6
13 Deployment to Staging/Production
Information on where it is deployed to be tested. Write a staging URL where it is hosted and can be tested or
consumed by another team.
14 Deployment changes to be done on staging server
List all that is required to get your cod working on staging server
15 Software development tools to be used and not used
When designing non-Dnn projects at Your Company we can use the following tools only unless except by
permission from manager or upper management.
Microsoft Visual studio 2017 or Visual studio 2019
Microsoft SQL server
No asp standard controls can be used. Only DevExpress user controls can be used.
No earlier than .NET 4.6 framework can be used for non- Dnn projects.
Microsoft Entity Framework 6.2 and above only. If not using the EF, used Dapper that make the life easier for
other programmers as well.
16 For specific type project requirements
16.1 Using MVC?
1. If using MVC in project, make sure to use AspNet.Mvc 5.2.7 or later only
16.2 Creating WEB API?
Make sure we follow the following guidelines.
1. If creating WEB API type project, WEB API 2 and above
only.(https://forums.asp.net/t/2102345.aspx?How+to+know+the+web+api+project+version+)
2. If creating WEB API, you can user .NET Framework or .NET core as well. If you are creating the WEB
API in core, please create a sample and publish it to staging server before you go on a long trip. Then
only start coding your needed code.
3. If creating web API project, need to implement Swashbuckle 5.6 and above to use swagger for making
WEB API testable. The swagger gives consumer of the WEB API enough information to start coding
based on request body, response boy and response class that WEB API returns.
.
7
4. If you are publishing WEB API or WCF to staging server, never publish directly to staging server
directory as a target directory while publishing. Always publish in local folder and then copy needed
file to staging server.
5. Before publishing always take a backup of bin folder and web.config folder if there is any in your
projects.
6. Create a postman collection for your WEB API for automation testing. You will run this automation
test against the production WEB API url after every time change is done to web api or related
database tables to make sure no other existing functionality is breaking in production.
16.3 Creating WCF?
1. Need to write a wrapper around existing WCF, use only Visual studio 2017 which support WCF client
for .net framework. If you user Visual studio 2019, it doesn’t not support WCF client. Please check
with Microsoft before writing in Visual studio 2019.This is core client for WCF
https://github.com/dotnet/wcf
16.4 Creating core project?
To be stable please use core tool version < 3.
17 Unit tests created while developing this project
Unit tests are nothing but the testing for the written code to make sure written code is following the SOLID
principles of architecture, developers need to write unit tests. See here for more info.
https://www.guru99.com/unit-testing-guide.html
18 Integration tests created while developing this project
If your project is communicating with other projects in organization , we need Integration testing see here for
more info https://www.guru99.com/integration-testing.html#3.
19 Test data used while developing this project
Any type of data used for testing to minimize the work of next developer who take son this project.
20 Dependency on any other company projects
If it is using WCF services or web api, let us say mention here.
.
8
21 Checking in the code in TFS
Every time code is checked in the TFS, every developer must select the work item from TFS to be selected before
checking in the code, so everyone know why check in was done.
If you are checking in, take a backup of your present working folder, before you check in make sure to get the
latest. Merge you changes to latest and then try checking into. If conflict happens watch the conflict closely and
resolve each to make sure you don’t lose your changes and someone else most recent changes
22 Update the WEB API Gateway document/Project
Once in production update how this API will be consumed by inside or outside world , it’s method and it’s response
object that it returns.(This document will have URL, required json object for input data for each post methods and
custom response for each get method.
.
9
23 Index
No index entries found.
.
10
24 Record of Revisions
Date Revision Description Revised By Affected Pages
Initial Release All

More Related Content

What's hot

Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architectureAhmad karawash
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignRa'Fat Al-Msie'deen
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieeehoinongdan
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-documentAnil Kumar
 
Software Specification Requirement
Software Specification RequirementSoftware Specification Requirement
Software Specification Requirementsuhasreddy1
 
SWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools OverviewSWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools Overviewghayour abbas
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecificationoshin-japanese
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineeringMohammed Romi
 

What's hot (20)

Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Block 1 ms-034 unit-2
Block 1 ms-034 unit-2Block 1 ms-034 unit-2
Block 1 ms-034 unit-2
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and Design
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Ch25 configuration management
Ch25 configuration managementCh25 configuration management
Ch25 configuration management
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-document
 
Software Specification Requirement
Software Specification RequirementSoftware Specification Requirement
Software Specification Requirement
 
SWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools OverviewSWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools Overview
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
 

Similar to Software Developer’s Project Documentation Template

M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications Concetto Labs
 
The ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standardThe ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standardConcetto Labs
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsVforce Infotech
 
Devops interview questions 1 www.bigclasses.com
Devops interview questions  1  www.bigclasses.comDevops interview questions  1  www.bigclasses.com
Devops interview questions 1 www.bigclasses.combigclasses.com
 
Background Tasks with Worker Service
Background Tasks with Worker ServiceBackground Tasks with Worker Service
Background Tasks with Worker Servicessusere19c741
 
Get Codeigniter Developement Services From Us
 Get Codeigniter Developement Services From Us Get Codeigniter Developement Services From Us
Get Codeigniter Developement Services From UsJoe_Mason
 
33 Software Development Tools that Drive Dialexa’s Success
33 Software Development Tools that Drive Dialexa’s Success33 Software Development Tools that Drive Dialexa’s Success
33 Software Development Tools that Drive Dialexa’s SuccessDialexa
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakayaMbakaya Kwatukha
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementInflectra
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web ApplicationMichael Choi
 
Chapter6 web apps-tomcat
Chapter6 web apps-tomcatChapter6 web apps-tomcat
Chapter6 web apps-tomcatVenkat Gowda
 
Tools, Process & Technical Delivery at CMD
Tools, Process & Technical Delivery at CMDTools, Process & Technical Delivery at CMD
Tools, Process & Technical Delivery at CMDGarrett Gillas
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdf3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdfBOSC Tech Labs
 

Similar to Software Developer’s Project Documentation Template (20)

M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications
 
The ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standardThe ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standard
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
 
Devops interview questions 1 www.bigclasses.com
Devops interview questions  1  www.bigclasses.comDevops interview questions  1  www.bigclasses.com
Devops interview questions 1 www.bigclasses.com
 
Background Tasks with Worker Service
Background Tasks with Worker ServiceBackground Tasks with Worker Service
Background Tasks with Worker Service
 
Get Codeigniter Developement Services From Us
 Get Codeigniter Developement Services From Us Get Codeigniter Developement Services From Us
Get Codeigniter Developement Services From Us
 
33 Software Development Tools that Drive Dialexa’s Success
33 Software Development Tools that Drive Dialexa’s Success33 Software Development Tools that Drive Dialexa’s Success
33 Software Development Tools that Drive Dialexa’s Success
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 
Intro to asp.net mvc 4 with visual studio
Intro to asp.net mvc 4 with visual studioIntro to asp.net mvc 4 with visual studio
Intro to asp.net mvc 4 with visual studio
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code Management
 
C# with Renas
C# with RenasC# with Renas
C# with Renas
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
Chapter6 web apps-tomcat
Chapter6 web apps-tomcatChapter6 web apps-tomcat
Chapter6 web apps-tomcat
 
Tools, Process & Technical Delivery at CMD
Tools, Process & Technical Delivery at CMDTools, Process & Technical Delivery at CMD
Tools, Process & Technical Delivery at CMD
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdf3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdf
 

More from Salim M Bhonhariya

SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSalim M Bhonhariya
 
Decide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionDecide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionSalim M Bhonhariya
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistSalim M Bhonhariya
 
Use corporate login from mobile applications to access on
Use corporate login from mobile applications to access onUse corporate login from mobile applications to access on
Use corporate login from mobile applications to access onSalim M Bhonhariya
 
Azure to on premise integration
Azure to on premise integrationAzure to on premise integration
Azure to on premise integrationSalim M Bhonhariya
 
Azure applications performance checklist
Azure applications performance checklistAzure applications performance checklist
Azure applications performance checklistSalim M Bhonhariya
 

More from Salim M Bhonhariya (6)

SSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory CredentialsSSO to Office365 using Active Directory Credentials
SSO to Office365 using Active Directory Credentials
 
Decide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selectionDecide if PhoneGap is for you as your mobile platform selection
Decide if PhoneGap is for you as your mobile platform selection
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance Checklist
 
Use corporate login from mobile applications to access on
Use corporate login from mobile applications to access onUse corporate login from mobile applications to access on
Use corporate login from mobile applications to access on
 
Azure to on premise integration
Azure to on premise integrationAzure to on premise integration
Azure to on premise integration
 
Azure applications performance checklist
Azure applications performance checklistAzure applications performance checklist
Azure applications performance checklist
 

Recently uploaded

Top 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen DesignsTop 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen DesignsFinzo Kitchens
 
CA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfCA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfSudhanshuMandlik
 
Expert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting ServicesExpert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting ServicesResDraft
 
National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxAlecAnidul
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themmadhavlakhanpal29
 
The Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxThe Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxadityakushalsaha
 
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdfPORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdffabianavillanib
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersConfidence Ago
 
The Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionThe Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionPixel poets
 
Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.rrimika1
 
Transforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting ProfitabilityTransforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting Profitabilityaaryangarg12
 

Recently uploaded (11)

Top 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen DesignsTop 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen Designs
 
CA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfCA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdf
 
Expert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting ServicesExpert Accessory Dwelling Unit (ADU) Drafting Services
Expert Accessory Dwelling Unit (ADU) Drafting Services
 
National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptx
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
 
The Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxThe Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptx
 
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdfPORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for Designers
 
The Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionThe Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to Fashion
 
Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.
 
Transforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting ProfitabilityTransforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting Profitability
 

Software Developer’s Project Documentation Template

  • 1. Software Developer’s Project Documentation Template by Salim Bhonhariya
  • 2. . 2 Documentation Control Document Category: Document Version: Design Document 0.0 Release Type: Status: Internal Confidential Draft Publish Date: 2020-02-27 Subject: Software Developer’s Project Documentation Template Keywords: Enter Document Keywords Copyright Information
  • 3. . 3 Contents 1 Common to any types of projects.........................................................................................................................4 2 Authentication and Authorization types used in project......................................................................................4 3 Documentation home for the project...................................................................................................................4 4 Create a home for project in TFS ..........................................................................................................................4 5 Naming conventions for the projects ...................................................................................................................4 6 TFS work items creation........................................................................................................................................4 7 Coding guidelines to follow...................................................................................................................................5 8 List the variable that are used in code and placed in web.config.........................................................................5 9 Need error log of the project................................................................................................................................5 10 Any configuration done or needed to run the project .........................................................................................5 11 Database table and it’s use...................................................................................................................................5 12 Workflow diagram how project works .................................................................................................................5 13 Deployment to staging..........................................................................................................................................6 14 Deployment changes to be done on staging server .............................................................................................6 15 Software development tools to be used and not used.........................................................................................6 16 For specific type project requirements.................................................................................................................6 16.1 Using MVC?..................................................................................................................................................6 16.2 Creating WEB API? .......................................................................................................................................6 16.3 Creating WCF?..............................................................................................................................................7 16.4 Creating core project?..................................................................................................................................7 17 Unit tests created while developing this project..................................................................................................7 18 Integration tests created while developing this project.......................................................................................7 19 Test data used while developing this project .......................................................................................................7 20 Dependency on any other company projects.......................................................................................................7 21 Checking in the code in TFS ..................................................................................................................................8 22 Update the WEB API Gateway document/Project................................................................................................8 23 Index .....................................................................................................................................................................9 24 Record of Revisions.............................................................................................................................................10
  • 4. . 4 1 Common to any types of projects Any software developers developing the projects for Your Company must follow these guidelines to make sure it is easy for organization to maintain the developed projects in TFS and in Database. In order to make developer life easier during and after project, use this document as a template and replace your content. This is your project document at the end. 2 Authentication and Authorization types used in project List whether it is forms authentication or NTLM. If WEB API how the authentication checking is done. 3 Documentation home for the project The home for every Non-Dnn projects developed by Your Company developers is here. Please create a new folder with your project name in this folder. Any related documents to your projects should be here at once stop. 4 Create a home for project in TFS Will be discussed with manager before starting the work to minimize redoing your work and frustration. 5 Naming conventions for the projects The name of your project should be as follows. Project name, database tables names and table location of database will be discussed with manager before starting the work to minimize redoing your work and frustration. 6 TFS work items creation Only one requirement will be created per project to make sure it is easy to track. All the related sub task will be created under the single project requirements. Work items will be created before starting to work on it to make sure we knew in which sequence work items were created and coded to understand the flow.
  • 5. . 5 7 Coding guidelines to follow Every developer developing the Your Company projects should follow these development guide to make sure code is written in a specific manner. No variable must be hard coded in the projects. At least it must come from web.config. Every project must implement error log. Best practices for WEB API projects Best practices for .NET Framework projects 8 List the variable that are used in code and placed in web.config Implementation details need to be explained for every variable placed in web.config so next developer can understand. 9 Need error log of the project In non-Dnn project, we need to track the error at least in the root folder of the web site with file name called projectname.log and project should be writing to this in case any error happens. If required management will ask developer to enter database table to be pulled later on a screen for easier life. 10 Any configuration done or needed to run the project For ex. In case of Zoho, we need a lot of configuration to be done before we can start coding then, we need to write in this section that what is done and how it is done. This will become your document at the end of that project. 11 Database table and it’s use What does the data model look like and where it is being stored? List all the table names, database name and server of the database on local, staging and production system. 12 Workflow diagram how project works What does the target deployment environment look like?
  • 6. . 6 13 Deployment to Staging/Production Information on where it is deployed to be tested. Write a staging URL where it is hosted and can be tested or consumed by another team. 14 Deployment changes to be done on staging server List all that is required to get your cod working on staging server 15 Software development tools to be used and not used When designing non-Dnn projects at Your Company we can use the following tools only unless except by permission from manager or upper management. Microsoft Visual studio 2017 or Visual studio 2019 Microsoft SQL server No asp standard controls can be used. Only DevExpress user controls can be used. No earlier than .NET 4.6 framework can be used for non- Dnn projects. Microsoft Entity Framework 6.2 and above only. If not using the EF, used Dapper that make the life easier for other programmers as well. 16 For specific type project requirements 16.1 Using MVC? 1. If using MVC in project, make sure to use AspNet.Mvc 5.2.7 or later only 16.2 Creating WEB API? Make sure we follow the following guidelines. 1. If creating WEB API type project, WEB API 2 and above only.(https://forums.asp.net/t/2102345.aspx?How+to+know+the+web+api+project+version+) 2. If creating WEB API, you can user .NET Framework or .NET core as well. If you are creating the WEB API in core, please create a sample and publish it to staging server before you go on a long trip. Then only start coding your needed code. 3. If creating web API project, need to implement Swashbuckle 5.6 and above to use swagger for making WEB API testable. The swagger gives consumer of the WEB API enough information to start coding based on request body, response boy and response class that WEB API returns.
  • 7. . 7 4. If you are publishing WEB API or WCF to staging server, never publish directly to staging server directory as a target directory while publishing. Always publish in local folder and then copy needed file to staging server. 5. Before publishing always take a backup of bin folder and web.config folder if there is any in your projects. 6. Create a postman collection for your WEB API for automation testing. You will run this automation test against the production WEB API url after every time change is done to web api or related database tables to make sure no other existing functionality is breaking in production. 16.3 Creating WCF? 1. Need to write a wrapper around existing WCF, use only Visual studio 2017 which support WCF client for .net framework. If you user Visual studio 2019, it doesn’t not support WCF client. Please check with Microsoft before writing in Visual studio 2019.This is core client for WCF https://github.com/dotnet/wcf 16.4 Creating core project? To be stable please use core tool version < 3. 17 Unit tests created while developing this project Unit tests are nothing but the testing for the written code to make sure written code is following the SOLID principles of architecture, developers need to write unit tests. See here for more info. https://www.guru99.com/unit-testing-guide.html 18 Integration tests created while developing this project If your project is communicating with other projects in organization , we need Integration testing see here for more info https://www.guru99.com/integration-testing.html#3. 19 Test data used while developing this project Any type of data used for testing to minimize the work of next developer who take son this project. 20 Dependency on any other company projects If it is using WCF services or web api, let us say mention here.
  • 8. . 8 21 Checking in the code in TFS Every time code is checked in the TFS, every developer must select the work item from TFS to be selected before checking in the code, so everyone know why check in was done. If you are checking in, take a backup of your present working folder, before you check in make sure to get the latest. Merge you changes to latest and then try checking into. If conflict happens watch the conflict closely and resolve each to make sure you don’t lose your changes and someone else most recent changes 22 Update the WEB API Gateway document/Project Once in production update how this API will be consumed by inside or outside world , it’s method and it’s response object that it returns.(This document will have URL, required json object for input data for each post methods and custom response for each get method.
  • 9. . 9 23 Index No index entries found.
  • 10. . 10 24 Record of Revisions Date Revision Description Revised By Affected Pages Initial Release All