dimanche 3 décembre 2017

Best Practices for Software Design and Development

I got a project to develop a C++ based software that should handle to view billions of triangles/points (3D scanned data). There are a number of techniques that I can use for the real-time 3D rendering, i.e., quadtree, octree, out-of-core, shaders, etc. The software will be implemented by the multiple developers in parallel. Modules of the software are import, export, filtering, clustering, rendering, etc.

My questions are related to the development processes of the software. 1. how to develop a system architecture of the software and it's high-level classes. Should I just use MS Visio to draw data-flow-diagram (DFD) to the system as I already know the modules and submodules? 2. What normally people use for high-level classes? UML?

For parallel and continuous development, Github/BitBucket, jira, jenkins can be used, or any other? Am I on right track?

And to ensure the high software quality, what kind of development processes should I use, for example in test cases, manual or automated? at what stages and how? How to perform the automated tests for this kind of application which is built in C++.

A similar example, PPT, idea or relevant materials would be highly appreciated?

Please build a scenario and share your experience?

Thank you very much.

Aucun commentaire:

Enregistrer un commentaire