Siz Education|| DISTINGUISHING SOFTWARE ENGINEERING FROM SOFTWARE DEVELOPMENT|| 10% payout to Siz-official by @christnenye

in Steem Infinity Zone2 years ago (edited)
Hello steem infinity zone!

Welcome back to my blog, most times software engineering and software development tends to be difficult to understand the disparity between them but which I will be writing on in this blog.

I also concur to the great innovation of #club5050 which motive is to help build both individual and community account based on that, I have powered up half of my earning from last week and will be powering up 100% of my earning on this post added to writing a post to show evidence with screenshots.
pics

Before diving into distinguishing software engineering from software development. There is need to define some terms so that the differences will be clearly understood.

WHAT THEN IS SOFTWARE ENGINEERING?

Screenshot_20211102-114113_1.jpg
source

Software engineering is the process of analysing user requirement and then designing, building and testing software application which will satisfy those requirement. Software component comprises of functions, sub-routine, class libraries, methods, data structure and configuration documents.

Sometimes Software engineering is not "engineering" as viewed in other engineering fields because

  1. Software engineering are interested in economical viable techniques.
  2. Software is developed the way engineer turn processes to products although not engineering of manufacturing process, both activities require the construction of a product using different approaches.
  3. Software is not affected by environmental sorches that causes hardware to wear out ( hardware are made of metals which sometimes get rusted)
  4. Software products components do not have spare parts as to hardware components.

Members found in software Engineering team

  • Software Engineering team:
    They are a small number of people with complementary skills who are committed to a common purpose, performs goals and approach for which they hold themselves mutually accountable.

  • Software engineer:
    Software engineer is responsible for the whole software. However, software engineer is a person who applies the principle of software engineering to design, develop, maintain, and test the computer software
    He also, performs the functions of research and writing new software programs.

  • Quality Assurance manager:
    Quality assurance manager is the "right-hand" for the project manager and his/her representative. Also, the quality assurance manager is a responsible for achieving necessary levels of quality by ensuring that project task are been conducted according to the official development methods.

  • Analysis and design team:
    Analyst and design team consist of senior developers, analysis specialist and design specialists.They are responsible for the technical aspect of the software which will be used by the development team to develop the software.

  • Development team:
    It is responsible for the software implementation ( coding) according to the requirement and technical design from the analysis and design team. Software development team are responsible for integrating all developed components into a functional entity. They are also responsible for internal, highly technical documentation such as interface specification, developers manuals band documents.

  • Documentation Team:
    It is responsible for the creation of all necessary documents that must be delivered together with the final product(software).

  • Test team:
    They are responsible for the creation of test specification ( writing out what should be tested and checking how robust the software or project is ), execution of all necessary test cases and, incase of detected errors, report to the development team with appropriate error description.

  • Configuration Management team:
    This team is responsible for maintaining configuration.


WHAT THEN IS SOFTWARE DEVELOPMENT

Screenshot_20211102-115749_1.jpg
Source

Software development is the process of analysing user requirement, designing, programming, documenting, testing, and debugging, maintaining and creating robust software components.

Software development involves creating the entire development process for a software program this begins by

  1. Asking the user requirement for the software.
  2. Identify the function point that users need from software programs.
  3. Using the user requirement to estimate the lines of codes required for the software.
  4. Determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs.
  5. Design the program and then give instructions to programmers, who uses the Function point and the estimated lines of code to write computer code and test it.

Members found in the Software Development team

  • Software owner:
    The owner states the requirements and identify the goals for the team. The requirement are clearly stated and are documented to be used by the Software architect and developers

  • Software architect:
    He/she is a highly-skilled software developer that has to think through all the aspects of the software. He/she uses the requirement to estimate the lines of code and calculate the function points required for the software.

  • Developers:
    This team involves the front-end developer and back-end developer.

Front-end developer:A front end developer is responsible for easy interaction between the user and the software. This is achieved through the combination of design, technology and programming to code a software's appearance, as well as taking care of debugging.

Back-end developer: A backend developer uses backend Programming Languages, knowledge of popular framework and
data structures and algorithms to develop a software.

Experience designers:
This team ensure that the software follows design principles that is easy to learn, the user interface is easy to memorize, that the software is effective to use, the software is efficient, and lastly, that the software is utilized by the user.

Quality assurance:
This team ensures quality in parallel on all the software development team.

Business Analysts:
Software must be developed to have an additional requirement or improvement ( evolving or new version of the software)
The Analysts here plays the role is to uncover the ways to improve the software.

The above is just to clearly define some terms in software engineering and software development.

NOW, DISTINGUISHING SOFTWARE ENGINEERING FROM SOFTWARE DEVELOPMENT

Software engineeringsoftware development
Software engineering refers to the application of engineering principle to create softwareSoftware Development are responsible for the entire development process.
Software engineering only connects the user requirement with applicable technology solutionssoftware development uses the user requirement to create the theoretical design
software engineers may be involved with software developmentfew software developer are engineers
Software engineering are interested in only economical workable techniques.software developer are the driving creative forces behind programs

Conclusion
The difference between software engineering and software development is software engineer uses principles of software engineering to create software that is they are based on the Technology solutions while Developers gives the theoretical design by using user requirement to implement that is coding in the Development phase.


Cc
@Siz-official
@etainclub
@bright-obias

Sort:  
 2 years ago 

I think this is not a tutorial post because in which tutorials you guide step by step.
And this is a educational post.
Thank you so much.

Regards, Faran Nabeel

Thanks

 2 years ago 

Congratulations you have been selected in the best picks of 3rd nevember.

#club5050

Thank you.

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 64038.60
ETH 3148.89
USDT 1.00
SBD 3.97