Angelus Vincent P. Guilalas 1. What Software Development?
MCPE 226 Distributed Software Development
Ans. Software development also known as application development, software design, designing software, software application development, enterprise application development, or platform development. The term "software development" may be used to refer to the activity of computer programming, which is the process of writing and maintaining the source code, but in a broader sense of the term it includes all that is involved between the conception of the desired software through to the final manifestation of the software, ideally in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products. 2. What is SDLC? Ans. We may define a cycle as ‘a succession of events repeated regularly within a given period of time’ or ‘a round of years or recurring period of time, in which certain events repeat themselves’. ‘Life cycle’ is a sequence of events or patterns that reveal themselves in the lifetime of an organism. Software products are seen to display such a sequence of pattern in their lifetimes. A generalized pattern that is generally observed in the lifetime of a software product. This is what we called “Software Development Life Cycle”. Recognition of such a software development life cycle holds the key to successful software development. 3. What are the generic phases in the SDLC? Explain each phase. Ans. Requirements Analysis Definition System and Software Design Implementation and Unit Testing Integration and System Testing Operation and Maintenance
January 15, 2013
Requirements Analysis Definition - In this phase, the system’s services, constraints, and goals are established by consultation with system users. They are then defined in detail and serve as a system specification. System and Software Design - In this phase, the systems design process allocates the requirements to either hardware or software systems by establishing an overall system architecture. Software design involves also in identifying and describing the fundamental software system abstractions and their relationships. Implementation and Unit Testing – During this stage, the software design is realized as a set of programs or program units. Unit testing involves verifying that each unit meets its specification. Integration and System Testing – In this phase, the individual program units or program are integrated and tested as a complete system to ensure that the software requirements have been met. Then after testing the software system is delivered to the customer. Operation and Maintenance – Normally, this is the longest life cycle phase. The system is installed and put in to practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of the system units and enhancing the system’s services as new requirements are discovered. The following phase should not start until the previous phase has finished. These stages overlap and feed information to each other. During the design, problems with requirements are identified. During coding, design problems are found. This process is not a simple linear model but involves feedback from one phase to another. 4. What is Distributed Software Development? Ans. As we all should know, two heads are better than one. Teamwork is the key to success. When you enter the industry to work as a software engineer, you will be working with groups. However, when working on a project, how do you get access to all
January 15, 2013
the information you need to accomplish your assigned task? This is where to introduce the practice of distributed software development. Distributed software development is the sharing of information between others to accomplish a...