Page 19 - DCAP405_SOFTWARE_ENGINEERING
P. 19
Software Engineering
Notes 1.5.3 Software Engineering Methods
Structured approaches to software development which include system models, notations, rules,
design advice and process guidance.
Model descriptions - Descriptions of graphical models, which should be produced
Rules - Constraints applied to system models
Recommendations - Advice on good design practice
Process guidance - What activities to follow
CASE (Computer-Aided Software Engineering)
Software systems which are intended to provide automated support for software process activities.
CASE systems are often used for method support:
Upper-CASE
Tools to support the early process activities of requirements and design.
Lower-CASE
Tools to support later activities such as programming, debugging and testing.
Attributes of Good Software
The software should deliver the required functionality and performance to the user and should
be maintainable, dependable and usable.
Maintainability: Software must evolve to meet changing needs.
Dependability: Software must be trustworthy.
Efficiency: Software should not make wasteful use of system resources.
Usability: Software must be usable by the users for which it was designed.
1.5.4 Key Challenges facing Software Engineering
Coping with legacy systems, coping with increasing diversity and coping with demands for
reduced delivery times:
Legacy systems: Old, valuable systems must be maintained and updated
Heterogeneity: Systems are distributed and include a mix of hardware and software
Delivery: There is increasing pressure for faster delivery of software.
Professional and Ethical Responsibility
Software engineering involves wider responsibilities than simply the application of
technical skills.
Software engineers must behave in an honest and ethically responsible way if they are to
be respected as professionals.
Ethical behavior is more than simply upholding the law.
12 LOVELY PROFESSIONAL UNIVERSITY