What is a Software Engineering
28 Oct 2017This semester I’m taking a lecture about Software Enginnering. This is the first time learning how to ‘produce softtware efficently’ rather than ‘what is the software’ and ‘what is the computer hardware’.
What is a ‘software’?
Sortware is a computer program associated with documentation. Documentation may include manuals for clients, requiremet description for developers and etc. There are personal software and professional sofware.
a. personal software is a software for one’s needs, may be developed by few people.
b. professional sotware is a software for bussiness purpose, probably developed by teams.
Usually software engineering is about producing professional software.
What is a good software?
1. Requrement must satisfies clients needs
a. funcional : the functional needs for software b. non - funcional : may be the performace of the funcion.
2. Dependancy
a. reliablity : should be trustworthy
b. security : should have a restriction about the programs
c. satefy : should give the least damage (physically and financially) when the program is break down.
3. Maintenance
the structure and code should be clean and neat the implement over and over.
4. Efficiency
just like other feilds, efficiency by small resources(cpu, memory, drives) with large output is important
5. Acceptance
rather it matches with clients environment(may be platform, real data) or UI
One silly thing is that every computer language starts with what is a ‘software’ or ‘os’ but just after mid-term, the defintion is gone out of my brain.
What is a ‘software engineering’?
Software engineering is an engineering disipline for all aspects of software production. May be about theories, methods or tools. Software production could be failed when the project is out of budget or deadline, because of changed requirement or poor management. Software engineering is about how to manage and protect from failure.
* process
* Requrement
* reuse
* Dependancy