90 likes | 255 Views
Software Engineering (CSE-3513) Lecture-2. Instructor: Sazid Zaman Khan Lecturer, Department of Computer Science and Engineering, IIUC. Software Process.
E N D
Software Engineering (CSE-3513)Lecture-2 Instructor: SazidZaman Khan Lecturer, Department of Computer Science and Engineering, IIUC
Software Process • A software process is the set of activities and associated results that produce a software product. There are 4 fundamental process activities: • 1. Software specification • 2. Software development • 3. Software validation • 4. Software evolution
Software Process Model • A software process model is a simplified description of a software process that presents one view of that process.
Costs of Software Engineering • It depends on the process used and type of software being developed. For example, Real time software (a software that has strict time constraints) requires more extensive validation than web-based systems. • Each of the generic approaches to software development has a different profile of cost distribution which is shown in Figure-1.
Costs of Software Engineering • Suppose you have 100 cost units (it can be money/time, etc). waterfall Iterative Component based Long-time
Software Engineering methods • A software engineering method is a structured approach to software development which aims to produce high quality software in a cost effective way. • These methods attempt to identify functional components of a system. • There are different methods, but all aim to model the software system and it's components graphically.
Software Engineering method components • These methods include different components: • System model descriptors [what type of graphical technique is used to model the software components]. • Rules [which rules must be maintained with particular m]. • Recommendations[good design practices with the applied method]. • Process guidance[Description of activities which may be followed].
Professional and Ethical responsibility of a software engineer • Confidentiality. • Competence. • Intellectual Property Rights. • Computer misuse. • ACM/IEEE Joint task force have the following principles which software engineers are encouraged to follow:
ACM/IEEE Code of Ethics for Software Engineers • They should work for public interest. • They should work in the manner which is in the best interest of their employer and client. • They should make sure their software product have high standards. • Software engineers should be helpful and supportive to their colleagues. • They should participate in lifelong learning.