Lec 1
Lec 1
(vthnhan@vnu.edu.vn)
Case studies
An introduction to three examples that are used in later lectures
We’re also creating the documents and the other information we need to use
over a period of time
Customer software for particular customer, which is build exactly based on the
customer’s specification
not just coding but everything from understanding what the user
needs to maintaining that software over the lifetime
Software development
Software validation
Software evolution
and it happens that sometimes the theory and the practice don’t
exactly match
focuse only on the software, but obviously it’s closely associated and
integrated with the SE process
If we’re building a critical system in an aircraft , it’s gonna cost an awful lot
per line of code than we’re building an app that’s offered for free in Android
store or itunes
Roughly 60% of software costs are development costs, 40% are testing
costs (updating as things change so the software remains useful for the
buyer of that software )
Therefore you cannot say that one method is better than another
Fundamentally the difference the web has made is that has allowed us to
develop and deliver software in a new way
We can deliver software services rather than systems that are installed
on a user’s own computer
Because of the demands of the web and the need to build highly
distributed systems, this has led to the advances in SE
Customized products
Software that is commissioned by a specific customer to meet their own needs
Customized products
The specification of what the software should do is owned by the customer
Acceptability Software must be acceptable to the type of users for which it is designed.
This means that it must be understandable, usable, and compatible with
others systems that they use
Engineering discipline
Heterogeneity
They need to be able to change their existing software and to rapidly develop
new software
Scale
Entertainment systems
These are systems that are primarily for
personal use and which are intended to
entertain the user
Where appropriate, you should reuse software that has already been
developed rather than rewriting new software
them (the same way they are applied to other types of system)
When building these systems, you think about how you can assemble them
from pre-existing software components & systems
It’s now generally recognized that it’s impractical to specify all the
requirements for such systems in advance
Rich interfaces
Ethical behavior is more than simply upholding the law but involves
following a set of principles that are morally correct
They shouldn’t knowingly accept work which is out with their competence
Computer misuse
Software engineers shouldn’t use their technical skills to misuse other people’s
computers
The system shall perform reliably and deliver the correct amount of
insulin to counteract the current level of blood sugar
To make it easier for patients to attend, these clinics are not just run in
hospitals
they may be held in local medical practices or community centers
so that it may be accessed and used from sites that don’t have secure network
connectivity
When the local systems have secure network access, they use patient
information in the database,
they can download and use copies of patient records when they are
disconnected
The system supports data summaries so that doctors can quickly learn about
their key problems and treatments that have been prescribed
Patient monitoring
The system monitors the records of patients that are involved in treatment
and issues warnings if possible problems are detected
Safety
Some mental illness cause patients to become suicidal or a danger to other
people
Whenever possible, the system should warn medical staff about potentially
suicidal or dangerous patients
The system must be available when needed, otherwise patient safety may
be compromised and it may be impossible to prescribe the correct medication
to patients
plus a set of applications that are geared to the needs to the learners using the
system
Information can only be shared with other services through explicit user
actions such as copy and paste;