Things you need to know when you start in Software Engineering
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