Open Source and Closed Source Software Development Methodologies
|
|
|
- Megan Alexander
- 10 years ago
- Views:
Transcription
1 Open Source and Closed Source Software Development Methodologies Vidyasagar Potdar, Elizabeth Chang School of Information System, Curtin University of Technology, Perth, Australia Abstract Open source software development represents a fundamentally new concept in the field of software engineering. Open source development and delivery occurs over the Internet. Developers are not confined to a geographic area. They work voluntarily on a project of their choice. As new requirements emerge, the software is enhanced by the user/developers. In this paper we show a comparative study of open source and closed source software development approaches and present a software life cycle model for open source software development. 1. Introduction The concept of free software is not new. It has been around since the 1960s in universities such as MIT and corporate firms such as Bell Labs who freely used source code for research [1,2,3,4]. Software was not a means of revenue generation but was used to hook more and more customers to buy new computers [5]. In the early 1980s, Microsoft started writing software for the sole purpose of profit. It gave only compiled code; source code was hidden from the user. This move had a great impact and could be considered as the birth of open source. Richard Stallman, researcher at MIT, founded the Free Software Foundation (FSF) to develop and distribute software under the General Public License history (GPL) while Bruce Perens defined a set of guidelines that a software license must grant its user, and he called this Open Source Initiative (OSI). In this paper, we briefly describe the open source software development and compare it with closed source software development. The paper is organized as follows; in section 2, we describe how open source software is developed. In section 3, we compare open source and closed source software development approaches. In section 4, we propose a life cycle model for open source software development. 2. Open Source and Who, Why, What? Bruce Perens defines that Open Source is a specification of what is permissible in a software license for that software to be referred to as Open Source [2]. 2.1 Who is an open source developer? Simply put, any one who contributes to the open source project is an open source developer, such as a user of the software, a developer who develops the software, a debugger or hobbyist who likes spending time on open source, or a promoter who funds such a development. 2.2 Why do they produce open source? Eric states that developers are attracted towards open source development because that gives them an opportunity to demonstrate their ability. So they voluntarily select a project and start contributing. When programmer s, code gets accepted, it boosts their ego and they get recognized for their effort in the community, [7] Peer recognition creates reputation and a reputation as a good programmer is a great achievement. 2.3 What do they do in open source? Open source developers are involved in a variety of activities such as designing, coding, debugging and utilizing. Each activity occurs simultaneously. Parallel development and debugging is the key to open source success. Users also play a vital role in the debugging process by reporting bugs to developers or sometimes fixing it themselves. Developers are well aware that users are the best beta testers [7,8]. 2.4 What are the major customer concerns? Maintaining consistent software architecture. This is one major concern, but it s outside the scope of this paper [12, 13] Support and coordination for deployment. When end users utilize open source component they want to know whether the component is fully automated or does it need any integration with other components. However when end users come up with bug reports, feature 105
2 requests or installation guidelines they expect a full support and coordination from the developers Managing upgrade and complexity. The end users are concerned with the future upgrades. They are not sure, as components get more and more powerful and large, whether the complexity of the code can be automatically managed. Managing complexity is a big concern because OSS often has parallel developments going on [1]. 3. Open Source versus Closed Source Software Development Open Source Software Development (OSSD) is a recent phenomenon, while traditional closed source software development (CSSD) has been here since the dawn of software development. One major difference between these two models is source code visibility. In this section we will point out most of the differences between these approaches. We begin with their process models Process Models CSSD normally follows a spiral or iterative model of development i.e. software development goes through all phases like planning, design, implementation [14] whereas OSSD follows an evolutionary model for development where the software never reaches a final state and keeps on evolving according to customer needs [15]. It s more of a concurrent or parallel process. CSSD has clear cut milestones using which the progress of the project can be tracked but in case of OSSD it not possible although CVS do help to keep some track Requirements Definition and Specification CSSD starts with requirements definition and specification. Here requirements are vague. Project developers are not aware of the actual requirements. They need to interview stakeholders to elicit requirements and then start implementing [1, 14]. On the contrary OSSD starts with a motive of requirements satisfaction. Requirements are clear, as developer is fully aware of the requirements [15]. In case of CSSD all the user requirements may not be implemented because of time or budget constraints [16, 14] where as in OSSD it possible because user is often the developer [1, 15]. In case of CSSD system architect and project manager decide which requirements will be incorporated while core members of the open source project decided which requirements to be implemented [14] Documentation In case of CSSD project plan is document and followed. Once the requirements are clear they are documented [14]. Even the designing and testing procedure is documented. Where as in OSSD there may or may not be any official documentation. [14,16] 3.4. Analysis and Design In CSSD, system architects and project mangers spend a lot of time in designing the project [14], whereas in OSSD designing is often merged with implementation.[17, 12, 15] Software Architecture Maintaining consistent software architecture is enforced during the development phase itself, there is rarely a drift between software s conceptual and concrete architecture. [12, 13, 14]. In case of OSSD this has been recognized as a major concern. Maintaining consistent software architecture is difficult because of its highly collaborative and distributive nature. [12, 13] 3.6. Implementation Only one implementation is possible for one requirement [14] whereas in case of OSSD multiple implementations are possible for the same requirement. This is considered as a major issue as it results in code forking. The rate of development is comparatively slower that the open source because the number of developers assigned to a CSS project can never match a full-scale open source project like Linux [6, 7, 14] 3.7. Source Code In CSSD source code is hidden from the user while in OSSD source code is open as a result user can view and modify the code to suit individual needs [2, 15]. Such freedom is not available in closed source software Testing In OSSD, users act as bug reporters and beta testers. Whenever a user finds any bug in the software they either try to solve it or bring it to the notice of the community [1]. But commercial closed source products use service packs to repair bugs [15]. OSS community believes no bug can survive wide testing [7] Release and Delivery Open source products are released quite often on a daily or weekly basis whereas closed source products are released on a yearly basis. In commercial softwares, 106
3 product is often released due to marketing pressure and tight schedule whereas open source products are released once the developer thinks that it has reached a functional stage [1, 14] Maintenance Service packs are needed quite often to repair bugs in commercial closed source products, whereas bug reporting and bug fixing takes care of maintenance in case of open source products Product Close source products may soon reach a finalized state once the documented requirements are implemented whereas open source products are always in a evolutionary phase because as requirements emerge they get implemented [14] Type of Software Commercial software development is more of a solution kind of development. Developers create solutions for a big company. It is more like customized development whereas open source development is more components-based i.e. plug-n-play type software. Developers create small programs, which work on a variety of platforms Security It is a common belief that commercial closed source product is highly secure because it is developed by a group of professionals confined to one geographical area under a strict time schedule. But quite often this is not the case, hiding information doesn t make it secure, it only veils weaknesses [10]. In CSS security is achieved through obscurity, however in OSS security is achieved through open source. The ability to modify the source code works to your advantage if you want to deploy a highly secure system. One can ask for a third party security certificate or get the system scrutinized by a professional security expert for possible back door entries. [10, 11], such freedom is not available with commercial closed source products. Another argument that supports open source security is community reaction to bugs. Community reaction to bug reports is much faster compared to commercial closed source which makes it easier to fix bugs and make the component highly secure Productivity, Quality and Cost Developer s productivity may decrease if they are forced to work on a project in which they are not interested, which is contrary to OSSD where developer is free to choose the project on which they want to work [15]. Developing open source software is faster, better and cheaper. All the three factors can be satisfied simultaneously. Cost is reduced because no one is paid for the job everyone is a volunteer. Speed is increased because development is parallel and collaborative in nature. And finally quality is maintained because the product is released only when the developer think the product is stable and functional [16]. However with CSSD this doesn t work well. At one time only one factor can be satisfied fully. E.g. if speed is maintained quality and cost may go up or if cost is to be maintained quality and speed may go down [9, 14, 16] Hence CSSD can be considered slow and expensive Environment Often we find centralised, single site development in CSS while decentralised, distributed, multi-site development in OSS. In CSS development happens in a geographically confined area, while in OSS development occurs on the Internet [1, 14] Group work and Communication Open source is co-operative and need high level of coordination over the Internet and multi-site. Lack of coordination among developers results in code forking [1]. However in case of CSS, inconsistency is easily managed by face to face or weekly team meeting. 4. New Life Cycle Model for Open Source Software life cycle determines the set of activities that constitute a software project. It may not be surprising that the OSSD life cycle differs from CSSD [15] Traditional life cycles do not suit open source In case of waterfall model, after every stage documentation is done. But in case of OSSD often simultaneous development occurs. OSSD has more of a modular approach. Several individual developers can simultaneously work on several different modules without worrying about the final integration. This is one of the reasons why waterfall model doesn t suit OSSD. Waterfall model is linear in nature. It has clear milestones. But OSS has very vague milestones. Because of its evolutionary nature it never reaches a stage where we can confidently say it has finished a particular phase. As OSSD has vague milestones it s really difficult to point out its progress. This is another reason why we feel the existing waterfall model is not suitable for OSSD. 107
4 4.2. Some phases in traditional software life cycle do not apply to open source Commercial CSSD is confined to a geographic location. During planning stage project leader organizes teams, schedules meetings, and assigns roles and responsibilities to the team members. When we compare this with OSSD we figure out that there are no teams, no meetings at all as all the communication happens through mailing lists or project web sites. User or developer is free to choose a project of their own choice. This removes the need of assigning roles to developers. In CSSD planning is followed by requirement elicitation, requirement documentation and feasibility analysis. While in case of OSSD the requirements are not vague, they are clear to the developer, as most often a user is also a developer. Apart from that, open source development sites like have a feature where users can request new features to be implemented in particular software, which reduces the need for requirement elicitation. Since the requirements are clear to the developer they just need to be analysed and implemented. This removes the requirement elicitation phase from OSSD. Design is generally followed by implementation. Since there is a large list of requirements, normally each and every requirement does not need detailed design. In such cases requirements are directly implemented. So we remove the detailed design phase from OSSD. Multiple implementations create complexity and raise the issues for proper coordination. Traditional life cycle didn t tackle this problem but this is a phase which we think should be introduced in open source SDLC. Concurrent implementations create architectural defects. As the user requirements change, the software changes to fulfill these requirements. Often these changes are done without considering the conceptual architecture. As changes go on adding up; the software s concrete architecture starts drifting from its conceptual architecture. OSSD is highly prone to this because of its collaborative and distributive nature. Hence we need a phase to tackle this issue as well [12, 13]. OSS lacks coordination and hence it is sometimes difficult to manage. This necessitates the need for a separate or simultaneous phase to manage complexity and maintain coordination. This phase is normally not taken care off in traditional life cycle [1]. We hope it is clear from the above discussion that there is a necessity for some phases while others are not required. The issues outlined above need to be considered when a SDLC model for open source is proposed. We propose a requirement oriented pendulum model to solve some of the issues highlighted above. The proposed model tries to provide guidelines on how open source project should proceed. Our main aim is to try and estimate the progress of an open source project. 5. Requirement Oriented Pendulum Model for Open Source Software Development We propose the requirement oriented pendulum model, to provide a mechanism to track which requirements have been submitted and which of those have been implemented and tested. The proposed model has four stages which we described below. B Pendulum Model for Open Source Req. Analysis & Specification Pendulum remains stationery unless an external force sets it to motion (New iteration stars by new requirements) Implementation & Testing Validation Component Submission Figure 1: The Pendulum model for Open Source 5.1. Requirement Analysis and Specification. In the pendulum model this is the first stage in which requirement analysis is done. Different users in the system have different requirements. Users submit feature requests which become new requirements. At this stage the pendulum is in the center. When the requirement analysis and specification starts the pendulum gets into motion. Once requirements are analyzed it reaches the left most end, which is represented by state B. Initial State Oscillation from Reason for transition Final State A A to B Req. Analysis & Spec. B B B to A Implementation & Testing A A A to C Validation C C C to A Component Submission A 5.2. Implementation and Testing A Pendulum starts Oscillation from A to B to C and finally stops at A Two main activities in this phase are implementation and testing. Major outcome of this stage is source code. Coding involves writing source code to implement a requirement. Once the requirement is implemented it should be tested. So in the second half of this phase testing should be conducted. It requires careful planning and coordination. Major goal should be to make sure all components created during implementation function properly. Apart from that, this stage should include alpha C When the pendulum oscillates from A to B and when it comes back to A we refer that stage as A rather than A. 108
5 testing and beta testing. The testing should start with standard test cases. Each test case should contain information like test case name, action to be performed, data to be used, expected outcomes, actual outcomes. Normally this is done by the users or by the developers. When the implementation and testing starts the pendulum moves from B to A. It reaches the centre, which is represented by A Validation This is the next iterative phase in the pendulum model. Major goal of this phase is to carry out field testing and validation and then generate reports. Bug reports are a major result of validation. Bug reporting should be done by user or developers. This can be done in many ways, but it is suggested that one should use a bug reporting software like Bugzilla or ing the bug reports in a pre-specified format to the project leader. However before reporting a bug one should make sure that someone has not reported it earlier. When validation starts, the pendulum moves from A to C. It reaches the other end, which is represented by C Component Submission This is the final phase of the pendulum model. This phase has two activities submitting new feature requests and submitting tested and validated components. Once the validated components are submitted a new version of open source component is developed. At the same time new feature request which are submitted by the users or the developers sets the pendulum into motion once again. Feature request becomes the basis of new requirement and as discussed above sets the pendulum in motion. When component submission starts, the pendulum moves from C to A. It reaches the initial position once again. This is when one full oscillation completes. 6. Conclusion From the study that we have conducted, it has come to our notice that OSSD is similar to its traditional counterpart in many aspects, but there are many areas in which it differs tremendously and these features make it different from the CSSD. As a concluding remark, we can say open source software is a competent alternative to CSS and the pendulum model that we proposed can very well demonstrate the functioning of OSSD. 7. References [1] Steven Webber, The Political Economy of Open Source Software, California, June [2] Bruce Perens, The Open Source Definition Available at: OSD.html Acc. on: Oct 2002 [3] Malcolm M. Profit Motive Splits Open Source Movement, Aug 26 th, Available at story/twb s0012 Acc. on: Oct 2002 [4] What is Free Software Foundation? Available at: Acc. on: Oct 2002 [5] Overview of GNU Project Available at: Acc. on: Oct 2002 [6]Ko Kuwabara, The Bazaar at the Edge of Chaos Chap 2: A Brief History of Linux. December Available at: Acc. on: Oct 2002 [7] Raymond, E.S., The Cathedral and the Bazaar O'Reilly & Associates, [8] Vinod Valloppillil, Open Source Software, A (new?) Development Methodology Nov [9] Lerner, Joshua and Tirole, Jean, "The Simple Economics of Open Source" (February 2000). [10] Ferrara Linux User Group, Open Source and Security 2001 Available at: aeronautica2001/opensecurity-2x1.pdf Acc. on: Nov 2002 [11] Dare Obasanjo, The Myth of Open Source Security Revisited v2.0, Available online: 11,00.html Acc. on: Nov 2002 [12] Tran, J.B., Holt, R.C., Forward and Reverse Architecture Repair Proc. Of CASCON 99, Toronto, pg 15-24, 1999 [13] Tran, J.B., Godfrey,M.W., Lee, H. S., Holt, R.C., Architectural Repair of Open Source Software. In Proceedings of International Workshop on Program Comprehension, Limerick, Ireland, June [14] Satzinger, Jackson, Burd System Analysis and Design in a Changing World, Thomson Learning, [15] Scott H, Charles W, Plakosh D., Jayatirtha A., Perspectives on Open Source Software, Software Engineering Institute, Pittsburgh, Nov 2001 p49. [16] Walt Scacchi, Is Open Source Software Development Faster, Better and Cheaper than Software Engineering?, 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, [17] Tran, J.B., Software Architecture Repair as a Form of Preventive Maintenance, Masters Thesis, University of Waterloo,
Selection and Management of Open Source Software in Libraries.
Selection and Management of Open Source Software in Libraries. Vimal kumar V. Asian School of Business Padmanabha Building Technopark, Trivandrum-695 581 [email protected] Abstract Open source software
Traditional Commercial Software Development. Open Source Development. Traditional Assumptions. Intangible Goods. Dr. James A.
Open Source Development Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Traditional Commercial Software Development Producing consumer-oriented software is often done in
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Open Source Approach in Software Development - Advantages and Disadvantages
Jovica Đurković Vuk Vuković Lazar Raković Article Info:, Vol. 3 (2008), No. 2, pp 029-033 Received 12 Jun 2008 Accepted 24 October 2008 UDC 004.4.057.8 Open Source Approach in Software Development - Advantages
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development
Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development Stefan Dietze Fraunhofer Institute for Software and Systems Engineering (ISST), Mollstr. 1, 10178
Open Source Software Development
Open Source Software Development OHJ-1860 Software Systems Seminar, 3 cr Imed Hammouda Institute of Software Systems Tampere University of Technology Course Information Open Source Software Development
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1
White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
Open Source. Knowledge Base. By: Karan Malik INTRODUCTION
Open Source By: Karan Malik INTRODUCTION Open source is a development method, offering accessibility to the source of a product. Some consider open source as possible design approaches, while some of them
Foundations for Systems Development
Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and
The Software Lifecycle. Software Lifecycles
The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments
Continuous integration End of the big bang integration era
Continuous integration End of the big bang integration era Patrick Laurent Partner Technology & Enterprise Applications Deloitte Mario Deserranno Manager Technology & Enterprise Applications Deloitte The
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
Modeling and Simulating Free/Open Source Software Development Processes
Modeling and Simulating Free/Open Source Software Development Processes Walt Scacchi Institute for Software Research School of Information and Computer Science University of California, Irvine Irvine,
On the Influence of Free Software on Code Reuse in Software Development
On the Influence of Free Software on Code Reuse in Software Development Marco Balduzzi Abstract Software reuse has become a topic of much interest in the software community due
Understanding the Differences between Proprietary & Free and Open Source Software
Understanding the Differences between Proprietary & Free and Open Source Software D Prasad 1 and Dr.Ch.Satyananda Reddy 2 1. Department of Computer Science & Engineering, DVR & Dr HS MIC College of Technology,
SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island
SPECIFICATION BY EXAMPLE How successful teams deliver the right software Gojko Adzic MANNING Shelter Island Brief Contents 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Preface xiii Acknowledgments xxii
Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia
Software Development Lifecycle Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia About Me Currently manage a team of 10 Program Managers at Microsoft Research Asia Over
Two case studies of Open Source Software Development: Apache and Mozilla
1 Two case studies of Open Source Software Development: Apache and Mozilla Audris Mockus, Roy Fielding, and James D Herbsleb Presented by Jingyue Li 2 Outline Research questions Research methods Data collection
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
A Survey of Software Development Process Models in Software Engineering
, pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman
OPEN SOURCE: THE NEXT BIG THING IN TECHNOLOGY TRANSFER TO DEVELOPING NATIONS
International Association for Management of Technology IAMOT 2008 Proceedings OPEN SOURCE: THE NEXT BIG THING IN TECHNOLOGY TRANSFER TO DEVELOPING NATIONS JAMIL ALKHATIB Handasa Arabia [email protected]
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
Lean Software Development
Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié Coach Agile Blog : www.agilex.fr Président du Club
Software Development: The Waterfall Model
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
Journal of. Risk Analysis of the Waterfall Model for Educational Software Development. Abstract
Journal of of Industrial Technology Ubon Ratchathani Rajabhat University Risk Analysis of the Waterfall Model for Educational Software Development Prawit Simmatun 1, Songsak Songsanit 2, Kanok Samavardhana
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
Software Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
Vinay Tiwari University Institute of Computer Science and Applications, R.D. Univ., Jabalpur, MP, India
Software Engineering Issues in Development Models of Open Source Software Vinay Tiwari University Institute of Computer Science and Applications, R.D. Univ., Jabalpur, MP, India Abstract In the recent
Introduction to Software Engineering
CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study
SECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
Open-Source vs. Proprietary Software Pros and Cons
Open-Source vs. Proprietary Software Pros and Cons Analyze the strengths and weaknesses of proprietary vs. open source software to determine what is best for your business. White Paper Weighing the Options
Benefits of Test Automation for Agile Testing
Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,
Software Testing Trends in Australia and Beyond
Software Testing Trends in Australia and Beyond Jason Lee Dolby Laboratories Australia Mark Pedersen K.J. Ross & Associates Australia Abstract This presentation looks at trends in software testing within
Software Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini [email protected],
Seven Habits of Highly Effective Product Development
Seven Habits of Highly Effective Product Development By John Lenss Manager, Electronic Components Sustaining and Value Engineering Thermo King In product development today, one question that always seems
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
Free software GNU/Linux TOR project
Fair Young Sustainable Inclusive and Cooperative (FYSIC) @ Modica Sicily Free software GNU/Linux TOR project Solira Software Libero Ragusa What is Solira? We promote the Free Software philosophy on local
Software Testing, Mythology & Methodologies
Software, Mythology & Methodologies Sonali Waje 1, Vandana Gaikwad 2, Pranchal Chaudhari 3 1,3 B.E. Information Technology, 2 B.E.Computer Engineering Abstract - It is generally believed that phases of
The So5ware Development Process (SDLC)
h(p://home.hit.no/~hansha/?page=so5ware_development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com The So5ware Development Process (SDLC) Hans- Pe(er Halvorsen, M.Sc. 1 IT System B.
Software Process Models. Xin Feng
Software Process Models Xin Feng Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the
Integrating Scrum with the Process Framework at Yahoo! Europe
Integrating Scrum with the Process Framework at Yahoo! Europe Karl Scotland Yahoo! Europe [email protected] Alexandre Boutin Yahoo! International [email protected] Abstract Large enterprise
Information Systems Development Process (Software Development Life Cycle)
Information Systems Development Process (Software Development Life Cycle) Phase 1 Feasibility Study Concerned with analyzing the benefits and solutions for the identified problem area Includes development
SEEM4570 System Design and Implementation Lecture 10 Software Development Process
SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also
A Framework to Represent Antecedents of User Interest in. Open-Source Software Projects
542 Business Transformation through Innovation and Knowledge Management: An Academic Perspective A Framework to Represent Antecedents of User Interest in Open-Source Software Projects 1 Amir Hossein Ghapanchi,
Importance of Testing in Software Development Life Cycle
International Journal of Scientific & Engineering Research Volume 3, Issue 5, May-2012 1 Importance of Testing in Software Development Life Cycle T.Rajani Devi Abstract in every organization, testing is
Successfully managing geographically distributed development
IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents
Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
Agile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Moving a Commercial Forecasting Product to Open Source
American Immunization Registry Conference October 7 9, 2013 Denver, CO Moving a Commercial Forecasting Product to Open Source Judy Merritt, Scientific Technologies Corporation Nathan Bunker, Dandelion
Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)
Lifecycle Planning Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Version 1.4 David Root, 2005, all rights reserved 1 Topics Who am I to
Establishing your Automation Development Lifecycle
Establishing your Automation Development Lifecycle Frequently I engage clients in assessing and improving their automation efforts. The discussion normally starts from a position of frustration We ve invested
Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper
Performance testing in Agile environments Deliver quality software in less time Business white paper Table of contents Executive summary... 2 Why Agile? And, why now?... 2 Incorporating performance testing
Large Scale Systems Design G52LSS
G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and
Release Management Within Open Source Projects
Management Within Open Source Projects Justin R. Erenkrantz Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 [email protected] Abstract A simple classification
SOFTWARE DESIGN TECHNIQUES. Nagalaxmi Telkar CSCI 5828 Presentation Slides
SOFTWARE DESIGN TECHNIQUES Nagalaxmi Telkar CSCI 5828 Presentation Slides CONTENTS Introduction Software Design Life Cycle Software Design Process Tackling Design Problems Architectural Design Abstract
40 Tips for Evaluating and Purchasing New ERP and Business Management Software
40 Tips for Evaluating and Purchasing New ERP and Business Management Software Essential Things to Consider When Selecting the Right Financial Accounting and ERP Software for Your Company Your financial
3F6 - Software Engineering and Design. Handout 15 Software Management I With Markup. Steve Young
3F6 - Software Engineering and Design Handout 15 Software Management I With Markup Steve Young Contents 1. Software Engineering 2. Software Life Cycle 3. Team Organisation 4. Product Development 5. Specification
Building CHAOS: an Operating System for Livermore Linux Clusters
UCRL-ID-151968 Building CHAOS: an Operating System for Livermore Linux Clusters Jim E. Garlick Chris M. Dunlap February 21, 2002 Approved for public release; further dissemination unlimited DISCLAIMER
Metatron Technology Consulting s Strategic Guide to Open Source Software
Metatron Technology Consulting s Strategic Guide to Open Source Software Chris Travers April 30, 2004 Copyright c April 30, 2004 Metatron Technology Consulting. Permission is granted for verbatim redistribution
A Study of RE Across Different Software Development Lifecycle Models. Afiya Nusrat and Navreet Ghag CS 846 Spring 2015
A Study of RE Across Different Software Development Lifecycle Models Afiya Nusrat and Navreet Ghag CS 846 Spring 2015 Motivation In-depth look at the SDL process and requirements gathering in two companies
Software Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Nova Software Quality Assurance Process
Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance
MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info
MANUAL TESTING (Complete Package) WEB APP TESTING DB TESTING MOBILE APP TESTING We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info START DATE : TIMINGS : DURATION :
Defining Quality Workbook. <Program/Project/Work Name> Quality Definition
Defining Quality Workbook Quality Definition Introduction: Defining Quality When starting on a piece of work it is important to understand what you are working towards. Much
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Enterprise Content Management (ECM)
Business Assessment: A Quick-Reference Summary Intro to MIKE2 methodology and phase 1 The methodology that will be used throughout the specialist track is based on the MIKE2 methodology. MIKE stands for
MKS Integrity & CMMI. July, 2007
& CMMI July, 2007 Why the drive for CMMI? Missed commitments Spiralling costs Late delivery to the market Last minute crunches Inadequate management visibility Too many surprises Quality problems Customer
Stuart Yeates. c University of Oxford This document is licensed under http://creativecommons.org/licenses/by-sa/2.0/uk/ OSS Watch
OSS Watch c University of Oxford This document is licensed under http://creativecommons.org/licenses/by-sa/2.0/uk/ Who this is talk for This is an introductory presentation. If you: are already familiar
2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
An introduction to the benefits of Application Lifecycle Management
An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application
Weaving the Software Development Process Between Requirements and Architectures
Weaving the Software Development Process Between and s Bashar Nuseibeh Computing Department The Open University Walton Hall Milton Keynes MK7 6AA, U.K. Email:[email protected] ABSTRACT This position
15 Principles of Project Management Success
15 Principles of Project Management Success Project management knowledge, tools and processes are not enough to make your project succeed. You need to get away from your desk and get your hands dirty.
2. Analysis, Design and Implementation
2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:
Custom Web Development Guidelines
Introduction Custom Web Development Guidelines Unlike shrink wrap software, custom software development involves a partnership between the architect/programmer/developer (SonicSpider) and the owner/testers/users
Source Code Control & Bugtracking
h(p://home.hit.no/~hansha/?page=sonware_development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com Source Code Control & Bugtracking Hans- Pe(er Halvorsen, M.Sc. 1 O. Widder. (2013).
