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
   14   15   16   17   18   19   20   21   22   23   24