Helping Hands with Hearts!

Helping Hands with Hearts! - University of Colombo, Sri Lanka

Friday, July 24, 2015

8. Self



8.02. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time.



When developing a system Software engineers should have the capability to implement reliably, safety, useful and quality software. Also, the final outcome should be under reasonable time and cost. Reliability is the most important thing according to my view. If a system provides quality services and protect their sensitive data from outsiders, it is a reliable system. Because, the system should be always give the accurate information to the users. As developers, we keep that point in mind, because we have to transaction with confidential data of users.

As well as, this is a non-profit web application, so we have to minimize the overall cost. We hope to use Open Source software services to minimize the cost, by always focusing on the security. To keep safety, we use validation inputs and related unauthorized access prevents. Also, this is the reasonable time for this system, because there is no any system to gather needy students and donors who are willing to help to the university students.



8.03. Improve their ability to produce accurate, informative and well-written documentation.



After or when developing the system Software engineers produce accurate, informative, well written and standard documents to the users as well as administrators. So, we hope to provide Software Requirement Specifications, Software Development Specification, User Manuals, System Manuals, Test Documents and etc. 

7. Colleagues


7.01. Encourage Colleagues to adhere to this code.



When we develop a system as a team, our responsibility to adhere all the members follow the code of ethics to implement the system. If someone rejects to follow, we should encourage and clarify the benefits. As an example, when someone tries to get a statement without providing source, we can clarify him what are the bad situations after publishing that statement.

Not only for this project, can we follow this code of ethics in the future project work. Because, this code of ethics shows up guidelines how should we do a project as technical people as. By following these ethics, we can avoid unethical, cultural, technical, economical, and legal issues might happen. 


7.06. Assist colleagues in being fully aware of current standard work practices including policies and procedures for protecting passwords, files and other confidential information, and security measures in general.


Donors and needy students should have registered to the system. Because they need a Username and Password to login to the system. The system administrator controls these user accounts by adding, updating and deleting details. The student doesn’t need a password or username to log into the system. They can send their requests to the site with true details. Then the administrator confirms those needy student’s details are correct or wrong. If those are correct, we publish a case with an ID.

6. Profession



6.08. Take responsibility for detecting, correcting and reporting errors in software and associated documents on which they work.


According to 6.08 code of ethics, software engineers or developers should get the responsibility to detect, correct and report the errors when occur in the implementation phase and documenting and reporting those things.

As an example, when we do system testing to assure the quality of the system, we clearly mentioned those errors, how detected and detecting process. In the testing phase, we found so many errors in a database and content errors. We have done testing phase using manual testing. In the manual testing, we can document the error handling by creating test scenarios, procedures and test cases. We got the responsibility of all those errors and detected. We should consider about this not only in developing phase, after delivering the system we have the responsibility for error detection. 

5. Management



5.01. Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.


Developing a web application doesn’t give the meaning it can deliver all the functional requirements. It should have effective and efficiency, good quality, ease of use and manage and highly security conditions. This is the basic meaning of the 5.01 code of ethics.
When develop the website we should follow effective procedures, quality standards and risk reduction methods. It will give the advantages such as,

  • Avoid in illegal and unethical issues
  • Provide error free website and increase user satisfaction
  • Increase ease of use and user friendliness of the website
  • Therefore, high usage of the website because users come back to the website
  • Improve easy maintenance, therefore, reduce the maintenance cost
  • Reduce of faults, failures and the errors
  • We hope to conduct a better management and ensure the quality of the website while mitigating the risks and vulnerabilities. To avoid the risks we follow data validations, authentication and authorization and content management systems. 


We seek to keep a good relationship among related parties of UOC Helping Hands and disclose the conflicts if happen. 

4. Judgement


4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.


As software engineers we have to inform about if any conflicts happen. Normally, several parties engage in a project, also conflicts are happening.

The several parts of the UOC Helping Hand are Students, donors, public and the administrator, including university staff who manage the system. As an example, to keep needy students' data, we need a centralized database. If the database unable to keep all the information about students, it is a conflict. So the developers have a responsibility to prevent those conflicts and disclose to the concerned parties.  

We seek to keep a good relationship among related parties of UOC Helping Hands and disclose the conflicts if happen. 

3. Product



3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose



University of Colombo has not any system or criteria to help students who have difficulties such as illnesses, to get educational equipment, medical equipment, scholarships and etc. As well as exist donors in the past out batches of the UOC, our lectures, batch mates and related organizations who like to help such students.

In the present there is no any platform to meet university students who need help and who need donate. This website will be a good platform to meet and minimize gaps between such students and donors. ‘Helping Hands’ provide convenience to fulfill that need of the UOC. This is the primary goal and objective of the UOC Helping Hand.

As well as we have enough capabilities to achieve these goals and objectives through the system.



3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.




According to 3.03 code of ethics when we are doing a project we have to consider about ethical, economic, cultural, legal and environmental issues related to the project, as well as users.

At first, we identified what the issues might arise from the users when they use the web application. The main issue is the cultural differences. If we neglect and implement the project, we can’t never achieve our final outcomes properly. The University of Colombo consisted with many cultural students in Sri Lanka. Though the majority is Sinhalese, we shouldn’t use Sinhala as the Language. Because, it is very unfair for students who can’t read and understand Sinhala.

After implementing the system we have to share personal and sensitive information of the users. So we must protect this information from outsiders by using proper security conditions. So the system administrator should be highly technical, trustworthy, respectable person. He shouldn’t issue this information under any circumstances.

When consider legal issues, we should consider about fake people. Those people can provide backhanded information and get the donations. So we have to follow certain principles how we offer those donations. As an example, when a student needs a donation through our site, that student should certify his identity by the faculty dean or other respectable person. 


2. Client and Employer



2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.


We adhered 2.01 codes of ethic for our project. According to this ethic software engineer, developer or the team should clearly clarify about their competence, experiences and education limitations. Shouldn’t provide imitate knowledge and image for the users.

The client of the project is the University of Colombo, its faculties and other related academic institutions. The university consisted with various students and they may come up with various requirements. Sometimes non-technical students might use the system. So, if such student asked about something, we should be honestly accept their knowledge limitations and answer for solving their problems while showing our true competence. If we answer in a bad and unsatisfied way, users will reject us.

We have so many difficulties because of lack of experiences. Still, we are undergraduate students and don’t have fair competence about the industry knowledge. As a team we seek to use our knowledge and experiences in every possible way to provide a better, quality, highly trustworthy and use friendliness web application in every way as we can. 


2.03. Use the property of a client or employer only in ways properly authorized, and with the client’s or employer’s knowledge and consent.


As the software engineers, we should have proper knowledge about laws and regulations elated to our field. It has helped us to avoid the likelihood of the risks and vulnerabilities.


In UOC Helping Hands, we have to work with Needy students, donors and the public. They share their important, confidential and sensitive data and information with us. When we publish about the needs of a student or scholarship from a donor, we have a responsibility of the information we are seeking to publish. So we should know very well how we should use the property shared with us and what the ways that details properly authorized. We seek to get their confirmations before we publish their details and what are the limitations of that details we are going to publish. As well as we hope to host the web application belongs to the UOC without using any free or other services.


1. Public



1.01. Accept full responsibility for their own work

This is the very first code in the Code of ethics. The basic meaning of this code of ethic is software engineers, developers and the team should get the full responsibility for the whole wok they have done for a project or a product.


So we have to be responsible for everything we have done in this project. From UOC Helping Hands, we seek to connect the people who like to donate money or equipment to the students who have difficulties to do their higher studies. The main purpose of this project to facilitate for UOC students needs of financial problems, health problem and equipment needs for academic and related problems regarding education. In other hand, this platform meet up people or organization who are willing to help these students. This system provides students to publish their difficulties on Helping Hand website and donors can make donation. 


We have absolutely responsible about these two types of users. On the student side, we have got the responsible about their privacy. Because students are going to share their difficulties with us. Sometimes they will tell their problems to us even didn’t tell to their friends. So we are getting fully responsible for protecting their sensitive data from outsiders. By providing more security conditions, database protections and validations we hope to protect their trustworthy about us.

In the donor hand, they are going to share their financial statements with us. If happen some leakage, it will be affect their personal lives.

That’s why we should get the fully responsible about the users if any issue might occur during the web application usage. We guaranteed about the privacy and the security conditions. Because if an unethical thing occurs, it will be destruction our reputation and image. 


1.02. Moderate the interests of the software engineer, the employer, the client and the users with the public good


According to this code of conduct, the system developers should maintain moderate interest about the employers, users, the public and themselves.

UOC Helping Hands will cope with the students, donors and public to fulfill their requirements smoothly. As the developers if we fail to meet requirements and cope with the code, it will be very consequences. If we do some harmful thing such as personal information leakages or any privacy issues will cause to harmful conditions. So when we publish something we should consider about users, the content we seek to post and those things complies with the good of the public. So the system will be provide capability to rate to the users and public. Through this we seek to maintain the professionalism of the site while providing user requirements.

When a student or donor publish their needs or donations, the system administrator get the full responsible about it and review the veracity before publish it. If a student or donor wants to hide their personal information from the public or other users, we responsible to protect their requirements.  In every hand, we hope to provide a user friendly environment to the users by avoiding unauthorized actions. 


1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software. 


According to this code of conduct when we are developing the system we should concern about physical disabilities of the users, whether they have enough resources to connect to the system, about economic disadvantages, benefits of the system and other related factors.

When we were gathering the requirements, we consider about the student and donors have enough capabilities. The University of Colombo has provided more computer laboratory facilities to their students. As well as, each and every degree program consist with even fundamental of information technology. So, the students can connect to the system by using those facilities.

UOC Helping Hand is a non- profit web application. We are doing this project as a charity effort. Therefore, users haven’t any economic disadvantages here. On the development side, we use open source application for implementing the system.

UOC Helping Hands web application provides benefits to the users as this. To the needy students, the system will provide donors who willing to help them. To the donors, provide a platform to participate to the donations.

||About UOC Helping Hands||Link to companions' Blogs||




According to Professional Practice project, we should find about a problem in the society and its solution. As the requirement, we considered about the problem in the society and we found out that there is a problem among the students in the University Of Colombo (UOC). A considerable percentage of students face financial and other difficulties at their higher education. Also individuals, organizations, companies are willing to help those students by giving donations and scholarships. So, we are seeking to provide a common platform to meet up those students and the donors.



This uochelpinghands.blogspot.com related to above project and discussed here how the project adhere to the Code of Ethics and Processional Practice in order to be more professionalism.


This project consist of three members including me.

DMSS Gunaratne|2012IS025| (Me)
SPMS Weerasinghe|2012IS025|
WFSV Sovis|2012IS085|

Project Advisor: Dr. Rasika Dayarathne

UOC Helping Hands Project - 2015


Adhered with the Code of Ethics


What is Code of Ethics?



A code of ethics document may outline the mission and values of the business or organization, how professionals are supposed to approach problems, the ethical principles based on the organization's core values and the standards to which the professional will be held. (Source: www.ivestopedia.com) 




Software Engineering Code of Ethics and Professional Practice 
Short Version


Preamble
The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code.
Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.


Reference from:
Software Engineering Code of Ethics and Professional Practice as recommended by the ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices and jointly approved by the ACM and the IEEE-CS as the standard for teaching and practicing software engineering (Online)Available at: cetlblog.ucdavis.edu [Accessed 15th June 2015]