06-09-2017, 12:56 PM
A paradigm is an example or pattern that can be copied. Paradigms consist of "a set of assumptions, concepts, values and practices that constitute a way of seeing reality for the community that shares them, especially in an intellectual discipline." When applied to software development, a paradigm guides how developers see a given problem and organize the solution.
To develop large and complex software systems, developers divide the overall development process into smaller, more manageable stages or phases. Jurison points out that "the choice of software development process has a significant influence on project success. The right process can lead to faster termination, reduce cost, improve quality and reduce risk. The wrong process can lead to duplicate work efforts and to schedule slips and create continuous management problems "(1999).
The software development process
Although different processes often incorporate different phases or call similar phases differently, some phases are common to most processes. We consider three common phases here. (The "OO" in the acronyms below are object-oriented).
Analysis (OOA)
During the analysis, the problem is emphasized, not the solution. An initial model is created abstracting the essential aspects or characteristics of the problem. The model is expressed in a notation that can be understood by clients, domain experts, and implementers. However, the model is generally independent of any language or programming system at this time.
Design (OOD)
A design bridges the gulf between analysis and implementation by forming a solution architecture. The architecture reflects the knowledge of the domain that was discovered and registered during the analysis phase and provides the framework on which the final solution is constructed. It is often necessary to add data structures and their operations associated with the model that do not appear in the original problem but which are required by a software solution. It is also common that the details that were overlooked during the analysis are added during the design phase, while the details that are strange are removed. The design is often divided into several sub-models focused on specific and related tasks. Some common are:
• User interface
• Data management
• Task management
• Management of communications
Implementation (also known as Programming or OOP)
The implementation phase produces a usable tool or system. A software project ultimately delivers a program or system of programs; a combination of hardware and software is provided if the software is embedded in a physical product (for example, a car or an aircraft). CS 1410 focuses on the implementation phase.
To develop large and complex software systems, developers divide the overall development process into smaller, more manageable stages or phases. Jurison points out that "the choice of software development process has a significant influence on project success. The right process can lead to faster termination, reduce cost, improve quality and reduce risk. The wrong process can lead to duplicate work efforts and to schedule slips and create continuous management problems "(1999).
The software development process
Although different processes often incorporate different phases or call similar phases differently, some phases are common to most processes. We consider three common phases here. (The "OO" in the acronyms below are object-oriented).
Analysis (OOA)
During the analysis, the problem is emphasized, not the solution. An initial model is created abstracting the essential aspects or characteristics of the problem. The model is expressed in a notation that can be understood by clients, domain experts, and implementers. However, the model is generally independent of any language or programming system at this time.
Design (OOD)
A design bridges the gulf between analysis and implementation by forming a solution architecture. The architecture reflects the knowledge of the domain that was discovered and registered during the analysis phase and provides the framework on which the final solution is constructed. It is often necessary to add data structures and their operations associated with the model that do not appear in the original problem but which are required by a software solution. It is also common that the details that were overlooked during the analysis are added during the design phase, while the details that are strange are removed. The design is often divided into several sub-models focused on specific and related tasks. Some common are:
• User interface
• Data management
• Task management
• Management of communications
Implementation (also known as Programming or OOP)
The implementation phase produces a usable tool or system. A software project ultimately delivers a program or system of programs; a combination of hardware and software is provided if the software is embedded in a physical product (for example, a car or an aircraft). CS 1410 focuses on the implementation phase.