The field uses a systematic approach to collect and analyze business requirements in order to design, build, and test software applications to satisfy those requirements.
It is the process to develop software as a product.
To Avoid the software crisis which been in mid-1960s
- Over budget
- behind schedule
- Unmanageable and buggy code.
Solved by CASE
which is Computer-aided software engineering, which are tools can be categorised into 6 categorise:
- Business Analysis and modling
- Development tools (Debugging environments)
- Verification and validation tools
- Configuration management
- Matrics and measurement
- Project management.
Software Engineer vs Software Developer
Software engineers are also developers, but the term software developer is usually deemed narrower in scope than that of a software engineer.
Software engineer knowledge is usually broader, he uses systematic development process to build entire systems whereas software developer use their knowledge to write code to implement specific functionality.
Software engineers responsibilities include writing and testing code, and consulting with stakeholders such as clients, third party software vendors, security specialists, and other team members.
Developer is narrower in scope than Software engineer.
Developer write code to implement specific functionality and solve specific problem.
Software engineer designing, building, and maintaining software systems.
- Writing and testing code.
- Consult with stakeholders, third party vendors, security specialists, and other team members.