1 / 5100%
This is definitely a great point to make about the role of an engineer and how just because
you can make one thing, it doesn't make you an expert in making other things like a house
or even a bridge. This is my fear as a programmer as I feel I got the syntax down and I am
getting better at reading and understanding how to write code, but I still don't know how I
would create a fully developed program from beginning to end.
But what separates a software engineer from other types is that you typically are building a
program continuously before during and even after the program is launched. This is
because there are bound to be bugs or problems that were maybe missed at the beginning,
but thankfully any mistake can be patched with a simple code replacement, unlike an
architectural problem that could cost a house to collapse if missing a major problem. So in
the previous paragraph maybe that is one of the examples that could emphasize the product
they make, which is patches/updates. Another thing that they can do is give extra features
that are typically offered by the consumer to make the product better over time. How
Office updates its products often so there is a better version over time and it makes sense
the amount you pay to have access to continuously updated software. Software engineering
has to do with utilizing the same principles of engineering but applying these principles
specifically to software development. Software engineering came about due to the low
quality of software that was being produced and the need to have better software that could
handle the demands and quality sought after as the development of the web continued to
gain momentum. Software engineering allows the enhancement and development of
software to increase its overall added use and ensure it is properly optimized based on the
task and or activity present. Some examples of software engineering projects could be a
security monitoring system or an Android task monitoring. Both of these are used to
correctly identify between regular activity versus intrusion or tasks that are needed to be
prioritized. This calls for the software engineer to make sure that the software meets these
requirements as well as ensure proper quality while designing and implementing. When it
comes to engineering the first thing that comes to mind is designing a product. Whether
this product is physical or digital, the premise is the same. There are differences in
physical and digital engineering that give each their own style and process. One of the first
differences between the two is resources. Conventional engineering requires that physical
resources be used. Things like metals, plastics, cloths and more. when dealing with
physical products you have to design them in a way that they use less materials when
creating them on a large scale. Engineers do not have a unlimited supply so they have to
design the products in a way the conserves the resources. This can translate to lower
quality but more quantity in products.Software engineering is not held back by the limit of
resources because multiple copies of the original product can be duplicated very easily.
This is possible because software does not require physical resources to be created, aside
from the computer your using. Because there is no resource restriction on the software the
engineer is able to focus solely on the quality of the product not the quantity. Software
engineering differs from conventional engineering because software is not a hard physical
thing. Software is not a physical object it is a set of instruction need to make the hared
ware preform a task. A conventional engineer only must think of the hardware, or the item
being built. They will be concerned with stability, longevity, integrity, and the construction
of the item being built. Whereas the software engineer must also consider not only the
same things the as the conventional engineer they also have to consider the way the users
will interact with the software the flow of data and the storage of the data. The software
engineer has emphasized quality by having a quality check along the way and debugging
the code as you go. There are normally an alpha test and the problems found there will be
fixed. Then in the beta test will check to see if the problems and taken care of and may
find more. I disagree that the conventional engineer dose not emphasize quality, but they
do put a lot in the production and building of the item. It is so important for an
organization to create great software products that are robust and scalable and meet the
stakeholders' needs. If a company does not produce quality products, it will be at a
competitive disadvantage. In addition, their customers will choose competitors' products
with higher quality to meet their needs instead of continuing to buy poor quality
products.The QA functions are also important and are required to be competitive. We use a
lot of automated testing, manual testing, content testing, and quality assurance testing in
your QA processes to ensure that our products are high quality. If we don't produce high-
quality products, our customers would leave us and purchase the software applications they
need from our competitors.
Another point to consider is the fact that the conventional engineering process is based on
empirical knowledge. This is one of the reasons why conventional engineering processes
tend to use waterfall development models. Because software engineering and design
projects are much less empirical; meaning that new problems are being solved which are
very unique, from project to project, software engineering and design processes are
becoming more agile in nature.
I run all of the development teams in the company that I work for. If a project is very
deterministic and empirical, I will tend to use more of a waterfall design and development
approach. If a project is not deterministic and empirical, I will tend to use more agile
design processes.
Knowing when to use the best-fit software engineering processes for a software
development and engineering project helps the organization to be more efficient and
effective in its development activities. I like the point that you make about engineers not
having an unlimited supply of resources. Costs and resources have to be planned into
projects and should be considered in determining project boundaries. Costs for resources
and processes can become very expensive and have to be balanced into the overall price of
the software applications that you are selling to the market. If software development costs
are out of control and too expensive, your company's software applications will be too
expensive and customers will not want to buy your company's products or services.
Software engineering is vital in today's standards for the applications we use on a daily
basis as the forever changing internet speeds and reliability along with security are always
key within the development of the software and optimization. Not only do we have to
consider the stakeholder's ability to understand and approve of such complex software but
the security aspect as well as upgradable implementation to change as the internet and its
threats become more complex is also a vital intricate part of software development. The
software engineering team has to look at these different aspects and factor in each part to
ensure it meets the requirements of the investors and company the software is made for.
Software engineering is important because specific software is needed in almost every
industry, in every business, and for every function. It becomes more important as time
goes on if something breaks within your application portfolio, a quick, efficient, and
effective fix needs to happen as soon as possible. Software engineers are well versed in the
software development process, though they typically need input from IT leader regarding
software requirements and what the end result needs to be. Regardless of formal education,
all software engineers should work within a specific set of best practices for software
engineering so that others can do some of this work at the same time. Software
engineering almost always includes a vast amount of teamwork. Designers, writers, coders,
testers, various team members, and the entire IT team need to understand the code.
Software engineers should understand how to work with several common computer
languages, including Visual Basic, Python, Java, C, and C++. With the software
engineering principle, their job as software engineers is to design, develop, maintain, test,
and evaluate the Software .Software engineering is not important in software development.
Students also viewed