RG
What is a software and what is a good software? A software is a program on a computer which contains information and data. A good software is the one that fulfils the needs and hasn’t got bugs. Software vs Hardware. Software: not touchable, variable and implemented in order to achieve goals. Hardware: invariable SOFTWARE ETHICS: *Confidentiality à Not telling the others because they can copy. *Competence à To know what you’re doing. *Intellectual property rights à not steal others ideas because it’s not moral. *Computer misuse à don’t do things that you are not allowed to. *Stuxnet: virus that will destroy softwares and hardwares.*
SOFTWARE EVALUATION PROCESS: – Specification: What do I need?–Development: The programmer does it. – Validation: Does it work? – Improvement. HOW TO BUILD A SOFTWARE? – Plan driven modals: to plan a software. – Incremental development approach: to distribute it in small steps and check. – Agile development: best way, the programmers design (not BBA people)
CUSTOMER SOFTWARE DEVELOPMENT
It is adapted to our needs (not standard), we can avoid the unnecessary parts and ask for specific changes, exactly what needed and wanted. It is unique (patent).
vs. GENERIC CUSTOMER SYSTEMS: Standard software for many customers, cheaper, well documented, it gives less problems (fewer bugs) and its connectivity is compatible with everything.
A.WATERFALL MODEL: What waterfall model says is that we cannot pass to the next step/level when the last one isn’t accomplished. It never gets to the end; it is a very long process. If there is a problem, we have to go back and solve it.
* Problems: -Never linear – Feedback – Long process – Requirements can’t be changed because you have to start again – It takes a lot of time till customers get the product
B.V MODELà Same process like waterfall (not important)
C.SPIRAL MODEL à You start in the middle and go step by step. It gets expensive but the product gets better. Very theoretical and doesn’t make sense (useless).
DISCUSSION
1.1. Why is rapid delivery often more important to firms than detailed functionality?
Dilemma. Important things first rather than having the product quickly. Bonuses after!
For example, an airplane program needs to be correct first. If it is a Facebook App, I need to be the first in the market to publish it.
1.2. Why if the customer doesn’t know you’re programming in an agile way?
They don’t know that they have to take part of the process, but they have to be involved in it
DISCUSSION
2.1. Why do software requirement change during the process of development?
Changes, because of the new technology, the new markets and trends and the customer organisation changes.
2.2. Can prototypes be used by the customers until the software product is finished?
Yes, because it helps in the development with feedback and bugs checking
No, because some systems have to be tested but for some areas is impossible (airplanes)
DISCUSSION
3.1. Do you think that Artificial Intelligence and automatizations is a threat to normal employees?
A lot of jobs will be replaced by machines which are faster and do less mistakes.
3.2. Do you think that computers will be able to replace programmers?
Google has done it, we are just getting started.
* AGILE DEVELOPMENT 1. Every does what they want and do best. 2. You document the minimum. 3. Customer is a part of the process. 4. Open mindset to changes.
THE 12 ETHICAL DILEMMAS
1. How far to defend customers against data requests: If you collect data, it’s a safe bet that your organization will someday be caught between serving your customers and serving the government. There are no easy solutions. Some companies are choosing to leave business rather than lie to their customers. Others are trying to be more open about requests, which the government often tries to forbid. 2. How to deal with the international nature of the internet: The internet runs everywhere, avoiding many of the traditional barriers at the borders. Europe, for instance, has strict laws about retaining personal information and views privacy breaches as ethical failures. Other countries insist on companies keeping copious records on dealings. Keeping up with every legal contingency can be Herculean, leaving many organizations surely tempted to bury their heads in the sand. 3. How much monitoring is really warranted: Maybe your boss wants to make sure that customers aren’t ripping off the company. Maybe you want to make sure you get paid for your work. Maybe the gov. says to install a backdoor to catch bad guys. This backdoor will only be used to support truth and justice. But what if bad guys discover the hidden door and figure how to use it themselves? What if it’s used to support untruths and injustices? 4. How bulletproof should code really be? The users use the code and say it’s fast. Several months later, when enough data has been loaded into the system, the weaknesses appear and the code slows.