cape computer science unit 2 - livebinde
TRANSCRIPT
![Page 1: CAPE Computer Science Unit 2 - LiveBinde](https://reader030.vdocuments.us/reader030/viewer/2022020714/577cd7121a28ab9e789dfc42/html5/thumbnails/1.jpg)
7/27/2019 CAPE Computer Science Unit 2 - LiveBinde
http://slidepdf.com/reader/full/cape-computer-science-unit-2-livebinde 1/4
9/22/13 CAPE Computer Science Unit 2 - LiveBinder
www.livebinders.com/play/play?id=127326
Software engineering (SE) is a term indicating the profession
concerned with the creation and maintenance of software by the use
of relevant computer science (CS), project management, and other
technologies and practices.
Software engineering attempts to bring the lessons learned fromengineering disciplines (E.g. mechanical, electrical, chemical etc.) to
bear on the software development process.
In the past many software projects have failed due to poor standards,
bad programming and inadequate project management practices. SE
techniques can improve the quality of the finished software product as
well as the productivity and quality of program developers. It has beenestimated that there are in excess of 2 million persons worldwide that
can be considered to be involved in various SE efforts.
Software Engineering vs. Computer Science
Unlike computer science which deals with the underlying theory of
programs, SE is concerned with the approaches taken to computer programming, insisting that it be treated in a highly structured manner
similar to a mainstream engineering profession rather than as an art or
a craft. Diverse views exist in the SE community as to the extent to
which the development of software mirrors a typical engineering
process. Nevertheless there have been several successful SE projects
including the popular Linux OS software, space shuttle software and
banking software.
Qualifications for Software Engineers
Upward of 50% of software engineers have earned a computer
science degree. There is also a trend towards the earning of
specialized undergraduate and graduate degrees in the field of
![Page 2: CAPE Computer Science Unit 2 - LiveBinde](https://reader030.vdocuments.us/reader030/viewer/2022020714/577cd7121a28ab9e789dfc42/html5/thumbnails/2.jpg)
7/27/2019 CAPE Computer Science Unit 2 - LiveBinde
http://slidepdf.com/reader/full/cape-computer-science-unit-2-livebinde 2/4
9/22/13 CAPE Computer Science Unit 2 - LiveBinder
www.livebinders.com/play/play?id=127326
software engineering (as opposed to CS). In addition persons often
specialize in other fields such as computer engineering, medical
informatics or biology as some systems require highly specialized and
detailed knowledge outside of traditional CS or mathematics areas.
E.g. DNA computer system may require detailed knowledge from the
fields of biology or medicine.
Waterfall Model
A major aim of SE is to bring order out of the seemingly chaotic task
of writing computer programs. To achieve this end a commonly cited
approach is the use of the so-called waterfall model. Under this model
progress is made by systematically proceeding from one phase of development to another. Imagine water cascading down a series of
waterfalls along a river.
Basic Waterfall Stages –
Step 1 – Analysis: The problem(s) thoroughly investigated and
definedStep 2 – Specification: the problem written out in a clear and
precise manner; a list of all the things required produced
Step 3 – Design: A particular approach decided upon and a
detailed plan of that plan produced
Step 4 – Implementation: The plan put into action as design turned
into program code (coding)
Step 5 – Testing : The code produced in the implementationsection scrutinized by conducting series of tests
Step 6 – Maintenance: The project is finished but there is
acknowledgement that changes will have to be made throughout
the lifetime of the software
Typically the first five steps are short-term (i.e. may last a few days,
![Page 3: CAPE Computer Science Unit 2 - LiveBinde](https://reader030.vdocuments.us/reader030/viewer/2022020714/577cd7121a28ab9e789dfc42/html5/thumbnails/3.jpg)
7/27/2019 CAPE Computer Science Unit 2 - LiveBinde
http://slidepdf.com/reader/full/cape-computer-science-unit-2-livebinde 3/4
9/22/13 CAPE Computer Science Unit 2 - LiveBinder
www.livebinders.com/play/play?id=127326
weeks, months or years). The last step (Maintenance) is long term
(several years).
Other Models
The waterfall model is far from ideal as persons often lack theexperience to adequately finish one stage of the process before
continuing to the next. It must be noted that oftentimes errors which
are produced at one stage are not discovered until later stages, a
situation which is difficult and expensive to correct. Other models
such as the evolutionary models have been developed which are
more complex but allow greater flexibility.
SE Debates
Due to the diverse fields which encompass SE such as computer
science, engineering and mathematics, vigorous debates have
occurred over the years as to the essential characteristics of SE.
SE has characteristics belonging to maths, science, engineering andeven art.
Mathematical properties: - It is clear that all programs have properties
that can be mathematically handled because they are produced from
algorithms which themselves have mathematical properties. Some
have argued that SE is another branch of mathematics.
Scientific properties: - Science is characterized by the ability to
theorize, experiment and measure. Programs have properties that can
be measured and subjected to scientific approaches.
Artistic properties: - The fact that software must be pleasing to those
who use it means that some degree of art must be applied to maximize
![Page 4: CAPE Computer Science Unit 2 - LiveBinde](https://reader030.vdocuments.us/reader030/viewer/2022020714/577cd7121a28ab9e789dfc42/html5/thumbnails/4.jpg)
7/27/2019 CAPE Computer Science Unit 2 - LiveBinde
http://slidepdf.com/reader/full/cape-computer-science-unit-2-livebinde 4/4
9/22/13 CAPE Computer Science Unit 2 - LiveBinder
www.livebinders.com/play/play?id=127326
the utility of the software. Defining programming as an art would
suggest that no formal rules or strategies are sufficient to develop
software but that it must involve individual subjective tastes.
The role of Project Management: - There is also the fact that large
programs are built by teams of persons working on successive projects. The project management requirements of such an effort, as
well as the strict engineering discipline approach, become more
important as the size of the software product (i.e. various related
programs) increases.
The debates will continue well into the future as software developers
continue to require multiple approaches from the diverse fieldsmentioned such as mathematics, science and art.