The main objective of Software Engineering as a discipline [11] is the production of error-free, reliable software that meets user’s requirements effectively and that it is delivered on time and within budget. To support this objective introduces the idea of Software Process Improvement, which is a combination of appropriate software engineering techniques and principles geared towards improving software production. In order for these techniques to be engaged, they first have to be taught. This paper shall discuss the reason why SPI should be taught at undergraduate level and also look at the way it should be taught in an attempt to get the full potential of the SPI into the minds of undergraduate students as to equip them with new technical focuses. In this paper I shall analyze and discuss ways to improve the module and how to make it more interactive and produce a better learning environment for students and lecturers alike. Software process improvement (SPI) is an essential topic in any computing curriculum. Students can be trained in the principles of SPI; later in industry this improves their chances [10] of implementing good software processes which in turn will be successfully defined and improved. [8] Discusses how all aspects of the computing field have had rapid, continuous change. As a result, university-level computing degrees curricula require frequent updating and review to remain effective and attractive for potential students, also to become more lucrative for industry as they need up-to-date graduates coming into the workforce. They [8] stress the point that there is no lessening in demand for IS knowledge and ability in organizations. Every discipline is experiencing growth in computer use and students who enrich there is knowledge is at a career advantage. For this paper to achieve success in improving the quality of the SPI module there needs to be first, a general consensus for the modules objectives. The module must meet the needs of the stakeholders, for example: If a student feels the material is not relevant to their educational or career needs, they will most likely not enroll to the module. If the module does meet industry needs for improving real job skills, they will not provide time or financial support for employee enrollment. If the computing faculty feels that the module infringes on the academic prerogatives or fails to meet the academic standards, the faculty will not support the module and will be certified. Overview of SPI
Information and Software Technology Years 7–10: Advice on Programming and Assessment. (2003). Retrieved April 10, 2014, from http://www.boardofstudies.nsw.edu.au/syllabus_sc/pdf_doc/info_soft_tech_710_support.pdf
1.) Based on your own knowledge of some of the application types discussed in class(lecture 1), explain, with examples, why different application types require specialized software engineering techniques to support their design and development.
4. Explain why change is inevitable in complex systems and give examples (apart from prototyping and incremental delivery) of software process activities that help predict changes and make the software being developed more resilient to change.
It then proceeds to examine the need for these skills in the real world and the need for these skills to be taught at university level. It starts by examining the general case of all students arriving in college for the first time and by the end gets to the particular needs of computer science students and others in the more practical disciplines.
“Constant efforts, dedication, devotion and determination are the key to success” This principle I have followed in my career. Setting goals and striving hard to accomplish them has always been my strength in professional as well as personal life. I have always been amazed by computers, code –programs and was keen to understand the underlying meaning, gimmick, structure and pattern of how programs actually work. Learning about simple Foxpro programs, excel sheet formulae, C programs at an early age heightened my interest in computer programs. This childhood interest urged me to do a diploma in information technology and later bachelor’s degree in the same area. Having completed six years course in Information Technology, and two years of experience in IT. I stand by the principal “Stay Hungry” and this has helped me in achieving my goals. Standing by this I would like to explore ahead and pursue MS in MIS. I would like emerge to put to use this knowledge to pursue MS program in MIS.
While developing a software many complex activities are required which in turn have dependencies along them. Large software projects require the involvement of programmers, documentation specialists, program managers, architects, database analysts, system analysts, , and trainers and last but not the least testers. Along with their independent responsibilities these persons are also responsible to maintain and keep a check on the software system quality as well.
In terms of teaching, our undergraduate and graduate curriculum provides a timely and well-rounded view of the field, with special emphasis on the practical aspects of building useful software. Our strengths lie in the traditional mainstream of areas of computer science: algorithms, programming languages, operating systems, distributed computing, networks, databases and theory of computing. We also offer courses in some subfields: graphics, artificial intelligence and the software aspects of computer architecture. The department's programs prepare students for positions in the design and development of computer systems and applications, in business and industry, and for scientific positions in industrial or academic computing research.
As technology advances, employers ask for new skills. Computer software engineers must continue to learn such skills if they hope to remain in this field. To help them keep up with the technology changes, continuing education and professional development seminars are offered by employers and software vendors, colleges and universities, private training institutions, and professional computing societies.
A Computer Software Engineer develops software systems to be used by their clients, such as a website used to sell the client’s products. Although software engineers spend the majority of their time programming and testing the software, a key component to the success of a software engineer is the ability to write a thorough Software Requirement Specification (SRS). A SRS documents the requirements and dependencies needed for the software, prior to beginning any programming. Therefore, a Software Engineer must po The SRS is so important because engineers can have a wide scope of clients that they regularly work with.
This paper has the intention to explain what Rational Unified Process (RUP) is like an IBM product and a CASE tool. After is explained what phases it has, what are the most common extensions thus what are its workflows more used. The Rational Unified Process (RUP) is a software design method created by the Rational Software Corporation and now is part of IBM developer software. This paper describes how to deploy software effectively. The Rational Unified Process (RUP) use commercially proven techniques, and is a heavy weight process, and hence particularly applicable to larger software development teams working on large projects.
In this proposal, I will first discuss the current situation in the Computer Science Field based off of my research. Second, I will discuss my qualifications and why my suggestions matter. Third, I will offer a plan to improve the current degree system. Finally, I will discuss some costs and benefits to my proposal.
Way of Thinking – Unified Process is a predictive and adaptive approach of software development methodology based on object oriented principles. (Satzinger & Others, 2005) It is use case driven approach focused on developing the system incrementally by delivering the captured functional requirements in iterations. (So-Young & Ho-Jin, 2005) Creating different artifacts throughout the development process eliminates the possibility of undefined requirement and miscommunication. (Rational, 1998) Modularity embedded in the process allows developing and delivering of system in components. Maintaining software quality and requirement changes are integral part of process. (Daoudi & Nurcan) (ISQA 8220 Notes)
My interest in Information Systems Management was drawn when I was working on my final year project at Maharashtra Institute of Technology under the able guidance of the head of the Computer Engineering department. Professor R. K. Bedi’s support provided a much needed boost to my confidence in my programming skills. This new found confidence, in conjunction with the organization management skills I had acquired through active participation in extracurricular activities like “Tesla”, in inter college programming fest, made me realize I wanted to pursue a program that had comprised a blend of both the computer science and management disciplines.
Software engineering encompasses various principles from both the computer science field and the computer engineering field to develop practical uses of software within hardware we use on a daily basis. With the passage of time, technology dependent on software has become increasingly prevalent. As a result, there will be a high demand for software engineers to sustain the eventual abundance of new and more complex computers.
Software engineering is important in today’s society because we use the products of software engineering almost daily. We use the products of software engineering in objects as simple as our car keys to objects as complicated as supercomputers. The past, present, and future of software engineering is quite interesting. This paper will provide information about this field of study and why software engineering is going to be around a while.