Last updated on June 13th, 2020 at 08:39 pm
The work associated with software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity. Following flowchart encompasses the phases.
Three Phases of the Generic View of Software Engineering:
01. Definition Phase:
The definition phase
focuses on “what”.
That is, during definition, the software engineer attempts to identify what information is to be processed, what function and performance are desired, what system behavior can be expected, what interfaces are to be established, what design constraints exist, and what validation criteria are required to define a successful system. During this, three major tasks will occur in some form: system or information engineering, software project planning and requirements analysis.
02. Development Phase:
The development phase focuses on “how”. That is, during development a software engineer attempts to define how data are to be structured, how function is to be implemented within a software architecture, how interfaces are to be characterized, how the design will be translated into a programming language, and how testing will be performed. During this, three specific technical tasks should always occur; software design, code generation, and software testing.
03. Support Phase:
The support phase focuses on “change” associated with error correction, adaptations required as the software’s environment evolves, and changes due to enhancements brought about by changing customer requirements. Four types of change are encountered during the support phase:
Even with the best quality assurance activities, it is likely that the customer will uncover defects in the software. Corrective maintenance changes the software to correct defects.
Over time, the original environment, that is, CPU, operating system
, business rules etc for which the software was developed is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment.
As software is used, the customer/user will recognize additional functions that will provide benefit. Perfectible maintenance extends the software beyond its original functional requirements.
Computer software deteriorates due to change, and because of this, preventive maintenance,
often called software re-engineering,
must be conducted to enable the software to serve the needs of its end users.
In software engineering, describe the umbrella activities.
100% useful for me …..
thank u so much…
Ok, glad to hear that. You are welcome …
I am a current Mechanical Engineer student and when I look for internships they ask for autocad knowledge. Very few companies seem to use solidworks. Would it be helpful to learn autocad instead of solidworks?.
does support phase and maintenance phase relate each other
No, maintenance is a part of support. In maintenance, you just solve issues, clean-up etc. But support also includes, making end user understand the working flow, adding new functionality, maintenance etc.
i think it is maintanance phase because correction, adaption ,enhancement and prevention are associate with maintanance phase!!
Like!! I blog quite often and I genuinely thank you for your information. The article has truly peaked my interest.
Comments are closed.