Retrieved from https://studentshare.org/environmental-studies/1410918-describe-the-differences-between-a-software
https://studentshare.org/environmental-studies/1410918-describe-the-differences-between-a-software.
After the project pass the feasibility study, the estimation of cost, time and efforts is done. Incorrect estimation of these resources may lead to cost overruns and might prove fatal to the project. The result of the software analysis model is a detailed SRS (Software Requirement Specification) document describing of the system’s functionality as per the customer’s requirements. This document would define the system and serves as the base for rest of the processes in the software development life cycle (SDLC).
Software design model aims to design the conceptual model of the system, which defines various processes involved in the system and also the data used at each process. The software design can be expressed using various diagrams including activity diagrams, sequence diagrams, collaboration diagrams etc. They represent the flow of information as well as the entities involved within the system, based upon which the actual implementation and coding of the software is done. One of the important models for software design is object-oriented design model, in which we identify various objects that occur in the solution domain and the relationship between these objects.
After this, detailed design of the object model is done. Other important software design models are prototyping and spiral lifecycle models. . Reliability of software is of utmost importance towards implementing critical applications, for example: the software used in aerospace systems. Reliability of the software also increases its availability for any additional development. Also, software reliability enhances customer satisfaction, thus, resulting in the low maintenance demands of the system.
Another important characteristic of reliable software is that it effectively handles wrong input from the user and prevent from any system failure as a result of the wrong input. Further, reliable software continuously monitors any defects or faults in the system and quickly report/detect these faults. Reusability: A good software design should make the components of software development as reusable. Reusability of software objects reduces the development time and also increases programmer’s productivity and the software quality.
However, dependencies of software components on the other parts of the software reduce its reusability, and thus reduce the number of contexts in which these components can be invoked in. Also, software reusability depends on the programmer’s understanding of the system and his capability to reuse the components to make a better and an efficient system. Another one of the major advantages of reusability is the reduced development costs and faster software deployment. However, there are issues related to software reuse for example: lack of organizational support to institutionalize software reuse, intellectual property rights and contractual problems of software reuse Flexibility: We may require changing certain features of the existing software in terms of adding more functionality
...Download file to see next pages Read More