[go: up one dir, main page]

0% found this document useful (0 votes)
51 views3 pages

Software Engineering Chapter 1 Notes

The key differences between generic and custom software development are that in generic development the specification is owned by the developer, while in custom development the specification is owned by the customer. This means that for users of generic software, developers control evolution of features and interfaces, which can impact user business processes and training costs.

Uploaded by

rj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views3 pages

Software Engineering Chapter 1 Notes

The key differences between generic and custom software development are that in generic development the specification is owned by the developer, while in custom development the specification is owned by the customer. This means that for users of generic software, developers control evolution of features and interfaces, which can impact user business processes and training costs.

Uploaded by

rj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Engineering Chapter 1 Notes:

Question:
What is the most important difference between generic software product development and
custom software development? What might this mean in practice for users of generic software
products?
ANS: Part 1
The essential difference is that in generic software product development, the specification is
owned by the product developer. For custom product development, the specification is owned
and controlled by the customer. The implications of this are significant – the developer can
quickly decide to change the specification in response to some external change (e.g., a competing
product) but, when the customer owns the specification, changes have to be negotiated between
the customer and the developer and may have contractual implications.
ANS: Part 2
For users of generic products, this means they have no control over the software specification so
cannot control the evolution of the product. The developer may decide to include/exclude
features and change the user interface. This could have implications for the user’s business
processes and add extra training costs when new versions of the system are installed. It also may
limit the customer’s flexibility to change their own business processes.
Question:
What are the four important attributes that all professional software should have? Suggest four
other attributes that may sometimes be significant.
ANS:
Four important attributes are maintainability, dependability, performance and usability. Other
attributes that may be significant could be reusability (can it be reused in other applications),
disreputability (can it be distributed over a network of processors), portability (can it operate on
multiple platforms e.g laptop and mobile platforms) and inter-operability (can it work with a wide
range of other software systems).
Decompositions of the 4 key attributes e.g. dependability decomposes to security, safety,
availability, etc. is also a valid answer to this question.
Question:
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).
ANS:
Problems and challenges for software engineering
There are many possible challenges that could be identified. These include:
1. Developing systems that are energy-efficient. This makes them more usable on low
power mobile devices and helps reduce the overall carbon footprint of IT equipment.
2. Developing validation techniques for simulation systems (which will be essential in
predicting the extent and planning for climate change).
3. Developing systems for multicultural use
4. Developing systems that can be adapted quickly to new business needs
5. Designing systems for outsourced development
6. Developing systems that are resistant to attack
7. Developing systems that can be adapted and configured by end-users
8. Finding ways of testing, validating and maintaining end-user developed systems
Question:
Briefly describe the three main types of threat that have to be considered when planning how to make a
software product secure against cyberattacks.

• Availability threats. These are threats that aim to make a system unavailable to users or to slow
down a system to such as extent that it is unusable.
• Integrity threats. These are threats that aim to damage the code of a system or the system’s
data.
• Confidentiality threats. These are threats that aim to steal confidential information that is
managed by a system.

Question: Describe, in your own words, each of the following seven quality attributes.
• Reliability - does the program behave as expected?
• Availability - is the program up and running?
• Security - does the program protect itself and user data?
• Resilience - can the program recover from failures quickly and without data loss?
• Responsiveness - does the program respond quickly to user requests?
• Usability - is the program easy to learn and use without making mistakes?
• Maintainability - can the program be easily understood and changed?
1. What are the essential attributes of good software?

2. What are the two fundamental types of software product?

3. What is software engineering?

4. What are the four fundamental activities in software processes?

5. Discuss what is meant by Corrective, Adaptive and Perfective maintenance.

6. What are the 4 general issues that affect many different types of software?

7. List 5 different types of software application.

8. What software engineering fundamentals apply to all types of software systems?

9. What are three key characteristics of the engineering of web-based software engineering?

You might also like