Chapter 1 EX
Chapter 1 EX
Explain why professional software is not just the programs that are
developed for a customer.
Software Engineering requires the compilation of documentation, support
websites, design, evolution, ... etc to make the software system complete.
Software is a continuous process , it is not just a coding.
Apart from the challenges of heterogeneity, business and social change, and
trust and security, identify other problems and challenges that software
engineering is likely to face in the 21st century (Hint: think about the
environment).
Energy-efficient: system must be resources-friendl
systems for multicultural use
must be self-defending from attaks
adapt with the new tech. and huge growth in user numbers
Based on your own knowledge of some of the application types discussed
in section 1.1.2, explain, with examples, why different application types
require specialized software engineering techniques to support their
design and development.
Because it is targeting different kind of users
its base construction are different
Costs and frequency of change
Different systems have different priorities for non-functional requirements
real-time systems sfaty is number one priorty
games : graphics is the main target .
The software lifetime and delivery schedule.
Explain how the universal use of the Web has changed software systems
because web made software distribution fast and wide all over the world , that led
to strong demand to much more complex functional softwares . And nowadays we
had to0 many web-based application and services can replace our offline
softwares , actuallly it beacame mush more larger that they built a complete
software that depends on web-based technologies
Public - Do not develop systems designed to harm the public, such as making a
program that acts as mal-ware.
Client and Employer - Develop systems that meet client and employer specifications
such as meeting specifications while maintaining security and performance.
Management - Not only should you hold yourself to a code of ethics, but encourage
others to do so as well, such as in an office with potentially unethical business
practices.
Colleagues - Do not belittle colleagues who have failed or are having trouble, and
instead help or give advice and support, even if in direct competition.
Self - Continue to learn about new software engineering techniques and encourage
others to be ethical in their approach to software engineering, as opposed to refusing
to use new techniques and sitting idly by whilst others do unethical actions without
being encouraged to be ethical.