You are on page 1of 3

CHAPTER II DISCUSSION

A. Definition of Software Engineering


Definition of Software Engineering According to Fritz Bauer: "Application
and utilization of engineering principles to produce economical software that is
reliable and works efficiently on real machines" Characteristics of Software
Developed or engineered, not made in general terms. Not 'weathered' or physically
shrinking.
The IEEE Computer Society defines software engineering as the application
of a systematic, disciplined and quantified approach to the development, use and
maintenance of software, and the study of these approaches, namely the application
of engineering approaches to software
Generally made specifically, it is not compiled from existing components.
Software Problems Software does not function properly (poor quality). Inaccurate
scheduling of processes and production costs. Productivity that has not been able to
meet the demands of user needs. Difficult maintenance. The development of
hardware technology is beyond the ability of programmers to create software that
can maximize the potential of hardware.
Software engineering is a professional field that explores the methods of
software development including the creation, maintenance, management of
software development organizations, etc.
In 2004, the term software engineering was generally used in three meanings,
namely:
1. As a general term for various activities that were formerly called
programming or analysis systems,
2. As a broad term for technical analysis of all practical aspects that are
contrary to computer programming theory, and
3. As a term that embodies the advocacy of a specific approach to computer
programming, an urgent matter is treated as an engineering profession rather
than an art or craft, and advocacy of the practical codification suggested in
the form of a software engineering methodology.
Software engineering is an engineering discipline with software developed.
Usually the process involves finding the wishes of the client, arranging it in the list
of needs, designing, coding, testing, and integrating separate parts, testing the
whole, deployment and maintenance of software.
Discipline is still in its growth (the initial stage of development) as an
engineering discipline. We never have enough experience, nor enough empirical
data sets to systematically understand and predict the life cycle of software projects.
The Software Engineering Body of Knowledge (SWEBOK) divides
software engineering into 10 knowledge areas, namel
1. Software requirements,
2. Software design and architecture.
3. Software construction
4. Testing software.
5. Software maintenance
6. Management of software configuration.
7. Management software
8. Process software
9. Software methods and tools
10. Software quality
In conclusion, Software Engineering is the process of making software using rules
or principles of engineering so that quality software is produced.
More specifically we can state the objectives of SE are:
a. Obtain low production costs for software.
b. Produce software that is high performance, reliable and on time.
c. Produce software that can work on various types of platforms.
d. Produce software that has low maintenance costs.
Attributes of good software
The software should deliver the required functionality and performance to the user
and should be maintainable, dependable and acceptable.
o Maintainability
o Dependability
o Efficiency
o Acceptability
B. Software Engineering Factors
Various factors that influence planning, management, and selection of SQM
activities and techniques are as follows:
1. Areas of the system to be occupied by software (safety-critical, mission-
critical, and business critical),
2. System and software needs,
3. Commercial components (external) or standard (internal) for use in the
system,
4. Specific software engineering standards that can be applied,
5. Software methods and tools used for development and maintenance, and for
improvement and evaluation of quality,
6. Budget, staff, project organization, plans, and scheduling of all processes,
7. Expected users and system usage, and
8. Level of system integrity.

C. Development Methodology
A development methodology is a set of practices and procedures for
creating software, set of rules that developers have to follow, set of conventions
the organization decides to follow, and systematical, engineering approach for
organizing software projects

1
1. The "Waterfall" Process
is a relatively
linear sequential design approach for
certain areas of engineering design.
In software development, it tends to
be among the less iterative and
flexible approaches, as progress flows
in largely one direction ("downwards"
like a waterfall) through the phases of
conception,
initiation, analysis, design, construction, testing, deployment and maintena
nce.
2. Rational Unified Process (RUP)
is an iterative software
development process framework
created by the Rational Software
Corporation, a division
of IBM since 2003. Very formal,
lots of documentation
3. Microsoft Solutions
Framework (MSF)
is a set of principles, models,
disciplines, concepts, and guidelines
for delivering information
technology services from Microsoft.
MSF is not limited to developing
applications only; it is also
applicable to other IT projects like
deployment, networking or
infrastructure projects. MSF does
not force the developer to use a specific methodology (such as the
waterfall model or agile software development).
Formal heavyweight approach
4. Agile Development Processes
is an approach to software
development under which
requirements and solutions evolve
through the collaborative effort of
self-organizing and cross-functional
teams and their customer/end user

You might also like