SIZ APPROVED COURSE - SOFTWARE ENGINEERING | LECTURE 01 || 20% payout to @siz-official

in hive-181430 •  3 years ago  (edited)

20211105_080817.png

Hello SIZ Family,

Good day everyone and welcome to my blog. Today, am gonna teach you what Software Engineering is all about. Computer Science students should know what this field is all about. If you're a Computer Science Student and you're reading content, make sure you read it to the end!

I concur to the innovation of #club5050 as I powered 100% of my total earnings this week. And I promise to continue powering up for the growth of steemit community and it's members and also for the value of steem Cryptocurrency to appreciate in the Marketplace.

INTRODUCTION

Software is evolving day by day. Our need to solve problems with software increases day by day. There's a need to follow a software process to achieve a final product that solves our real-world problem. So this is the essence of this course. But before we move forward to Explain what Software Engineering is all about, let's first of all define what a Software is.



What is a Software?

Software should be considered as more than a computer program. It includes documentation associated with development and the user documentation. Therefore, A Software is a large program associated with documentation. Some characteristics of software include:

  • Software is developed or engineered, it is not manufactured in the classical sense.
  • Software doesn't "wear out".
  • Most software is "custom built" rather than assembled from existing components
  • Computer programs and associated documentation
  • Software products may be developed for a particular customer or may be developed for a general market
  • Software products may be
    — Generic(i.e. developed to be sold to a range of different customers) or
    — Bespoke(custom; developed for a single customer according to their specification).

The Software Product

It is a product designated for delivery to the user.

Who creates Software?

  • Software Engineers

Why is software important?

  • It affects nearly every aspect of life

How is Software Built?

  • By applying a structured process

What are the Work Products?

  • programs
  • documents
  • data

images (3) (1).pngImage source



Differences between a Program and a Software

PROGRAM SOFTWARE
Usually small in size Large
Author himself is sole user Large number of users
Single developer Team of developers
Lacks proper user interface Well-designed Interface
Lacks proper documentation Well documented & user manual prepared
Ad hoc development Systematic development

images (3) (2).pngimage source



images (2) (20).jpeg
image source



The Nature of Software

Software is intangible

  • Hard to understand development effort

Software is easy to reproduce

  • Cost is in it's development stage

The industry is labor-intensive

  • Hard to automate

Software is easy to modify

  • People make changes without fully understanding it

Software does not 'wear out'

  • It deteriorates by having it's design changed:
    — erroneously, or
    — in ways that were not anticipated, thus making it complex.


SOFTWARE ENGINEERING

Software engineering is an important discipline of study and is becoming more relevant and more talked about with every passing and has far-reaching impact on contemporary society. Software Engineering is becoming an established discipline, separate from computer science and computer engineering.
According to different authors, They defined software engineering in their own separate view. These varying definitions and attributes include:

"Software Engineering is concerned with software systems developed by teams rather than individual programmers, uses engineering principles in the development of these systems, and is made up of both technical and non-technical aspects."
Somerville

"Software Engineering is a discipline that integrates methods, tools and procedures for the development of computer software."
Pressman

"Software Engineering is an emerging discipline that focuses on the creation, development, operation and maintenance of cost-effective, reliably correct, and high quality solutions to software problems."
Berry

"The systematic approach to the development, operation, maintenance, and retirement of software"
IEEE

"Software Engineering is the establishment and use of sound engineering principles and good management practice, and the evolution of applicable tools and methods, and their use as appropriate, in order to obtain- within known but adequate resource limitations- software that is of high quality in an explicitly defined sense."
Marco



SOFTWARE ENGINEERING VS SOFTWARE PROGRAMMING

Software Engineering is not just a fancy name for Programming.

Software Engineering is not Programming

PROGRAMMING ENGINEERING
Small project Huge project
Author himself is sole user Large number of users
Single developer Team of developers
Build what you want Build what they want
Lacks proper user interface Well-designed Interface
Lacks proper documentation Well documented & user manual prepared
Ad hoc development Systematic development
short-lived Long-lived
Cheap Costly
Fig. Programming vs Engineering


What Is a well Engineered Software?

Simple definition: If the software system does what the user wants it's well engineered.
More better: If the software system does what the user wants, it is well engineered.

Development of software must include the requirements for the development to be done in a cost effective way, to be constrained by limits on resources and schedule.

In addition, any software product will be subject to continual change and must be able to be "maintained" in a cost effective way.



CONCLUSION

Software Engineering is a discipline that facilitates the development of Generic softwares(i.e. software developed for commercial use). And we have seen that Software Engineering is not software Programming. The distinctions between them is very clear.



Thanks for reading till the end. I believe you have learnt something new today! Please if you have any question, feel free to drop it in the comment section below. Thanks and God bless you!!!



Cc:
@siz-official
@cryptokraze
@steem.skillshare
@etainclub
@sergeyk

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Please add lecture no in your post.

Done

Good

Ok

Done. Check again