Hello SIZ Family,
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
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 |
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 |
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.
Cc:
@siz-official
@cryptokraze
@steem.skillshare
@etainclub
@sergeyk
Please add lecture no in your post.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Done
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Good
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Ok
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Done. Check again
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@siz-official
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit