LogoLogo

Software Engineering [Part 1] - Introduction

Prasun Das| July 15, 2022 at 8:20 PM | 3 minutes Read

Software Engineering is a subject that requires when you are a software developer as well as when you are in your college preparing for a semester or placement. So we can say it is one of the most important subjects to deal with.

 

In this series of tutorials, we are going to cover:

· Introduction to Software Engineering

· Software Development lifecycle and software process (waterfall, spiral, agile, etc.)

· Software process activities

 

 

This is a series of articles inspired by Software Engineering, 9th edition

 

 

The world cannot function without software. Financial systems, research labs, infrastructure and utilities, games, film, television, and so on are all managed by software systems.

“So, what’s software anyway?” …

 

 

What is Software?


A computer programme set of instructions, data, or programmes used to run computers and perform certain activities is known as software. It is the inverse of hardware, which describes a computer's physical components. Software is a catch-all phrase for apps, scripts, and programmes that execute on a device. It is the variable part of a computer, whereas the hardware is the invariable part.


A program is a set of instructions that perform a specific task.




What is a Successful Software System?


Good software should provide the essential functions.

Another set of attributes, known as quality or non-functional, should also be provided. Examples of these characteristics include the software's ability to be adaptable to changes, response speed, performance (less use of resources such as memory and processing time), usability; suitable for the sort of user for whom it was designed, reliability, security, safety,...etc.




What is Software Engineering ?


Software engineering is an engineering subject that applies to the software development process, often known as a software process.


Formal Definition:

Software engineering is a discipline of engineering concerned with the creation of software products based on well-defined scientific concepts, methodologies, and procedures. Software engineering produces an effective and dependable software output.


Software project management encompasses more than just the software engineering process because it includes communication, pre- and post-delivery support, and so on.


Not applying software engineering methods results in more expensive, less reliable software, and it can be vital in the long term, as the changes come in, the costs will dramatically increase.


Different software engineering methods and techniques are suited for different sorts of systems. For example, games should be developed through a series of prototypes, whereas important control systems require the development of a complete analyzable specification.

 


Software Engineering Vs Computer Science 


Software Engineering is a part of Computer Science. We can say Computer science focus on the theory and fundamentals, like algorithms, programming languages, theories of computing, artificial intelligence, and hardware design while software engineering focus on a narrower topic such as developing and managing software, creating a system architecture and all


Software Engineers


Formal definition:- 

A software engineer designs and develops computer software using mathematical analysis and computer science ideas. Software engineers are in great demand, and developers in high-demand sectors frequently receive numerous queries from recruiters and headhunters each month.


A software developer is someone who works with software and the development process and is accountable for project completion on schedule.

A software engineer's job is demanding. It must strike a balance between the various people involved, such as:


· Dealing with users: Users are unsure what to expect from the app. The problem is always about usability and response time.


· Dealing with technical people: Developers are more technically inclined, thus they consider database terminologies, functionality, and so on.


· Dealing with management: They are concerned about getting a good return on their investment and staying on schedule..

 

Following an engineering approach with a well-defined methodology is critical for success in large software development. That's what we'll look at next in "Software Processes."


Reference:



#computer fundamentals#software-engineering#last minute notes#fundamentals to learn
View Count:3.0k
12

Comments

Similar Articles

Busting myths about web3

WHAT IS WEB3?Web3 is the catch-all term for the vision of an upgraded version of the internet aimed at giving power back to the users. It is truly the......

Cover image

Operating System INTERVIEW QUESTIONS

Operating Systems is one of the core subjects for a computer science student. As such a lot of important questions are asked on this subject in interv......

Cover image

Cloud Computing Cheatsheet

Getting started with cloud computing ?The words "cloud" and "web" will be interchangeable. What kind of business operates today without the internet? ...

Cover image

Software Engineering — SOFTWARE MAINTENANCE [Part-4]

SOFTWARE MAINTENANCE:Software Maintenance can be defined as the process of modifying a software product after its delivery. The main purpose of softwa...

Cover image

Software Engineering — Software Process Activities [Part - 3]

A quick summary upto what we did this far  from this series:Software EngineeringSoftware engineering is a discipline of engineering concerned wit...

Cover image

Understanding Time Complexity with Interview Examples

Introduction:Understanding time complexity of a function is imperative for every programmer to execute a program in the most efficient manner. Time co...

Cover image

Software Engineering — Software Development lifecycle and software process(Part 2)

 Software MethodologyA software methodology (which is also known as software process) is a set of related development Phases that leads to the pr...

Cover image

SQL Interview Questions

Are you getting ready for your SQL developer job interview?You've come to the correct place.This tutorial will assist you in brushing up on your SQL s...

Cover image

SQL CHEATSHEET

Introduction: What is SQL?To understand SQL, we must first understand databases and database management systems (DBMS).Data is essentially a collectio...

Cover image

Computer Networking Cheatsheet (Last Minute Notes)

 Networking: Importance in real life!Using a computer for work, as well as for personal use, ha...

Cover image

Last Minute Preparation Cheat Sheet for Quantitative Aptitude

FORMULA LIST:ALGEBRA :1.Sum of first n natural numbers = n(n+1)/22.Sum of the squares of first n nat...

Cover image

Database Management System Last Minute Notes [Part - 2]

ER-DiagramWhat are ER Models ?An Entity Relationship Diagram (ERD) is a visual representation of dif...

Cover image

Database Management System Last Minute Notes [Part - 1]

What is actually DBMS?A Database Management System (DBMS) is system software used to manage the orga...

Cover image

C Cheatsheet

C CHEATSHEETINTRODUCTION:C programming language was developed by Dennis Ritchie of Bell Labs in 1972...

Cover image

C Interview Questions — 2022

C is a general purpose high-level language most popular amongst coders, it is the most compatible, e...

Cover image

C++ STL Cheat Sheet

C++ programming language has templates which basically allows functions and classes to work with gen...

Cover image

C++ CHEAT SHEET

C++ was conceived in the late 1970s to overcome the limitations of C. It  is an extension of th...

Cover image

Python [Advanced] Interview Questions — 2022

Interview Questions are a great source to test your knowledge about any specific field. But remember...

Cover image

Basic Python [Core] Interview Questions for Freshers and Short Sample Answers — 2022

The most popular high-level, multipurpose programming language right now is Python.Python supports p...

Cover image

Python Cheat Sheet - Learn the basics of Python

IntroductionPython is a high-level programming language with dynamic binding and high-level inherent...

Cover image

Basic Java Interview Questions for Freshers and Short Sample Answers — 2022

Interview Questions are a great source to test your knowledge about any specific field. But remember...

Cover image

Java OOP Cheat Sheet — A Quick Guide to Object-Oriented Programming in Java

Object-Oriented Programming or better known as OOPs is one of the major pillars of Java that has lev...

Cover image

Learn Java: Basics to Advanced Concepts [Java Cheatsheet]

Java is a high-level programming language known for its robustness, object-oriented nature, enhanced...

Cover image