Things you need to know when you start in Software Engineering

Chandima Jayamina
4 min readMay 28, 2024

--

Responsibilities of Software Engineer

Software Engineers develop system while software developers implement specific functionalities

Advantages of SDLC

Phases of SDLC

Phase 1 : Planning

Prioritising requirements can be done

  • Must have
  • Highly desired
  • Nice to have

Phase 2 : Design

Phase 3 : Development

Phase 4 : Testing

Phase 5 : Deployment

===============================================================

Software Requirment Specification

SRS : Requirments

  • Functional : Functions of the software
  • External : Users and interactions with other hardware or software
  • System features : Functions of the system
  • Non-function : Performance , safety, security, quality

User Requirement Specification

System Requirement Specification

Software Development Methodologies

Sequential Methodologies

Iterative Methodologies

Software versions

Software Testing

In the software testing phase team intergrate quality checks through SDLC. It ensure software meets requirments and its error -free.

Non-functional testing should answer questions like the following:

  • How does the application behave under stress?
  • What happens when many users log in at the same time?
  • Are the instructions in documents and user manuals consistent with the application’s behavior?
  • Does the application behave similarly under different operating systems?
  • How does the application handle disaster recovery?
  • How secure is the application?

Testing levels

  • Unit testing
  • Intergration testing
  • System testing
  • Acceptance testing

Software Documentation

Software documentation can be on

  • Written assests
  • Video assests
  • Graphical assests

Documentation can be on product or process

  • Product Documentation — Relates to product functionality
  • Process Documentation — Describes how to complete task

Standard operation procedures

  • Step by step instructions on how to accomplish task
  • Organizational specific instructions eg: how to merge code to main branch
  • This can be Flowcharts, Hierachical diagrams, Step by step instruction

Thanks for IBM — Introduction to Software Engineering

--

--

Chandima Jayamina
Chandima Jayamina

Written by Chandima Jayamina

Aspiring Data Scientist with a DevOps background. Exploring machine learning, data analysis, and predictive modeling. Sharing my journey in tech.

No responses yet