1. IEEE/ACM and ACS codes of ethics The Association for Computing Machinery (ACM) code of professional conduct and ethics provides a list of principle of ethics that relates to the issues covered outside the scope of the world of computing and acre also acutely related because of the fact of the availability of technology which is available to the members who are using the technology. The Association for Computing Machinery (ACM) does not give importance and reliance to the detailed regulations; rather it focuses on considerations that are thoughtful on the fundamental principles involved (Wiley 2000). On the other hand, Australian Computer Society Code of Ethics (ACS) essentially provides that though the documented standards are fundamental, the same cannot be expected to be expected to be delivered at all times and levels as there are different circumstances involved. The, Australian Computer Society Code of Ethics (ACS) understands that some standards due overlap and there might be some conflict arising because of that reason. Thus, the identified difference between the two is the degree of flexibility offered which is certainly more in Australian Computer Society Code of Ethics (ACS) relative to that of The Association for Computing Machinery (ACM). While writing a anti-terrorism software, the information that would be published online is not likely to be true and honest. This is for the reason that the potential people for whom the software is targeted at might become well aware of this trap and would spread the risks associated to other involved parties as well. Thus, the standard related to providing true information provided in the codes is certainly violated although the same is being done for a noble cause and due =permission from the government authorities is with the creator of the software (ASME 2007).
1
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
2. Software Process Models The codes of ethics essentially are a set of rules and ideals that the Information technology and software professionals need to comply with. They also emphasize education and socialization rather than just forcing the set of rules to a working professional. They look to make the professional understand and respect the ideas and the values rather than just forcing the same upon them to be just merely followed. The codes are generally used as a reference by the information security professionals to verify whether they are taking the decisions according to the written norms and also to ensure that they are adhering to the same. The creation of the software and their respective development leads to ethical dilemmas and issues and that is when the need of checking upon a written document like IEEE/ACM and ACS codes is deemed fundamental. The three software process models are
The Waterfall Software Process Model
It is essentially a role and plan driven model. It is marked by distinctive and separate phases of development and specification. The disadvantage includes sticking to a fixed plan of action and thus reduces empowerment to the internal employees as there is no degree of flexibility offered.
Definition of Requirements
Designing System and Software
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Integration and System Testing
Operations and Management Source: (ASME 2007)
Water Fall Model
Incremental Development Software Process Model
The validation, development and specification are interleaved in the Incremental Development Software Process Model. It can be either an agile driven process or plan driven process and is essentially contingent upon the requirements of the objectives of the creation of the software development. One of the biggest advantages of following this type of process is that the basics are ensured correct which are namely specifying, developing and validating the software before its final launch. Thus, the scope of o f the software failing is greatly reduced. Concurrent Activities Specification
Development
Initial Version
Intermediate Version
Description of the Outline
Validation
Final Version
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
In the Re-Use oriented software engineering software process model, the assembling of this type of system is done from the existing components. Once again, be either an agile driven process or plan driven process and is essentially contingent upon the requirements of the objectives of the creation of the software development. The actual practice of the software development, it is evident that most of the largely developed software use a blend of all the above mentioned models and elements from each process model is incorporated into the development of the software (Wiley 2000). Designing of the System Specification Requirement
Analysis of the Component
Modification of the requirements
Source: (ASQ 2006)
Validation of the System Integration and Development
Re- Use Software engineering
Web Services, can be potentially used for remote invocation which can be met according to the standard of the service desired which is contingent upon the development of a particular software. Component frameworks can also be used such as J2EE or .NET framework for application to the designed software (IIE 2005).
3. Professional Software Developmen Developmentt Professional Software is much more than just developing programs. Software engineering field and industry is a discipline which covers comprehensive production of software. It is not just merely developing particular software for the end customer or for the general market users. It essentially involves understanding the requirements and preparation of customised software to exactly meet the desired requirements of the user. It has so many innovations involved. One also has to be well aware of the ethical principles involved. This includes coping up with the regulations of legacy systems which involves great amount of diversity as the norms and
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
demanding at times. One of the key things associated with this profession is the fact that the same is associated with immense after sales services. The developed is not only required to meet the required and developed performance and functionality, the developed software should also be usable, dependable in the future course of time and that is when the role of after sales services is important and crucial. The software industry is thus involved with development of the technology overall rather than merely developing the software, one is required to be highly aware of the ethical issues like copying someon e’s else work is also considered to be a dangerous and unethical affair in this particular industry (ASQ 2006).
4. Important features of Agile Software Development The use of the term Agile Software Development is derived from the term agile manifesto. It essentially involves interactions and individuals over the tools and the processes in the information technology industry. It scores heavily over and above the traditional water fall approach as it is much more flexible and requires less of more documentation relative to that of the traditional approach of waterfall software development process model. The external customers in the cotemporary times are recognized to a great extent by their demanding nature (IIE 2005).They want transparency while there products are being prepared, ordered. They want to know all the information so that they can compare the same with the competition prevailing in the market place. That is how that agile software development was introduce in the Information Technology industry that provides for interaction and communication with the end users to better understand their exact requirements and with a degree of flexibility available, prepare the best recommended software program for them. The key features of the agile software development can be summarized as under:
Imperative involvement of the end users via interaction and consistent communication
Empowerment to the internal customers (employees) to produce exemplary software
The world's largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Development of iterate, small and incremental releases
It essentially focuses on the frequency of the develop ed products
It compares each stage and the developed feature before it moves further in the development of the process which ensures quality and it is dynamic attribute which is potentially missing in other models of the processes that are followed. It also applies the 8-0/20 very effectively and efficiently.
The testing part is well integrated throughout the process model when agile system is being followed.
It assures the concerned stakeholders of a cooperative and collaborative approach as the same is deemed o be essential and necessary in the contemporary times (ASQ 2006).
References American Society of Mechanical Engineers (ASME). 2007, Code of ethics of engineers. Retrieved April 11, 2012 from http://www.asme.org/asme/policies/pdf/p15_7.pdf .
Hi Dear This is to inform you that we are one of the top educational company helping students in getting good grades in their academic life. We understand that you are interested in getting help in your Academic Assignments at affordable rates to get great results. All our tutors have Master's and PhD degree in different subjects and they are professors in most popular Universities of USA, UK, Australia and Canada. Sample Assignment provide assignment help, homework help, online exam help and online coursework help in different subjects and their sub-divisions like Accounting, Finance, Management, Engineering, Statistics, Statistics, Economics and many more subjects. The way to use our services is very simple. You just need to mail your questions at
[email protected] [email protected] and we will get back to you with a customized and affordable price quote for each and every assignment.