STUDENTS NAME: STEPHEN KINYANJUI GICHINA
INSTITUTION: THE NYERI NATIONAL POLYTECHNIC
DATE: 05-10-2023
SOFTWARE ENGINEERING.
SOFTWARE ENGINEERING.
SOFTWARE ENGINEERING.
Software Engineering is the branch of computer science that deals with the design,
development, testing and maintenance of software applications. (MTU, 2023).Software
engineers apply the knowledge of programming languages to build software solutions for
end users. (MTU, 2023). Software Engineering includes a variety of techniques, tools,
and methodologies including requirements analysis, design, testing and maintenance.
People who works in this profession of software engineering are called software
engineers. Good and successful software engineers knows how to use the right
programming languages, platforms, and architectures to develop everything from
computer games to network control systems. (MTU, 2023).This Software Engineers can
not only build their own systems but also test, improve, and maintain other software built
by other engineers.©,(2023). There are different principles of Software Engineering
which includes the following:
✓ Modularity-This is breaking the software into smaller and reusable components
that can be developed and tested independently. (GeeksforGeeks, 2023).
✓ Reusability-Creating components that can be used in multiple projects which
reduces resource and time wasting.
✓ Maintenance-Regularly updating and improving the software to fix bugs and
errors.
✓ Abstraction-This is separating the behavior of software components from their
implementation. (Gshute, principles, 2023).
SOFTWARE ENGINEERING.
✓ Generality-It is designing software that is free from unnatural restrictions and
limitations. (Gshute, principles, 2023).
There are several duties and responsibilities of a software engineer;
1. Design and management of software systems.
2. Testing and assessment of new software applications.
3. Code writing and evaluations.
4. Optimizing the speed and scalability of software.
5. Consultation with customers, engineers, security experts and other parties involved.
6. Introducing new features to internal customers and stakeholders.
Software Engineers has different skills and characteristics, which includes;
▪ Knowledge of programming languages and object oriented programming such as Python,
JavaScript or C++. (MTU, 2023).
▪ They have a great attention to details as they must keep track of multiple complex details
pertaining to their projects.
▪ Software Engineers must be familiar with a variety of operating systems, including
Linux, and database management systems.
▪ Software engineers are required to continually update and maintain their skill sets to meet
the shifting demands of technology.
▪ Software engineers have the skills in debugging and testing software, as it enables them
to fix errors in a software program.
▪ Smart Communication skills. This skills comprise of oral, written, and interpersonal
skills. . (geeksforgeeks, 2023).
SOFTWARE ENGINEERING.
▪ High motivation. (geeksforgeeks, 2023).
▪ Intelligence. . (geeksforgeeks, 2023).
▪ Team player-Should be able to work effectively with other members of the team.
(geeksforgeeks, 2023).
▪ Time management.
Importance of software engineering
a) It is cheaper to use software engineering methods in the long run, since most individuals
and society rely on advanced software systems.
b) Enables handling of Big Projects. (Geeksforgeeks, 2023).
c) Software Engineering programmers plan everything and reduce all those things that are
not required hence helping in managing the cost. . (Geeksforgeeks, 2023).
d) Reduces time wasting-It will save a lot of time if you are developing software using a
software engineering technique. . (Geeksforgeeks, 2023).
e) It helps in performing research to develop programming languages or find solutions to
algorithmic problems.
f) Software Engineering offers opportunities to develop reliable, efficient, and secure
software systems and solutions.
Software Engineering has some of its advantages which includes;
▪ Learn the basics of programming-Software Engineering helps the developers to
understand programming and how to tell a computer to carry out a set of logical steps to
reach the required outcome. (Newcastle University, Xander Brouwer,2023)
▪ Huge Earning-Software Engineering offers high income to the developers.
SOFTWARE ENGINEERING.
▪ Business Possibilities-Software Engineering provides a wide range of business options to
the developers or Engineers. They might explore entrepreneurship by establishing their
own software development businesses or consulting businesses.
▪ Adjustable time-schedule-It provides freedom to plan as many developers can choose to
operate online or on their schedule. And this enables professionals to regulate their
private and work lives better, improving work-life balance.
While Software Engineering offers many advantages, there are also several disadvantages
to consider;
✓ High upfront costs-Implementing a systematic software development can be resource-
intensive and require a significant investment in tools and training.
✓ Complexity-Due to the increase in the number of tools and methodologies, software
Engineering can be complex and difficult to navigate.
✓ High maintenance-The software engineering process requires regular maintenance to
ensure that the software is running effectively, which can be costly and time-consuming.
In summary, software engineering can be expensive and time-consuming, and it may limit
flexibility and creativity. However the benefits of improved quality, increased productivity,
and better maintainability can outweigh the cost and complexity.it is important to compare
the advantages and disadvantages of using software engineering to determine if it is the right
approach for a particular software project.
References
Michigan Technology University (MTU), Computer Science, Software Engineers. What is
software Engineering, (2023).Retrieved 23, from
SOFTWARE ENGINEERING.
https://www.mtu.edu/cs/undergraduate/software/what/ -
:~:text=Software%20engineering%20is%20the%20branch,software%20solutions%20for%20
end%20users.
Coursera Inc. ©. What does software engineer do? (2023). Retrieved 23, from
https://www.coursera.org/articles/software-engineer.
GeekforGeeks, Sancchaya Education Private limited. Basic principles of software
engineering. (2023).Retrieved 23, from https://www.geeksforgeeks.org/
Gshute, principles. (2023). Retrieved 23, from
https://www.d.umn.edu/~gshute/softeng/principles.html
Newcastle University, Xander Brouwer, Benefits of learning software engineering, (2023.
Retrieved 23, from https://from.ncl.ac.uk/6-benefits-of-learning-software-engineering-for-
project-managers.
Geeksforgeeks, what is the need of software engineering? (2023). Retrieved 23, from
https://www.geeksforgeeks.org/what-is-the-need-of-software-engineering/
geeksforgeeks, Characteristics of a good Software Engineer, (2023). Retrieved 23, from
https://www.geeksforgeeks.org/characteristics-of-a-good-software-engineer/