Friday, July 17, 2015

Well Written Documnet

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


Documentation is an important part in an web development project. Because it will help clients and team members to get information about   how project is going on and evaluate the work , detect errors and useful for future similar projects . so it is important to developers to use accurate , informative and well written documentation.

The developers always need to use true and accurate information. Because all the decisions are taking about project based on the information provided by developers. if project is deviating from its target the information help to keep project back on target. so it is important that  the accuracy of documentation.

Provide informative documentation is also a important part.  Clients can read these documentation and get some understanding about how the project is carried out and it helps clients to change some feature if they want. This helps  developers  to easily  identify  if  a occurs and to make solutions for that without conceding many time.

Well written documentation is also an important part. by using well written documentation it can be used for future similar  web development projects for schools. As the errors occurred in this project can be mitigated in future projects. This helps to reduce costs and time.
So due to these reasons it is important for software developer to improve their ability to  produce accurate, informative, and well-written documentation

Correcting Errors

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



As the persons entirely responsible for the ultimate software product or site, it’s the software engineer’s duty to detect, correct and report errors in it or any document we write which is related to it. Since our Journal entirely consists of documentation written by numerous persons, the responsibility of assuring they are in order and consist of no errors falls upon the shoulders of our group members. This is one task we paid attention to immensely.

When conducting the project there  were some errors occurred due to quick implementation of the project. But in the testing part we detect those  errors and able to correct them. As result of we were doing unit testing ,  alpha testing , beta testing  we  were able to identify these errors before the software is delivered to the clients.

From the starting of the project we kept out up to date records of the project . so after detecting the errors it will easy for us to find where the actual error happens. By looking at them we able to  correct those errors kept the project in right track . This will help to save our time and costs.After correcting these errors we  recorded them too. because in  future when we are conducting  a similar projects we can consider more attention on the errors happened areas.  This will help us to conduct  future projects  more efficient and effective way.

Not only that, If user get error or some matter to do there works immediately user can report it. It’s out responsibility to correct it.

Credit The Work

7.03. Credit fully the work of others and refrain from taking undue credit.



It is a vital fact that the software engineers and web developers shall give full credit to work of others and refrain from taking undue credit for work which they are not creditable. Although it is also unprofessional to take credit for other’s work, the code of conduct states that it is highly unethical more than unprofessional to undertake that kind of actions.

This code can be broken into several scenarios under how the work of others has to be credited. The possible scenarios are,

• Grant credit to each team member for their own work.

• Grant credit to information which we derived from websites, articles or books and etc.

• Grant credit to those who assist the team by providing information, knowledge as well as technical support.

First and foremost the team conceded to credit every member for their own work regarding the redesign and development of the web application. The three members carried out different areas of development together. One member carried out the designing part, another the analyzing and data collecting part and next member most of the coding part. Apart from that all three members placed their contribution on finalizing the product. The credit to each and every function the members executed had been given consequently. No member tried to take credit on others work or abstained others from having credit to their own work.

We as university undergraduates accept that there are limitations to our knowledge. Therefore we took support from our superiors as well as our own colleagues in developing the functionalities required. We do not hesitate to give full credit to their support and the knowledge given.

Our team did not refer any books to obtain information mentioned in the site. But we went through several articles on few websites to clarify the accuracy of the information we possessed. We would not hesitate to grant necessary credit for those articles and websites for those information we got.

Understand Specifications

3.07. Strive to fully understand the specifications for software on which they work.



As it is conveyed in the code of conduct, software engineers should endeavor to understand the specifications of the software that they are currently working on or they are going to develop in the future. It is very important that they completely understand the requirements given by the client to reach the expected results. If failed to identify the specifications completely it would eventually lead to several unfavorable effects such as wrong outputs from functions, inappropriate designs, unsatisfied clients and users and etc. Therefore the complete understanding of specifications is considered essential with regard to developing of the software.
Pertaining to our web application, we are responsible for what we understand from the specification and what we develop accordingly. Hence we put our maximum effort to comprehend the specifications of the application and its domain. In order to do so our team had several meetings with the client in every stage of the development. In our meetings the discussions took place on clarifying the problems arose and to make sure that the client is well aware of our work and its progress. The client viewed the work and placed his comments and suggestions with regard to the functionalities as well as design of the application. Those suggestions and comments were taken into consideration for improving the site further.
Apart from those meetings, we had team meetings on every week in order to discuss the issues each member had and those were also supportive in understanding the specifications clearly. It was not necessary to use requirement gathering techniques such as questionnaires or interviews as the specifications were clear and well understood after several meetings with the client. To gain a better understanding on how to implement several functionalities our team studied and researched websites with similar functionalities and went through some tutorials wish provide us a great benefit.

Monday, July 13, 2015

Team Power

6.04. Support, as members of a profession, other software engineers striving to follow this Code.




This closure is important when working with a team. Because this closure promotes team members to work with each other in a more ethical way. A software engineer should support other software engineers who are trying to follow the software engineering code of ethics. As software engineers we should always try to follow the conducts mentioned in this ACM code of conduct. Because it promotes a healthy development environment that would ensure to produce better relationships between clients, employers and also employees. It also helps to develop a better quality software.

When a software engineer who is following this code of conduct sees another fellow developer who wants to follow these rules he should always help. Because by promoting this conduct we can guarantee to obtain the above mentioned goals. If the other fellow software engineers are not following this code or doesn’t know about them you can encourage them to follow it and introduce them to it. If they have any hard time following a closure mentioned in the conduct you as a person who follows the conduct should tell the proper way of following it.

By doing so in a team there is a very less probability of any of the team members doing something that is deemed unethical by this code. If everyone in the team acts like that there won’t be any ethical issues that would arise during the development of the product. Also as it encourages of using better standards of coding and also improving the skills there is also the advantage of being able to deliver a superior product.

The closure is there for the betterment of all the software developers. Because by doing unethical work the developers are the ones who is going to take the black mark. Sometimes without even knowing an unethical conduct may happen due to not properly knowing what is in this conduct. If a developer is fully aware of this code of conduct that person is able to reason an act according to this conduct before he do it. By promoting this code of conduct like this there is the possibility of majority of developers following this code which lead to a better development community as a whole.

Project Management

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






Proper future vision is the most important successive factor for any project. Because of that, at the beginning of the project the group members themselves allocated the role that we are going to perform throughout the project.
After having few discussion, we quickly allocated the work among the three members and after that we design a timeline for the project and started requirement gathering process.
Requirement gathering process took time than we expected and because of that we have to reschedule some activities that we have planned to finish.
As the given time was limited to the web application developing project. We have to finish several activities simultaneously. Because of that a proper monitoring on the activities that we perform was needed and we review the project progress once a week or twice a week according to the sudden needs that may occurs.
Proper project management is the key success point with regard to a particular system and because of that we focus more on proper documentation and project management activities.We also review the key features whenever a completion was happened and we also contacted some expertise personnel after a questionable action happened.


Thursday, June 18, 2015

Document Management

2.07. Identify, document, and report significant issues of social concern, of which they are aware, in software or related documents, to the employer or the client.


Despite certain software being of great importance to society, many an occasion has been reported where the content of functionality of such software had not been in par with the beliefs of certain social groups, thus resulting in calamity. If we make an in-depth inquiry as to the reason behind such incidents, more often than not, it becomes evident that the ignorance of the employee and lack of keenness software engineers have shown to enlighten them of social concerns is the basis for it. Following this code is of immense importance in avoiding such conflicting situations, and in refraining from getting involved in unnecessary issues in future.

Even though public discussion regarding the matter respect to morality has become the norm in the current society, it must be stated that such topics are not always met with an equal amount of enthusiasm by all groups. Since a application which is exclusively dedicated to such a topic is by far more effective than a random speech regarding the same issue, the fervor with which it’s accepted or rejected too tends to multiply by the dozen. Hence, groups which may believe that consumption of beef is actually a right of theirs may express great displeasure towards a project as this, and they would no doubt readily get the backing of parties which are directly involved in slaughter of animals. This was a major concern of ours since the very commencement of the project, of which we had to constantly make our client aware and get his personal opinion of how precisely he intends to handle such matters should any conflicts occur in future. 


Existence of a code which dictates the necessity of identifying and reporting such social concerns to the employer helps them get prepared to encounter those in a much effective manner should they ever occur.

How we achive Collaboration

7.05 Give a fair hearing to the opinions, concerns, or complaints of a colleague.



Finally this is a team work after all to develop the system according to the client specifications. So when a team member or a relevant party to the project has a suggestion, complain, a new idea or a different opinion regarding the present or future project activity, software engineer must give him the chance to share, explain or justify his concerns over the associated project. It’s true that, most of the software projects have properly planned before moving in to the designing and implementations phases of the project. However, giving the opportunity to express the opinions should be highly valued.

Each one of us has different level of skill expertise and no one having a broader area expertise in any field as we still going for it. It's almost a brilliant idea to implement a attractive web application rather than normal static login page of the previous work.We encourage each ones idea as this lead us to redesign the system into something more user friendly. however, we had to explain her about difficulties we have to face, if we go ahead with it. We understood that within the given time frame we cannot extend the project or we cannot bear any additional costs for the project as we are not receiving any remuneration by implementing this project other than the self-satisfaction. Therefore we were agreed to not start implementation of this instantly, and wait until a day that we can charge a fee from our users for this product.

Each and every suggestion was reviewed and consider the uniqueness and usefulness by discussing among 3 of us and that lead to a proper system after all.

Tuesday, June 16, 2015

How We Provide Our Best Service

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



This code emphasis that it’s necessary to being honest and forthright about any limitations of client’s education and experience when offering developer’s services. All services needs to be based on clients’ level of skills and not mislead the client or employer into believing they possess greater skills than they were. Most of the developers do this with the intention of acquiring greater recognition or higher payments for their work. Sometimes clients’ knowledge and the experience of certain area might be very low as they assign to conduct certain projects. Developers need to express their true opinion about the progress to make the clients more aware about their product. If an employer or client feels that the developer not being honest with them or not providing relevant information related to system, they might lost faith on product quality and the reputation if the developer might be lost.

We undertook this project as computer science undergraduates thus all 3 of us didn’t have any professional qualifications as website developers.Before the actual development started we discussed with our team members the most suitable tools and technologies that can be used to maximize the efficiency.  When considering about the limitations we had, we didn’t had a good knowledge of API.The biggest limitation we had was the time frame.

But as a team we didn't hesitate to questioned about unclear things to do necessary clarifications before go through these parts within our team members. That would lead to a proper outcome at last. 

Monday, June 15, 2015

How we achieve a good quality in our application

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.

In short, a high quality application is one that provides relevant, useful content and a good user experience, however, there are many individual factors that need to be considered beyond that summation.
Spending a lot of money on a site is no guarantee of it being classed as a high quality one. Client of the project rely on the software engineers immensely trusting them to be forthright and honest with them. Normally the client would provide any necessary resources to software engineers as they requested in order to have a proper production. These resources can be human, financial or physical according to the necessity of the project requirements that they are assigned. Software engineers would bring clients’ attention to any requirement and request them of it honorably and refrain from obtaining it. When it comes to usage of resources, most of the developers unethically used it without their intention. The Client needs to clearly state the provided resources to the client to minimize that usage.
In our application we use very simple implementation procedure. And we use latest standards and that will improve the usability of our application. We present all the error messages in meaningful manner then that's easy to users to use and troubleshooting the system.
Actually we use model-view-controller approach to implement our web application. A Model View Controller (MVC) design pattern has remained fundamental architectural design pattern even after great evolution in architectures of user interactive applications.
Quality of Web-applications plays major role in its success. And the high quality Web-application is really possible by following high quality Web engineering process. The use of strong Web-application architecture with strong development platform not only make Web-applications robust and of high quality but also give Web-application an ability to meet changing and demanding customer requirements in efficient manner.


How We Follow Professional Standards

3.06 Work to follow professional standards, when available, that are most appropriate for the task at hand, departing from these only when ethically or technically justified.

 

 

Computers have a central and growing role in commerce, industry, government, medicine, education, entertainment and society at large. Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance and testing of software systems. Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm. To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession.

Professionalism is about how you operate. And it all starts with the standard that you set for yourself. To use an analogy, medical doctors hold themselves to a certain professional standard: That all of their decisions be made in the best interest of their patient. Sometimes, this involves telling the patient something that they don’t want to hear, despite the fact that the patient is paying them good money. This is because the doctor’s role is not a service, it is a consultation

Now, the web developer’s professional standard is very similar: All of our decisions are made in the best interest of our audience.As an example in our project we mainly consider about our client's requirement. Most of the people in now a days they are engage with so many tasks. So they forget to do some other tasks in time.In our app we schedule all the events in elder's house and we inform donators early what they plan to do with time and date.So it easy their tasks and no need to sad when they miss those events later.

However, good products require a well-rounded team. Regardless of the size, it’s the roles that are important:  This aspect of team specialization is absolutely required as a team’s responsibilities increase. Plus you have a higher likelihood of overall product quality: Why have a butt-ugly interface design done by a programmer when it could have a fully-great design done by a specialized designer?

Use Appropraite Methods

3.05 Ensure an appropriate method is used for any project on which they work or propose to work.



Almost most of the software projects, especially when the client does not have the sufficient knowledge over the newer technologies and the opportunities that he has, client becomes vulnerable as software engineer can exploit that vulnerability, use it for his own advantage and go with the easiest and highly profitable method. However, as the appropriate method was not chosen the final outcome might cause for a less quality product with many technical and security loopholes. That’s why in the source code, it has clearly given that software engineers must choose the most appropriate method for the projects.


Also we developed our system function by function after dividing each part among three members. We adjust most of the aligning problems without removing the essential parts and try to make full use of the previous effort to implement that. Without going with previous simple login page we created a complete featured one including slideshow, Info parts and a FAQ.

Friday, June 12, 2015

Identify the Responsibility

1.01.Accept full responsibility for our own work.



The very first of the code of conduct conveys that developing a website or any software product on behalf of someone makes you responsible for the work you have authorized to do. After client handed over the work to you he/she expect a proper development with reasonable explanation when necessary. Developers responsibility is to correct those mistakes and errors and put the system into work. 

We follows this rule to accept complete responsibility for the application created by us.

Our team is responsible for undertaking and develop the application from both administrative and public perspective. Both parties have different access levels to deal with the information and make it easier is the task of ours. It's need to make vital information available to use rather than holding without notifying the users about it.Furthermore, we are fully prepared to take the responsibility for any technical issues with the created site and make adjustments and improvements if necessary in future.