StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Code Development Process - Assignment Example

Cite this document
Summary
The "Code Development Process" paper considers a complex case of software development that demands a group of individuals to be involved in the development process. In this case, the major issues that will be discussed include the challenges involved in developing overlapping pieces of code…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER98.5% of users find it useful

Extract of sample "Code Development Process"

Heading: Code development Your name: Course name: Professors’ name: Date Table of Contents Table of Contents 3 Introduction 4 Creating a class which requires interaction with another class 5 How to resolve issues within multiple version of the program 6 Benefits of developing software in teams 8 Limitation of developing software in teams 9 How to manage this complexity 10 References 13 Introduction Software development is a complex process; it is even more complex when developing the software as a team. Software development began a number of years ago; the product has been used as a commercial product and as a freeware. Software development has undisputedly taken the centre stage in the evolution of computing world. Currently there are millions if not billions of software that are used in different sectors of the economy. It can thus be stated that technological evolution is mostly anchored in the development software evolution. Since code development is a complex process, many ways of solving this challenge have been developed over the past and new ways and platforms have been developed in the recent past and still being improved in the near future. There are many platforms for developing software programs as well as internet interacting software like browsers. An example of platforms required for developing software includes; Visual Basics, C, C++, C#, Java and COBOL among others. Platforms needed in the development of internet based includes, HTML, CSS, PHP, Joomla and SharePoint among others. All these platforms are used sometimes combined or independently to achieve the desired goals. This report considers a complex case of software development which demands a group of individuals to be involved in the development process. In this case, the major issues that will be discussed includes the challenges involved in developing overlapping pieced of codes, developing different classes which demand interaction with other classes that are being developed independently by other team members. The integration of different classes developed by independent people within the group is one of the challenges that will be addressed in the development process. How to resolve issues that arise as a result of working on programs which require integration of parts from old versions will also be addressed in this report. Lastly, the benefits of working on a software as a group will also be discussed in order to shade light on the relevance of such undertaking. The limitations of the process will also be discussed, this will the lead to the best ways of managing such complexities in the project. Creating a class which requires interaction with another class In the development process of the software, two individuals may develop a code that will require interaction with another class developed by the other individual. In this case, for the interaction of the two classes of codes to be successful, first they should be developed with the same language or platform; this will reduce errors and incompatibility that is normally associated with cross platform design. The other important point to note in this situation is to work closely with the member developing the other piece of code in order for the two to work with objects and variables that can easily integrate with one another when the execution process is initiated. It will also be essential to divide the functionality within the class that is being coded in order to ensure that the individuals working within the class do not duplicate the functionality of the software without their awareness (Lauesen 2005). The involved members should also ensure that they test their code lines before they join them, this will reduce the chances of bugs occurring in the combined class. In the development process, the members need to define their variables and attributes in a similar manner, this will reduce chances of re-occurring bugs or failure for the program to function as intended. If the set of instructions created by the two members differ, when combined, the program could jump some pieces of code and hence failing to execute the program as first desired by the team members. In this case, the underlying principle is constant cooperation during the development process. In essence pre-mature testing of the code before completion can help in discovering bugs that could prevent the program from working well after the completion process (Stellman & Greene 2010). How to resolve issues within multiple version of the program Incompatibility is software development is an issue that may affect the usability and testing of the software. These issues are normally caused by failure of different attributes and objects within the classes of the old version to interact with the newly developed code. The first way to solve these issues and ensure that they do not re-occur is by first understanding the environment in which the software is developed. This normally includes the hardware and the software part of the system that is developing the code. The hardware for instance can limit the functionality of the software development since for some code components to work effectively; there is a minimum hardware requirements needed. On the other hand, the software part is usually the operating system; the operating system is like the engine which coordinates the functionality of different software platforms installed in the computer. There are many types of operating system, the common commercial operating systems includes Apple Mac Operating system, Microsoft based operating system such as Windows XP, Windows 7 and lately Windows 8, Linux and Unix are other common non-commercial operating system or open source that can be downloaded in the internet for free (Metsker, Wake 2006). All these operating systems affect the code development platform and hence an important consideration when developing software that needs to be integrated with another portion of an old developed program. Another important consideration to note in the case of software aspect is to ensure that the older version of the program was developed using the same language or platform. It is usually a challenge to integrate two codes developed using different platforms because of the variations in code development (Lauesen 2005). Another common way of resolving this incompatibility is by incorporating the older version with the objects and variables that are being utilized by the new code. This will ensure that the execution process is successful since there will be no incompatibility. In order to ensure success in this case is by creating a testing environment for these codes before the final integration is done. Notably, most incompatibility issues between old and new programs is normally caused by a single object which can be updated easily by initiating automatic replacement of the object with the new one or with a new set of instructions. Testing for bugs after the replacement is done is important in order to determine if the program will function as desired (Stellman & Greene 2010). Benefits of developing software in teams There are many benefits of developing software in teams; one major benefit is the immense contribution of every person to different classes of the code. This usually makes it easy to eliminate bugs and thus making the software usable. It also saves time to work in teams when developing software since everyone will be working on different functionalities at a time. This becomes even more beneficial if the group is large and the program is divided into many classes that allow its development to be even much faster. Creativity will also be enhanced since many individuals will be inputting their contributions towards the development of the software (Lauesen 2005). Developing software in teams means that the code is divided into many smaller pieces, this by itself is a major advantage as the code will be more manageable, easy to maintain because one can easily fix bugs and enhance functionality in a single class, easy to test in the sense that it allows isolation of one logic functionality in a class in order to test and it is reusable also in the sense that it is possible to split up in the process of code duplication in a single class meaning that there will be less bugs. Just like in the development of any project, scaling it into different phases and assigning individuals into these phases makes the project simpler to manage as the project will be completed in different phases. This is the same case with developing a code as a group; the development process will be carried out in phases, in this case class that define the functionality of different sections within the software. Readability is also another advantage of developing software as a team and in different classes, it will be much easier for individuals in a team to browse through the single class and write code, this is usually very hard in a file with about 10000 lines (O'Sullivan Goerzen & Stewart 2008). Developing software with only one source file is ugly and highly undesired, software with many source codes is by far more professional and presentable, and this can only be possible if the teams involved are working as a group. Limitation of developing software in teams Despite the merits of developing software in a team, there are limitations to this and one of them is class integration, considering that the software is divided into many classes in the development process, the integration of these classes to form a functional software can be a major challenge that may also affect the overall functionality of the software. Since there are different variables and functions that need to be defined according to the requirements of the building platform like Java or C++, the definition of these variables can vary from one person to another and hence the result could lead to a conflict when integrating these classes. Another major limitation is the fact that there are many platforms of developing a code, such classes includes Java, C++ and COBOL and so forth (Stellman & Greene 2010). Normally programmers major in one language and may not be good in another language; this may be a limitation since integrating codes developed using different languages is a hard task. It requires individuals who comprehend cross platform and thus able to integrate different functionalities developed from different languages to create a working software. More so, some objects and variables are can look the same over different platforms, this can be misleading since different languages define their variables differently and uniquely as compared to the others. Basically there are object oriented programming languages and others which are not, their variables differ in definition. How to manage this complexity As stated by O'Sullivan Goerzen & Stewart (2008) in order efficiently manage this complexity of developing software in teams; the following fundamental requirements are indispensable. The first step in this process is creating goals or objectives about the functionality expected after the process of software development is completed. Without this, the process will be derailed from the start, software development is just like any physical project and it thus require a plan setting out its goals, distributing tasks (in form of classes), setting deadlines for the completion of different phases of the project and so forth. After the plan is completed, the entire project will be broken down into classes (blue print or patterns) essential for the development of different software functionality. Every class of the code will then be assigned to different members working on the development process. This will be essential since every member will work to complete their section of the program before the integration process is initiated. Constant checks during the development process will also be imperative since it will help mitigate the challenges associated with working on single software as a group (Stellman & Greene 2010). Members working on the same class will also be encouraged to share ideas and let the other party know what they have already developed so far. This will avoid duplication of efforts. Progress report just like in physical projects will be essential, this will give the stakeholders and the project manager and the customer the current progress of the development process. This is an important consideration because the stakeholders need to know the progress as well as the challenges that are facing the group involved in the development process, they also need to know the milestones achieved after every periodic progress reporting. With their cooperation, the success of the software development process will be achieved (Lauesen 2005). The complexity will also be managed well if the team members involved in the project cooperate and have a desire to work together in order to see a successful completion of the project. Without the cooperation of the team involved, the success of the project will be hampered. The project development members will thus agree on various ways of handling challenges that may occur in the development process. Using the same platform will be an advantage since there will be few issues related to integration of the software (El-Haik & Shaout 2010). Conclusion As discussed in this analysis, the development of software as a group can be a major challenge which has its merits and demerits. Challenges mainly occur when two of the team members are working on the same class of the code which requires integration since they overlap. Issues noted in this case is the compatibility issues, the possibility of effect duplication is also a possible challenge. The platform used by the individuals to develop their codes can also be a major challenge since cross platform integration is a major challenge. More so, as discussed, some parts of the previous versions of the program can fall over in the latest builds. The rationale for this can be because of the improvements that could have been done in the latest platforms, the definition of attributes an objects within the platform can be the cause of such challenge. As pointed out, replacement of such set of instructions will reduce the challenges associated with incompatibility, testing the code before integration will also help in reducing bugs. There are many benefits of working on a software project as a team divided into several classes. One major benefit of such undertaking is the immense creativity and thus usability of the software. This is because the contribution of several people is more than the contribution of few or a single person. More so, dividing the code into several classes for individuals to work on them enhanced software reusability, test, and manageability and makes it easy to manage the code. There are however a number of limitations that occur as a result of developing a software as a group. One of such challenges as discussed is the integration of several classes developed by different individuals; the possibility of developing new bugs arises. It can be even be a bigger challenge if the code is developed using different platforms. The other challenge of this initiative is the duplication of functions, as an example if two individuals are working o the same code, if cooperation is not there, these individuals can duplicate effort and hence creating bugs in the execution process. Lastly, there are ways to manage complexity associated with developing a code in a team. As noted, creating a plan for the software development process with goals and objectives, schedules for completing the task as well as the roles of each member in the development process will play a critical role in the process. More so, informing the stakeholders through a progressive report is essential, this is because the expectation of these stakeholders will be managed effectively. References El-Haik, BS & Shaout, A 2010, Software Design for Six Sigma: A Roadmap for Excellence, John Wiley & Sons, New Jersey. Lauesen, S 2005, User Interface Design: A Software Engineering Perspective, Pearson/Addison-Wesley, Sydney. Metsker, SJ, Wake, WC 2006, Design Patterns in Java, Addison-Wesley Professional, Melbourne. O'Sullivan, B Goerzen, J & Stewart, D 2008, Real World Haskell: Code You Can Believe In, O'Reilly Media, Inc., New York. Stellman, A & Greene, J 2010, Head First C#: A Learner's Guide to Real-World Programming with Visual C# and .NET, O'Reilly Media, Inc., Sydney. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(The Author Can Choose Title That Relates On The Report, n.d.)
The Author Can Choose Title That Relates On The Report. https://studentshare.org/logic-programming/2048500-the-author-can-choose-title-that-relates-on-the-report
(The Author Can Choose Title That Relates On The Report)
The Author Can Choose Title That Relates On The Report. https://studentshare.org/logic-programming/2048500-the-author-can-choose-title-that-relates-on-the-report.
“The Author Can Choose Title That Relates On The Report”. https://studentshare.org/logic-programming/2048500-the-author-can-choose-title-that-relates-on-the-report.
  • Cited: 0 times

CHECK THESE SAMPLES OF Code Development Process

Case tool : Identification of software development process

CASE TOOL Identification of a software development process The current information technological needs of the organization have become robust and complicated.... CASE TOOL Identification of a software development process The current information technological needs of the organization have become robust and complicated.... This is due to the fact that there has been the introduction of a new strategic plan of the organization that aims at centralizing the entire organizational structure and process on the use of information technology that will be manned by one common info center....
3 Pages (750 words) Assignment

Contemporary Development in Business Management

Nordex is a German-based company established in 1985 in Give, Germany.... This company specializes in wind turbines and energy solutions developed for large target audience.... The uniqueness of.... ... ... Using this strategy, Nordex tries to protect the community from global warming and resource depletion....
15 Pages (3750 words) Essay

Spring Framework with MVC Web Applications

This framework addresses the complexity experienced in enterprise application development.... It simplifies Java development through four key strategies This is the framework for the programmer or the developer who wants to develop Java applications using Plain Old Java Objects (POJOs) and then non-invasively apply enterprise services (Johnson, et al.... pring addresses the main problems of J2EE regarding web application development, Enterprise Java beans, Database access (JDBC, ORM), transaction management, and Remote access....
4 Pages (1000 words) Essay

Ontario Building Code

ince the year1976, the Ontario Building code has established a set minimum standard for designing and constructing all new buildings and allow for alterations, additions, and change of use of already existing structures in Ontario province (International Association of Fire Chiefs.... The code is a binding document used by designers, architects, engineers, builders, manufacturers, and suppliers with respect to construction which the code regulates....
11 Pages (2750 words) Research Paper

HTML, SQL, and PHP Programming Languages

All through, most of the programs attempted have been unsuccessful due to the haphazard nature of their development.... PHP (Hypertext Preprocessor) is a language used in web development.... Cake PHP is a fast web development framework that aids in the development of a broad configuration for developing, maintaining and deploying websites.... Like other programming languages, PHP is a code that is interpreted by websites to audible languages (Lengstorf, 2009, p....
9 Pages (2250 words) Essay

Error Detection and Correction for ATM Technology - Reed-Solomon Detection

The permitted real maximum code rate depends on the used code of correction error.... The actual information appears unaltered in the encoded Hamming Performance Evaluation as the Function of Redundancy data, due to the fact that RS is a systematic code.... To obtain the best bit error rate, the proposed method has been evaluated for different code rates.... To assess the performance of the proposed method we have compared it with other well-known code techniques....
17 Pages (4250 words) Case Study

Desktop Migration Proposal

The writer of the paper 'Desktop Migration Proposal' states that the operating system migration process is not simple although it is inevitable.... The process started with the creation of many prototypes, which enabled it to simulate its systems quickly.... It clears uncertainty in the programming process and gives insight into the variables subject to the configuration process.... Liberty asserts the technique has advanced in the supplying and development of many types of configurations (27)....
7 Pages (1750 words) Article

The Process of Health Care Policy Development with Reference to Aged Care Policy

The paper "The process of Health Care Policy Development with Reference to Aged Care Policy" is a brilliant example of coursework on nursing.... The paper "The process of Health Care Policy Development with Reference to Aged Care Policy" is a brilliant example of coursework on nursing.... The paper "The process of Health Care Policy Development with Reference to Aged Care Policy" is a brilliant example of coursework on nursing.... The article seeks to analyze the process of health care policy development with reference to aged care policy....
11 Pages (2750 words) Coursework
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us