In: Computer Science
1, Reflection: How is building a software system like building a house?
please 250 words ,by your own words!
Building a software system is like building a house.
1. Both start with a good plan. Building architects draw detailed plans before a brick is laid, in the same way software developers follows the steps in software development life cycle starting from data collection.
2. For building house requires multiple skills and specialties like builders, cement mason, electricians, plumber etc. The same is about software development also. It also includes Data base architect, application developers, network engineers, etc.
3. Both needs plans and system specifications. They need to know the estimated cost of development or construction. Same like stating the goals in software development, for constructing a house we need to describe our dream, for what purpose we are constructing the house and for how many members we are going to construct the house. Both the owners want to keep their investment under control. They have a budget and try to manage the project within that budget.
4. While building software the project manager plays an important role same like contractors do for building a house. Both of them are planners and know how to get things done. They think in terms of the different stages of their work.
5. For building software and a house both requires foundation. Database architect creates the foundation for software by creating back-ends like SQL, oracle etc. Good building also requires a good foundation which will be laid by cement mason.
6. The power of software development is supplied by network engineers and the power of building house is given by electricians.
7. Visual designers are there for the development of software, in the same way interior designers for building. Once everything is completed, whether it is in designing software or in a house construction, they will do polishing work.
8. Review and testing is required. On completing the build, you review it. Anything that doesn’t meet the plans or isn’t working should be replaced or repaired. Quality assurance of a software can be tested and check whether it fulfills all the needs of the user. Testing and debugging are very important in software development cycle and then comes implementation step.
9. Security needs to be provided for both. Security specialists and network administrator provides security to the software by giving password, finger print scans, virus protection etc. In the case of a building security can be given by putting locks for doors, installing CCTV camera etc.
10. Time schedule is another factor which is important for software development and building construction. Work should be completed within the stipulated time interval.