What is Software Engineering?

·

2 min read

Engineering discipline that concerned with every stage of software development and maintenance

What is a Software

A set of instructions to perform a specific task

Software Developer

A highly skilled professional with coding skills

Software Engineer

A highly skilled professional with coding skill mathematical skills

Software Engineering Activities

  • Specification

  • Development

  • Validation

  • Evolution

Types of software products

  • Generic

  • Bespoke

Software Engineering Diversity

  • Entertainment System

  • Transactional System

  • Simulations

  • Embedded Control System

  • Data collection system

Software Engineering team roles

  • FE/BE Engineer

  • QA Engineer

  • Tester

  • Tech Lead

Software Engineering Ethics

  • Confidentiality

  • Competency

  • Intellectual Property rights

  • Computer Misuse

  • Computer Science VS Software Engineering

  • Computer science is focusing on Theories and fundamentals.

  • SE is focusing on Practicalities

SDLC

SDLC is the process of Planning to implementation and operation.
It consists of documentation

  1. Planning Feasibility Study Areas
  • Technical

  • Operational

  • Legal

  • Schedule

  • Economical

  1. Gathering requirements

3.Design and Prototype

  • Architecture

  • UI

  • Programming

  • Platform

  • Communication

  • Security

4.Developing
5.Testing
6.Deployment
7.Maintainance and Operation

Uses of SDLC

Assure the quality of the product
Easy for developers to develop

Attributes of a Good Software

  • Maintainability

  • Efficiency

  • Acceptability

  • Dependability

  • Security

Types of requirements

  • Functional — It is required for the system’s function(They are must for operation)
    FaceBook

  • User login for the system(Authentication)

  • Adding posts

  • Commenting

  • Liking the post

  • Non Functional — It is not required directly, but it is required circulatory.

  • Allow users to use either mouse or keyboard

  • Allow user to change focus

  • Providing feedback

User requirements and System requirements

  • User Requirements — The requirements that users need, in natural language

  • Functional : Account create, Account Login

  • Non Functional : Dark Mode, Loading speed, Ads, Animation

  • System Requirements — The requirements that need for the system’s function

  • Functional : Login data secure, Should be able to register a customer

  • Non Functional : Ability to change the mode

Software Process Model

  • Set of related activities to the software development

  • V Model

  • Waterfall

  • Spiral

  • Prototype

  • Iteractive

  • Incremental

Process Maturity Approach

  • Agile Approach : Focus on iterative development and reduction of overhead

  • Process Maturity Approach : Focused on improving process and project management