what is important in documenting a software project

Someone wrote some software for me using jquery, php, mysql, jquery mobile, and javascript. I want to be able to take it to someone else and have them be able to modify and extend it. I would appreciate any contributions to a thorough set ideas  of what I should request of the current programmer in documentation so that another programmer will be able to work with it?
onyourmarkAsked:
Who is Participating?
 
markmiddlemistConnect With a Mentor Commented:
You'll want a class/function reference of core modules, dependency diagrams, details of 3rd party components used, and their configuration for use in your system, and platform version targeted for development (php, mysql, jquery versions)

You may also want a definitive list of browsers/devices that the system was validated againt for reference and maintenance planning
0
 
Anuradha GoliSystems Development / Support SpecialistCommented:
Document should include
Softwares or dlls used to implement project and its versions.
System configuration and browser compatibility considerations.
Database details and if any security details related to that.
Modules involved in implementation of project .
Any specific terminology used in coding standards or in the implementation of project.
Work flow of the web pages in a diagram representation.
Details of third party controls if used the license details.
server hosting details if required to host and check.

Hope you can check with the old developer for any information that must be included based on the project
0
 
onyourmarkAuthor Commented:
Thank you!

I don't think he defined classes but I may be wrong. He defined a number of javascript functions I think. What should I look for in a function reference? Inputs and outputs, where and how they are used, functions they depend on? Anything else or is this too much?

What are dependency diagrams would you just explain that a bit?
0
 
markmiddlemistCommented:
You've actually just answered the dependency diagram question yourself :) - simply put they map what classes/modules/functions (depending on the level of detail) use what - they can critical in asessing testing impact on changes. Unfortunately I can't put any of the ones I have access to up here for commercial reasons, but they are  a pretty well documented method

as for the function reference - inputs and expected outputs, including cases where null may be an output (i.e. how does it handle a no-data return - null or empty collection),.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.