WorldWideScience

Sample records for oriented software engineering

  1. Object oriented development of engineering software using CLIPS

    Yoon, C. John

    1991-01-01

    Engineering applications involve numeric complexity and manipulations of a large amount of data. Traditionally, numeric computation has been the concern in developing an engineering software. As engineering application software became larger and more complex, management of resources such as data, rather than the numeric complexity, has become the major software design problem. Object oriented design and implementation methodologies can improve the reliability, flexibility, and maintainability of the resulting software; however, some tasks are better solved with the traditional procedural paradigm. The C Language Integrated Production System (CLIPS), with deffunction and defgeneric constructs, supports the procedural paradigm. The natural blending of object oriented and procedural paradigms has been cited as the reason for the popularity of the C++ language. The CLIPS Object Oriented Language's (COOL) object oriented features are more versatile than C++'s. A software design methodology based on object oriented and procedural approaches appropriate for engineering software, and to be implemented in CLIPS was outlined. A method for sensor placement for Space Station Freedom is being implemented in COOL as a sample problem.

  2. Blockchain-oriented Software Engineering: Challenges and New Directions

    Porru, Simone; Pinna, Andrea; Marchesi, Michele; Tonelli, Roberto

    2017-01-01

    The Blockchain technology is reshaping finance, economy, money to the extent that its disruptive power is compared to that of the Internet and the Web in their early days. As a result, all the software development revolving around the Blockchain technology is growing at a staggering rate. In this paper, we acknowledge the need for software engineers to devise specialized tools and techniques for blockchain-oriented software development. From current challenges concerning the definition of new...

  3. Aspect-Oriented Model-Driven Software Product Line Engineering

    Groher, Iris; Voelter, Markus

    Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This article presents an approach that facilitates variability implementation, management, and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed of aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution space models. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, template, and code level. The presented concepts are illustrated with a case study of a home automation system.

  4. The 7 C's for Creating Living Software: A Research Perspective for Quality-Oriented Software Engineering

    Aksit, Mehmet

    2004-01-01

    This article proposes the 7 C's for realizing quality-oriented software engineering practices. All the desired qualities of this approach are expressed in short by the term living software. The 7 C's are: Concern-oriented processes, Canonical models, Composable models, Certifiable models,

  5. Business engineering. Generic Software Architecture in an Object Oriented View

    Mihaela MURESAN

    2006-01-01

    Full Text Available The generic software architecture offers a solution for the the information system's development and implementation. A generic software/non-software model could be developed by integrating the enterprise blueprint concept (Zachman and the object oriented paradigm (Coad's archetype concept. The standardization of the generic software architecture for various specific software components could be a direction of crucial importance, offering the guarantee of the quality of the model and increasing the efficiency of the design, development and implementation of the software. This approach is also useful for the implementation of the ERP systems designed to fit the user’s particular requirements.

  6. Software Engineering Guidebook

    Connell, John; Wenneson, Greg

    1993-01-01

    The Software Engineering Guidebook describes SEPG (Software Engineering Process Group) supported processes and techniques for engineering quality software in NASA environments. Three process models are supported: structured, object-oriented, and evolutionary rapid-prototyping. The guidebook covers software life-cycles, engineering, assurance, and configuration management. The guidebook is written for managers and engineers who manage, develop, enhance, and/or maintain software under the Computer Software Services Contract.

  7. Agent-oriented software engineering reflections on architectures, methodologies, languages, and frameworks

    Shehory, Onn

    2014-01-01

    With this book, Onn Shehory and Arnon Sturm, together with further contributors, introduce the reader to various facets of agent-oriented software engineering (AOSE). They provide a selected collection of state-of-the-art findings, which combines research from information systems, artificial intelligence, distributed systems and software engineering and covers essential development aspects of agent-based systems. The book chapters are organized into five parts. The first part introduces the AOSE domain in general, including introduction to agents and the peculiarities of software engineerin

  8. Applying object-oriented software engineering at the BaBar collaboration

    Jacobsen, B.

    1997-01-01

    The BaBar experiment at SLAC will start taking data in 1999. We are attempting to build its reconstruction software using good software engineering practices, including the use of object-oriented technology. We summarize our experience to date with analysis and design activities, training, CASE and documentation tools, C++ programming practice and similar topics. The emphasis is on the practical issues of simultaneously introducing new techniques to a large collaboration while under a deadline for system delivery. (orig.)

  9. Software engineering

    Sommerville, Ian

    2010-01-01

    The ninth edition of Software Engineering presents a broad perspective of software engineering, focusing on the processes and techniques fundamental to the creation of reliable, software systems. Increased coverage of agile methods and software reuse, along with coverage of 'traditional' plan-driven software engineering, gives readers the most up-to-date view of the field currently available. Practical case studies, a full set of easy-to-access supplements, and extensive web resources make teaching the course easier than ever.

  10. Software engineering techniques applied to agricultural systems an object-oriented and UML approach

    Papajorgji, Petraq J

    2014-01-01

    Software Engineering Techniques Applied to Agricultural Systems presents cutting-edge software engineering techniques for designing and implementing better agricultural software systems based on the object-oriented paradigm and the Unified Modeling Language (UML). The focus is on the presentation of  rigorous step-by-step approaches for modeling flexible agricultural and environmental systems, starting with a conceptual diagram representing elements of the system and their relationships. Furthermore, diagrams such as sequential and collaboration diagrams are used to explain the dynamic and static aspects of the software system.    This second edition includes: a new chapter on Object Constraint Language (OCL), a new section dedicated to the Model-VIEW-Controller (MVC) design pattern, new chapters presenting details of two MDA-based tools – the Virtual Enterprise and Olivia Nova, and a new chapter with exercises on conceptual modeling.  It may be highly useful to undergraduate and graduate students as t...

  11. Software engineering

    Sommerville, Ian

    2016-01-01

    For courses in computer science and software engineering The Fundamental Practice of Software Engineering Software Engineering introduces readers to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world's major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner. The Tenth Edition contains new information that highlights various technological updates of recent years, providing readers with highly relevant and current information. Sommerville's experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.

  12. Methodology for object-oriented real-time systems analysis and design: Software engineering

    Schoeffler, James D.

    1991-01-01

    Successful application of software engineering methodologies requires an integrated analysis and design life-cycle in which the various phases flow smoothly 'seamlessly' from analysis through design to implementation. Furthermore, different analysis methodologies often lead to different structuring of the system so that the transition from analysis to design may be awkward depending on the design methodology to be used. This is especially important when object-oriented programming is to be used for implementation when the original specification and perhaps high-level design is non-object oriented. Two approaches to real-time systems analysis which can lead to an object-oriented design are contrasted: (1) modeling the system using structured analysis with real-time extensions which emphasizes data and control flows followed by the abstraction of objects where the operations or methods of the objects correspond to processes in the data flow diagrams and then design in terms of these objects; and (2) modeling the system from the beginning as a set of naturally occurring concurrent entities (objects) each having its own time-behavior defined by a set of states and state-transition rules and seamlessly transforming the analysis models into high-level design models. A new concept of a 'real-time systems-analysis object' is introduced and becomes the basic building block of a series of seamlessly-connected models which progress from the object-oriented real-time systems analysis and design system analysis logical models through the physical architectural models and the high-level design stages. The methodology is appropriate to the overall specification including hardware and software modules. In software modules, the systems analysis objects are transformed into software objects.

  13. Software engineering

    Thorin, Marc

    1985-01-01

    Software Engineering describes the conceptual bases as well as the main methods and rules on computer programming. This book presents software engineering as a coherent and logically built synthesis and makes it possible to properly carry out an application of small or medium difficulty that can later be developed and adapted to more complex cases. This text is comprised of six chapters and begins by introducing the reader to the fundamental notions of entities, actions, and programming. The next two chapters elaborate on the concepts of information and consistency domains and show that a proc

  14. Software engineering the current practice

    Rajlich, Vaclav

    2011-01-01

    INTRODUCTION History of Software EngineeringSoftware PropertiesOrigins of SoftwareBirth of Software EngineeringThird Paradigm: Iterative ApproachSoftware Life Span ModelsStaged ModelVariants of Staged ModelSoftware Technologies Programming Languages and CompilersObject-Oriented TechnologyVersion Control SystemSoftware ModelsClass DiagramsUML Activity DiagramsClass Dependency Graphs and ContractsSOFTWARE CHANGEIntroduction to Software ChangeCharacteristics of Software ChangePhases of Software ChangeRequirements and Their ElicitationRequirements Analysis and Change InitiationConcepts and Concept

  15. Real World Software Engineering

    1994-07-15

    You put the new kid there and their first promotion is out of maintenance. ii Maintenance is not sufficiently emphasized as an important criteria for...the successful material from Koffman’s CS1 pedagogy with a software-engineering-oriented Ada presentation order. Packages are introduced early and...Shumate, K. Understanding Ada. 2nd edition, John Wiley & Sons. This would make a CS1 book if it included more overall pedagogy , independent of language

  16. Context-Oriented Language Engineering

    T. van der Storm (Tijs)

    2017-01-01

    textabstractContext-oriented programming (COP) facilitates creating software that can dynamically adapt to its environment, such as device, user preferences, sensor inputs and so on. Software language engineering (SLE) is the discipline of principled methods and techniques for creating software

  17. Future of Software Engineering Standards

    Poon, Peter T.

    1997-01-01

    In the new millennium, software engineering standards are expected to continue to influence the process of producing software-intensive systems which are cost-effetive and of high quality. These sytems may range from ground and flight systems used for planetary exploration to educational support systems used in schools as well as consumer-oriented systems.

  18. Software Engineering Education Directory

    1990-04-01

    and Engineering (CMSC 735) Codes: GPEV2 * Textiooks: IEEE Tutoria on Models and Metrics for Software Management and Engameeing by Basi, Victor R...Software Engineering (Comp 227) Codes: GPRY5 Textbooks: IEEE Tutoria on Software Design Techniques by Freeman, Peter and Wasserman, Anthony 1. Software

  19. Software SCMS re-engineering for a objected oriented language (JAVA) for use in construction of segmented phantoms

    Possani, Rafael Guedes

    2012-01-01

    Recent treatment planning systems depend strongly on CT images and the tendency is that the internal dosimetry procedures in nuclear medicine therapy be also based on images, such as magnetic resonance imaging (MRI) and computed tomography (CT), to extract anatomical and histological information, as well as, functional imaging or activities map as PET and SPECT. This information associated with a radiation transport simulation software is used to estimate internal dose in patients undergoing treatment in nuclear medicine. This work aims to re-engineer the software SCMS, which is an interface software between the Monte Carlo code MCNP, and the medical images, that carry information from the patient in treatment. In other words, the necessary information contained in the images are interpreted and presented in a specific format to the Monte Carlo MCNP code to perform the simulation of radiation transport. Therefore, the user does not need to understand the complex process of inputting data on MCNP, as the SCMS is responsible for automatically constructing anatomical data from the patient, as well as the radioactive source data. The SCMS was originally developed in Fortran-77. In this work it was rewritten in an object-oriented language (JAVA). New features and data options have also been incorporated into the software. Thus, the new software has a number of improvements, such as intuitive GUI and a menu for the selection of the energy spectra correspondent to a specific radioisotope stored in a XML data bank. The new version also supports new materials and the user can specify an image region of interest for the calculation of absorbed dose. (author)

  20. Software engineer's pocket book

    Tooley, Michael

    2013-01-01

    Software Engineer's Pocket Book provides a concise discussion on various aspects of software engineering. The book is comprised of six chapters that tackle various areas of concerns in software engineering. Chapter 1 discusses software development, and Chapter 2 covers programming languages. Chapter 3 deals with operating systems. The book also tackles discrete mathematics and numerical computation. Data structures and algorithms are also explained. The text will be of great use to individuals involved in the specification, design, development, implementation, testing, maintenance, and qualit

  1. Developing Learning Tool of Control System Engineering Using Matrix Laboratory Software Oriented on Industrial Needs

    Isnur Haryudo, Subuh; Imam Agung, Achmad; Firmansyah, Rifqi

    2018-04-01

    The purpose of this research is to develop learning media of control technique using Matrix Laboratory software with industry requirement approach. Learning media serves as a tool for creating a better and effective teaching and learning situation because it can accelerate the learning process in order to enhance the quality of learning. Control Techniques using Matrix Laboratory software can enlarge the interest and attention of students, with real experience and can grow independent attitude. This research design refers to the use of research and development (R & D) methods that have been modified by multi-disciplinary team-based researchers. This research used Computer based learning method consisting of computer and Matrix Laboratory software which was integrated with props. Matrix Laboratory has the ability to visualize the theory and analysis of the Control System which is an integration of computing, visualization and programming which is easy to use. The result of this instructional media development is to use mathematical equations using Matrix Laboratory software on control system application with DC motor plant and PID (Proportional-Integral-Derivative). Considering that manufacturing in the field of Distributed Control systems (DCSs), Programmable Controllers (PLCs), and Microcontrollers (MCUs) use PID systems in production processes are widely used in industry.

  2. The Generalized Support Software (GSS) Domain Engineering Process: An Object-Oriented Implementation and Reuse Success at Goddard Space Flight Center

    Condon, Steven; Hendrick, Robert; Stark, Michael E.; Steger, Warren

    1997-01-01

    The Flight Dynamics Division (FDD) of NASA's Goddard Space Flight Center (GSFC) recently embarked on a far-reaching revision of its process for developing and maintaining satellite support software. The new process relies on an object-oriented software development method supported by a domain specific library of generalized components. This Generalized Support Software (GSS) Domain Engineering Process is currently in use at the NASA GSFC Software Engineering Laboratory (SEL). The key facets of the GSS process are (1) an architecture for rapid deployment of FDD applications, (2) a reuse asset library for FDD classes, and (3) a paradigm shift from developing software to configuring software for mission support. This paper describes the GSS architecture and process, results of fielding the first applications, lessons learned, and future directions

  3. Software Engineering Improvement Plan

    2006-01-01

    In performance of this task order, bd Systems personnel provided support to the Flight Software Branch and the Software Working Group through multiple tasks related to software engineering improvement and to activities of the independent Technical Authority (iTA) Discipline Technical Warrant Holder (DTWH) for software engineering. To ensure that the products, comments, and recommendations complied with customer requirements and the statement of work, bd Systems personnel maintained close coordination with the customer. These personnel performed work in areas such as update of agency requirements and directives database, software effort estimation, software problem reports, a web-based process asset library, miscellaneous documentation review, software system requirements, issue tracking software survey, systems engineering NPR, and project-related reviews. This report contains a summary of the work performed and the accomplishments in each of these areas.

  4. Global Software Engineering: A Software Process Approach

    Richardson, Ita; Casey, Valentine; Burton, John; McCaffery, Fergal

    Our research has shown that many companies are struggling with the successful implementation of global software engineering, due to temporal, cultural and geographical distance, which causes a range of factors to come into play. For example, cultural, project managementproject management and communication difficulties continually cause problems for software engineers and project managers. While the implementation of efficient software processes can be used to improve the quality of the software product, published software process models do not cater explicitly for the recent growth in global software engineering. Our thesis is that global software engineering factors should be included in software process models to ensure their continued usefulness in global organisations. Based on extensive global software engineering research, we have developed a software process, Global Teaming, which includes specific practices and sub-practices. The purpose is to ensure that requirements for successful global software engineering are stipulated so that organisations can ensure successful implementation of global software engineering.

  5. Sustainability in Software Engineering

    Wolfram, N.J.E.; Lago, P.; Osborne, Francesco

    2017-01-01

    The intersection between software engineering research and issues related to sustainability and green IT has been the subject of increasing attention. In spite of that, we observe that sustainability is still not clearly defined, or understood, in the field of software engineering. This lack of

  6. Global Software Engineering

    Ebert, Christof; Kuhrmann, Marco; Prikladnicki, Rafael

    2016-01-01

    Professional software products and IT systems and services today are developed mostly by globally distributed teams, projects, and companies. Successfully orchestrating Global Software Engineering (GSE) has become the major success factor both for organizations and practitioners. Yet, more than...... and experience reported at the IEEE International Conference on Software Engineering (ICGSE) series. The outcomes of our analysis show GSE as a field highly attached to industry and, thus, a considerable share of ICGSE papers address the transfer of Software Engineering concepts and solutions to the global stage...

  7. Software Engineering for Portability.

    Stanchev, Ivan

    1990-01-01

    Discussion of the portability of educational software focuses on the software design and development process. Topics discussed include levels of portability; the user-computer dialog; software engineering principles; design techniques for student performance records; techniques of courseware programing; and suggestions for further research and…

  8. Software engineering architecture-driven software development

    Schmidt, Richard F

    2013-01-01

    Software Engineering: Architecture-driven Software Development is the first comprehensive guide to the underlying skills embodied in the IEEE's Software Engineering Body of Knowledge (SWEBOK) standard. Standards expert Richard Schmidt explains the traditional software engineering practices recognized for developing projects for government or corporate systems. Software engineering education often lacks standardization, with many institutions focusing on implementation rather than design as it impacts product architecture. Many graduates join the workforce with incomplete skil

  9. Unified Engineering Software System

    Purves, L. R.; Gordon, S.; Peltzman, A.; Dube, M.

    1989-01-01

    Collection of computer programs performs diverse functions in prototype engineering. NEXUS, NASA Engineering Extendible Unified Software system, is research set of computer programs designed to support full sequence of activities encountered in NASA engineering projects. Sequence spans preliminary design, design analysis, detailed design, manufacturing, assembly, and testing. Primarily addresses process of prototype engineering, task of getting single or small number of copies of product to work. Written in FORTRAN 77 and PROLOG.

  10. Benefits of user-oriented software development based on an iterative cyclic process model for simultaneous engineering

    Rauterberg, G.W.M.; Strohm, O.; Kirsch, C.

    1995-01-01

    The current state of traditional software development is surveyed and essential problems are investigated on the basis of empirical data and theoretical considerations. The concept of optimisation cycle is proposed as a solution for simultaneous engineering. The relationships of several different

  11. Software engineering in industry

    Story, C. M.

    1989-12-01

    Can software be "engineered"? Can a few people with limited resources and a negligible budget produce high quality software solutions to complex software problems? It is possible to resolve the conflict between research activities and the necessity to view software development as a means to an end rather than as an end in itself? The aim of this paper is to encourage further thought and discussion on various topics which, in the author's experience, are becoming increasingly critical in large current software production and development projects, inside and outside high energy physics (HEP). This is done by briefly exploring some of the software engineering ideas and technologies now used in the information industry, using, as a case-study, a project with many similarities to those currently under way in HEP.

  12. Software engineering ethics

    Bown, Rodney L.

    1991-01-01

    Software engineering ethics is reviewed. The following subject areas are covered: lack of a system viewpoint; arrogance of PC DOS software vendors; violation od upward compatibility; internet worm; internet worm revisited; student cheating and company hiring interviews; computing practitioners and the commodity market; new projects and old programming languages; schedule and budget; and recent public domain comments.

  13. Beginning software engineering

    Stephens, Rod

    2015-01-01

    Beginning Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside!

  14. Global Software Engineering

    Ebert, Christof; Kuhrmann, Marco; Prikladnicki, Rafael

    2016-01-01

    SOFTWARE, LIKE ALL industry products, is the result of complex multinational supply chains with many partners from concept to development to production and maintenance. Global software engineering (GSE), IT outsourcing, and business process outsourcing during the past decade have showed growth...... rates of 10 to 20 percent per year. This instalment of Practitioner’s Digest summarizes experiences and guidance from industry to facilitate knowledge and technology transfer for GSE. It’s based on industry feedback from the annual IEEE International Conference on Global Software Engineering, which had...

  15. Testing Object-Oriented Software

    Caspersen, Michael Edelgaard; Madsen, Ole Lehrmann; Skov, Stefan H.

    The report is a result of an activity within the project Centre for Object Technology (COT), case 2. In case 2 a number of pilot projects have been carried out to test the feasibility of using object technology within embedded software. Some of the pilot projects have resulted in proto-types that......The report is a result of an activity within the project Centre for Object Technology (COT), case 2. In case 2 a number of pilot projects have been carried out to test the feasibility of using object technology within embedded software. Some of the pilot projects have resulted in proto......-types that are currently being developed into production versions. To assure a high quality in the product it was decided to carry out an activ-ity regarding issues in testing OO software. The purpose of this report is to discuss the issues of testing object-oriented software. It is often claimed that testing of OO...... software is radically different form testing traditional software developed using imperative/procedural programming. Other authors claim that there is no difference. In this report we will attempt to give an answer to these questions (or at least initiate a discussion)....

  16. Green in software engineering

    Calero Munoz, Coral

    2015-01-01

    This is the first book that presents a comprehensive overview of sustainability aspects in software engineering. Its format follows the structure of the SWEBOK and covers the key areas involved in the incorporation of green aspects in software engineering, encompassing topics from requirement elicitation to quality assurance and maintenance, while also considering professional practices and economic aspects. The book consists of thirteen chapters, which are structured in five parts. First the "Introduction" gives an overview of the primary general concepts related to Green IT, discussing wha

  17. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 14

    1996-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  18. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 15

    1997-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  19. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 13

    1995-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  20. An engineering context for software engineering

    Riehle, Richard D.

    2008-01-01

    New engineering disciplines are emerging in the late Twentieth and early Twenty-first Century. One such emerging discipline is software engineering. The engineering community at large has long harbored a sense of skepticism about the validity of the term software engineering. During most of the fifty-plus years of software practice, that skepticism was probably justified. Professional education of software developers often fell short of the standard expected for conventional engineers; so...

  1. Reliability Engineering for Service Oriented Architectures

    2013-02-01

    Common Object Request Broker Architecture Ecosystem In software , an ecosystem is a set of applications and/or services that grad- ually build up over time...Enterprise Service Bus Foreign In an SOA context: Any SOA, service or software which the owners of the calling software do not have control of, either...SOA Service Oriented Architecture SRE Software Reliability Engineering System Mode Many systems exhibit different modes of operation. E.g. the cockpit

  2. TWRS engineering bibliography software listing

    Husa, E.I.

    1995-01-01

    This document contains the computer software listing for Engineering Bibliography software, developed by E. Ivar Husa. This software is in the working prototype stage of development. The code has not been tested to requirements. TWRS Engineering created this software for engineers to share bibliographic references across the Hanford site network (HLAN). This software is intended to store several hundred to several thousand references (a compendium with limited range). Coded changes are needed to support the larger number of references

  3. Software Engineering Reviews and Audits

    Summers, Boyd L

    2011-01-01

    Accurate software engineering reviews and audits have become essential to the success of software companies and military and aerospace programs. These reviews and audits define the framework and specific requirements for verifying software development efforts. Authored by an industry professional with three decades of experience, Software Engineering Reviews and Audits offers authoritative guidance for conducting and performing software first article inspections, and functional and physical configuration software audits. It prepares readers to answer common questions for conducting and perform

  4. Reflections on Software Engineering Education

    van Vliet, H.

    2006-01-01

    In recent years, the software engineering community has focused on organizing its existing knowledge and finding opportunities to transform that knowledge into a university curriculum. SWEBOK (the Guide to the Software Engineering Body of Knowledge) and Software Engineering 2004 are two initiatives

  5. Computer games and software engineering

    Cooper, Kendra M L

    2015-01-01

    Computer games represent a significant software application domain for innovative research in software engineering techniques and technologies. Game developers, whether focusing on entertainment-market opportunities or game-based applications in non-entertainment domains, thus share a common interest with software engineers and developers on how to best engineer game software.Featuring contributions from leading experts in software engineering, the book provides a comprehensive introduction to computer game software development that includes its history as well as emerging research on the inte

  6. Software engineering methodologies and tools

    Wilcox, Lawrence M.

    1993-01-01

    Over the years many engineering disciplines have developed, including chemical, electronic, etc. Common to all engineering disciplines is the use of rigor, models, metrics, and predefined methodologies. Recently, a new engineering discipline has appeared on the scene, called software engineering. For over thirty years computer software has been developed and the track record has not been good. Software development projects often miss schedules, are over budget, do not give the user what is wanted, and produce defects. One estimate is there are one to three defects per 1000 lines of deployed code. More and more systems are requiring larger and more complex software for support. As this requirement grows, the software development problems grow exponentially. It is believed that software quality can be improved by applying engineering principles. Another compelling reason to bring the engineering disciplines to software development is productivity. It has been estimated that productivity of producing software has only increased one to two percent a year in the last thirty years. Ironically, the computer and its software have contributed significantly to the industry-wide productivity, but computer professionals have done a poor job of using the computer to do their job. Engineering disciplines and methodologies are now emerging supported by software tools that address the problems of software development. This paper addresses some of the current software engineering methodologies as a backdrop for the general evaluation of computer assisted software engineering (CASE) tools from actual installation of and experimentation with some specific tools.

  7. Software and Network Engineering

    2012-01-01

    The series "Studies in Computational Intelligence" (SCI) publishes new developments and advances in the various areas of computational intelligence – quickly and with a high quality. The intent is to cover the theory, applications, and design methods of computational intelligence, as embedded in the fields of engineering, computer science, physics and life science, as well as the methodologies behind them. The series contains monographs, lecture notes and edited volumes in computational intelligence spanning the areas of neural networks, connectionist systems, genetic algorithms, evolutionary computation, artificial intelligence, cellular automata, self-organizing systems, soft computing, fuzzy systems, and hybrid intelligent systems. Critical to both contributors and readers are the short publication time and world-wide distribution - this permits a rapid and broad dissemination of research results.   The purpose of the first ACIS International Symposium on Software and Network Engineering held on Decembe...

  8. Software engineering a practitioner's approach

    Pressman, Roger S

    1997-01-01

    This indispensable guide to software engineering exploration enables practitioners to navigate the ins and outs of this rapidly changing field. Pressman's fully revised and updated Fourth Edition provides in-depth coverage of every important management and technical topic in software engineering. Moreover, readers will find the inclusion of the hottest developments in the field such as: formal methods and cleanroom software engineering, business process reengineering, and software reengineering.

  9. Automating Object-Oriented Software Development Methods

    Tekinerdogan, B.; Saeki, Motoshi; Sunyé, Gerson; van den Broek, P.M.; Hruby, Pavel; Tekinerdogan, B.; van den Broek, P.M.; Saeki, M.; Hruby, P.; Sunye, G.

    2001-01-01

    Current software projects have generally to deal with producing and managing large and complex software products. It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality. As such numerous object-oriented software

  10. Automating Object-Oriented Software Development Methods

    Tekinerdogan, B.; Frohner, A´ kos; Saeki, Motoshi; Sunyé, Gerson; van den Broek, P.M.; Hruby, Pavel

    2002-01-01

    Current software projects have generally to deal with producing and managing large and complex software products. It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality. As such numerous object-oriented software

  11. Software Engineering for Human Spaceflight

    Fredrickson, Steven E.

    2014-01-01

    The Spacecraft Software Engineering Branch of NASA Johnson Space Center (JSC) provides world-class products, leadership, and technical expertise in software engineering, processes, technology, and systems management for human spaceflight. The branch contributes to major NASA programs (e.g. ISS, MPCV/Orion) with in-house software development and prime contractor oversight, and maintains the JSC Engineering Directorate CMMI rating for flight software development. Software engineering teams work with hardware developers, mission planners, and system operators to integrate flight vehicles, habitats, robotics, and other spacecraft elements. They seek to infuse automation and autonomy into missions, and apply new technologies to flight processor and computational architectures. This presentation will provide an overview of key software-related projects, software methodologies and tools, and technology pursuits of interest to the JSC Spacecraft Software Engineering Branch.

  12. SEI Software Engineering Education Directory.

    1987-02-01

    Planning, and Control, Kotler , P. Marketing Decision Making, Concepts and Strategy, Cravens Managerial Fnance: Essentials, Kroncke, C., Nammers, E., and...Textbooks: Applying Software Engineering Principles , Maria Systems: Cyber Turbo Dos Variety of Micros Courses: Introduction to Software Engineering...Assistant Professor of Computer Systems (513) 255-6913 Courses: Software Engineeing Managemrent EENG543 G N R A Textbooks: Principles of Productive

  13. Model-driven software engineering

    Amstel, van M.F.; Brand, van den M.G.J.; Protic, Z.; Verhoeff, T.; Hamberg, R.; Verriet, J.

    2014-01-01

    Software plays an important role in designing and operating warehouses. However, traditional software engineering methods for designing warehouse software are not able to cope with the complexity, size, and increase of automation in modern warehouses. This chapter describes Model-Driven Software

  14. Model-Based Software Testing for Object-Oriented Software

    Biju, Soly Mathew

    2008-01-01

    Model-based testing is one of the best solutions for testing object-oriented software. It has a better test coverage than other testing styles. Model-based testing takes into consideration behavioural aspects of a class, which are usually unchecked in other testing methods. An increase in the complexity of software has forced the software industry…

  15. NASA software documentation standard software engineering program

    1991-01-01

    The NASA Software Documentation Standard (hereinafter referred to as Standard) can be applied to the documentation of all NASA software. This Standard is limited to documentation format and content requirements. It does not mandate specific management, engineering, or assurance standards or techniques. This Standard defines the format and content of documentation for software acquisition, development, and sustaining engineering. Format requirements address where information shall be recorded and content requirements address what information shall be recorded. This Standard provides a framework to allow consistency of documentation across NASA and visibility into the completeness of project documentation. This basic framework consists of four major sections (or volumes). The Management Plan contains all planning and business aspects of a software project, including engineering and assurance planning. The Product Specification contains all technical engineering information, including software requirements and design. The Assurance and Test Procedures contains all technical assurance information, including Test, Quality Assurance (QA), and Verification and Validation (V&V). The Management, Engineering, and Assurance Reports is the library and/or listing of all project reports.

  16. Engineering high quality medical software

    Coronato, Antonio

    2018-01-01

    This book focuses on high-confidence medical software in the growing field of e-health, telecare services and health technology. It covers the development of methodologies and engineering tasks together with standards and regulations for medical software.

  17. Recommendation systems in software engineering

    Robillard, Martin P; Walker, Robert J; Zimmermann, Thomas

    2014-01-01

    With the growth of public and private data stores and the emergence of off-the-shelf data-mining technology, recommendation systems have emerged that specifically address the unique challenges of navigating and interpreting software engineering data.This book collects, structures and formalizes knowledge on recommendation systems in software engineering. It adopts a pragmatic approach with an explicit focus on system design, implementation, and evaluation. The book is divided into three parts: "Part I - Techniques" introduces basics for building recommenders in software engineering, including techniques for collecting and processing software engineering data, but also for presenting recommendations to users as part of their workflow.?"Part II - Evaluation" summarizes methods and experimental designs for evaluating recommendations in software engineering.?"Part III - Applications" describes needs, issues and solution concepts involved in entire recommendation systems for specific software engineering tasks, fo...

  18. Statistical Software Engineering

    1998-04-13

    multiversion software subject to coincident errors. IEEE Trans. Software Eng. SE-11:1511-1517. Eckhardt, D.E., A.K Caglayan, J.C. Knight, L.D. Lee, D.F...J.C. and N.G. Leveson. 1986. Experimental evaluation of the assumption of independence in multiversion software. IEEE Trans. Software

  19. Aspect-Oriented Software Development

    Filman, R.E.; Elrad, T.; Clarke, S.; Aksit, Mehmet; Unknown, [Unknown

    2004-01-01

    Software development is changing. The opportunities of the Internet, computerized businesses, and computer-savvy consumers, the exponential decline in the cost of computation and communication, and the increasingly dynamic environment for longer-living systems are pressing software developers to

  20. Software engineering : redundancy is key

    Brand, van den M.G.J.; Groote, J.F.

    2015-01-01

    Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each

  1. Product-oriented Software Certification Process for Software Synthesis

    Nelson, Stacy; Fischer, Bernd; Denney, Ewen; Schumann, Johann; Richardson, Julian; Oh, Phil

    2004-01-01

    The purpose of this document is to propose a product-oriented software certification process to facilitate use of software synthesis and formal methods. Why is such a process needed? Currently, software is tested until deemed bug-free rather than proving that certain software properties exist. This approach has worked well in most cases, but unfortunately, deaths still occur due to software failure. Using formal methods (techniques from logic and discrete mathematics like set theory, automata theory and formal logic as opposed to continuous mathematics like calculus) and software synthesis, it is possible to reduce this risk by proving certain software properties. Additionally, software synthesis makes it possible to automate some phases of the traditional software development life cycle resulting in a more streamlined and accurate development process.

  2. Model-based Software Engineering

    Kindler, Ekkart

    2010-01-01

    The vision of model-based software engineering is to make models the main focus of software development and to automatically generate software from these models. Part of that idea works already today. But, there are still difficulties when it comes to behaviour. Actually, there is no lack in models...

  3. Software engineering beyond the project

    Dittrich, Yvonne

    2014-01-01

    Context The main part of software engineering methods, tools and technologies has developed around projects as the central organisational form of software development. A project organisation depends on clear bounds regarding scope, participants, development effort and lead-time. What happens when...... of traditional software engineering, but makes perfect sense, considering that the frame of reference for product development is not a project but continuous innovation across the respective ecosystem. The article provides a number of concrete points for further research....

  4. Collected software engineering papers, volume 9

    1991-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1990 through October 1991. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the ninth such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. For the convenience of this presentation, the eight papers contained here are grouped into three major categories: (1) software models studies; (2) software measurement studies; and (3) Ada technology studies. The first category presents studies on reuse models, including a software reuse model applied to maintenance and a model for an organization to support software reuse. The second category includes experimental research methods and software measurement techniques. The third category presents object-oriented approaches using Ada and object-oriented features proposed for Ada. The SEL is actively working to understand and improve the software development process at GSFC.

  5. Handbook of Software Engineering and Knowledge Engineering

    2001-01-01

    This is the first handbook to cover comprehensively both software engineering and knowledge engineering - two important fields that have become interwoven in recent years. Over 60 international experts have contributed to the book. Each chapter has been written in such a way that a practitioner of software engineering and knowledge engineering can easily understand and obtain useful information. Each chapter covers one topic and can be read independently of other chapters, providing both a general survey of the topic and an in-depth exposition of the state of the art.

  6. An Engineering Context for Software Engineering

    2008-09-01

    predictable properties. The first two are due to Boehm as described in Pressman [Pre05] and called validation versus verification. 1. solving the right...Quality Software, 2nd ed., New York: Macmillan, 1991. [Pre05] Pressman , Roger, Software Engineering: A Practitioner’s Approach, Sixth Edition, McGraw

  7. Professional Issues In Software Engineering

    Bott, Frank; Eaton, Jack; Rowland, Diane

    2000-01-01

    An comprehensive text covering all the issues that software engineers now have to take into account apart from the technical side of things. Includes information on the legal, professional and commercial context in which they work.

  8. Computer systems and software engineering

    Mckay, Charles W.

    1988-01-01

    The High Technologies Laboratory (HTL) was established in the fall of 1982 at the University of Houston Clear Lake. Research conducted at the High Tech Lab is focused upon computer systems and software engineering. There is a strong emphasis on the interrelationship of these areas of technology and the United States' space program. In Jan. of 1987, NASA Headquarters announced the formation of its first research center dedicated to software engineering. Operated by the High Tech Lab, the Software Engineering Research Center (SERC) was formed at the University of Houston Clear Lake. The High Tech Lab/Software Engineering Research Center promotes cooperative research among government, industry, and academia to advance the edge-of-knowledge and the state-of-the-practice in key topics of computer systems and software engineering which are critical to NASA. The center also recommends appropriate actions, guidelines, standards, and policies to NASA in matters pertinent to the center's research. Results of the research conducted at the High Tech Lab/Software Engineering Research Center have given direction to many decisions made by NASA concerning the Space Station Program.

  9. A Cloverleaf of Software Engineering

    Bjørner, Dines

    2005-01-01

    , however "lite". Third, despite 35 years of formal methods, the SE industry, maturity-wise still lags far behind that of other engineering disciplines. So we examine why. Finally, in several areas, in health care, in architecture, and others, we see that major undertakings are primarily spearheaded...... by senior academic staff. Professors of medicine daily perform specialized surgery and treatments at hospitals. Professors of architecture design new, daring buildings for industry, and professors of civil engineering head the engineering structural design of new, daring bridges. So we speculate what......We shall touch upon four issues of software engineering (SE): domain engineering, formal techniques, SE sociology, and academic software architects. First, before software can be designed one must understand its requirements; but before requirements can be formulated one must understand the domain...

  10. A Multidimensional Software Engineering Course

    Barzilay, O.; Hazzan, O.; Yehudai, A.

    2009-01-01

    Software engineering (SE) is a multidimensional field that involves activities in various areas and disciplines, such as computer science, project management, and system engineering. Though modern SE curricula include designated courses that address these various subjects, an advanced summary course that synthesizes them is still missing. Such a…

  11. A Survey of Various Object Oriented Requirement Engineering Methods

    Anandi Mahajan; Dr. Anurag Dixit

    2013-01-01

    In current years many industries have been moving to the use of object-oriented methods for the development of large scale information systems The requirement of Object Oriented approach in the development of software systems is increasing day by day. This paper is basically a survey paper on various Object-oriented requirement engineering methods. This paper contains a summary of the available Object-oriented requirement engineering methods with their relative advantages and disadvantages...

  12. Object-Oriented Software Development Environments

    The book "Object-Oriented Environments - The Mjølner Approach" presents the collective results of the Mjølner Project. The project was set up to work on the widely recognized problems of developing, maintaining and understanding large software systems. The starting point was to use object...... and realizations User interfaces for environments and realizations Grammar-based software architectures Structure-based editing Language implementation, runtime organization, garbage collection Incremental compilation techniques...

  13. NASA Software Engineering Benchmarking Study

    Rarick, Heather L.; Godfrey, Sara H.; Kelly, John C.; Crumbley, Robert T.; Wifl, Joel M.

    2013-01-01

    To identify best practices for the improvement of software engineering on projects, NASA's Offices of Chief Engineer (OCE) and Safety and Mission Assurance (OSMA) formed a team led by Heather Rarick and Sally Godfrey to conduct this benchmarking study. The primary goals of the study are to identify best practices that: Improve the management and technical development of software intensive systems; Have a track record of successful deployment by aerospace industries, universities [including research and development (R&D) laboratories], and defense services, as well as NASA's own component Centers; and Identify candidate solutions for NASA's software issues. Beginning in the late fall of 2010, focus topics were chosen and interview questions were developed, based on the NASA top software challenges. Between February 2011 and November 2011, the Benchmark Team interviewed a total of 18 organizations, consisting of five NASA Centers, five industry organizations, four defense services organizations, and four university or university R and D laboratory organizations. A software assurance representative also participated in each of the interviews to focus on assurance and software safety best practices. Interviewees provided a wealth of information on each topic area that included: software policy, software acquisition, software assurance, testing, training, maintaining rigor in small projects, metrics, and use of the Capability Maturity Model Integration (CMMI) framework, as well as a number of special topics that came up in the discussions. NASA's software engineering practices compared favorably with the external organizations in most benchmark areas, but in every topic, there were ways in which NASA could improve its practices. Compared to defense services organizations and some of the industry organizations, one of NASA's notable weaknesses involved communication with contractors regarding its policies and requirements for acquired software. One of NASA's strengths

  14. Guide to advanced empirical software engineering

    Shull, Forrest; Singer, Janice; Sjøberg, Dag I. K

    2008-01-01

    ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Section I Research Methods and Techniques Chapter 1 Software Engineering Data Collection for Field Studies...

  15. Energy-Aware Software Engineering

    Eder, Kerstin; Gallagher, John Patrick

    2017-01-01

    A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather......, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code....

  16. Collected software engineering papers, volume 2

    1983-01-01

    Topics addressed include: summaries of the software engineering laboratory (SEL) organization, operation, and research activities; results of specific research projects in the areas of resource models and software measures; and strategies for data collection for software engineering research.

  17. Software engineering processes principles and applications

    Wang, Yingxu

    2000-01-01

    Fundamentals of the Software Engineering ProcessIntroductionA Unified Framework of the Software Engineering ProcessProcess AlgebraProcess-Based Software EngineeringSoftware Engineering Process System ModelingThe CMM ModelThe ISO 9001 ModelThe BOOTSTRAP ModelThe ISO/IEC 15504 (SPICE) ModelThe Software Engineering Process Reference Model: SEPRMSoftware Engineering Process System AnalysisBenchmarking the SEPRM ProcessesComparative Analysis of Current Process ModelsTransformation of Capability Levels Between Current Process ModelsSoftware Engineering Process EstablishmentSoftware Process Establish

  18. Software quality engineering a practitioner's approach

    Suryn, Witold

    2014-01-01

    Software quality stems from two distinctive, but associated, topics in software engineering: software functional quality and software structural quality. Software Quality Engineering studies the tenets of both of these notions, which focus on the efficiency and value of a design, respectively. The text addresses engineering quality on both the application and system levels with attention to Information Systems and Embedded Systems as well as recent developments. Targeted at graduate engineering students and software quality specialists, the book analyzes the relationship between functionality

  19. Annotated bibliography of Software Engineering Laboratory literature

    Morusiewicz, Linda; Valett, Jon D.

    1991-01-01

    An annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory is given. More than 100 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. All materials have been grouped into eight general subject areas for easy reference: The Software Engineering Laboratory; The Software Engineering Laboratory: Software Development Documents; Software Tools; Software Models; Software Measurement; Technology Evaluations; Ada Technology; and Data Collection. Subject and author indexes further classify these documents by specific topic and individual author.

  20. An object-oriented software interface to VME

    Thomas, Timothy L; Gottlieb, Eric; Gold, Michael

    1996-01-01

    In the next millennium, data acquisition tasks for high energy physics will increasingly rely on distributed processing and the VME bus. To provide transparent, general-purpose access to VME hardware modules through a VME-embedded processor, we have created a simple, portable, easily configured object-oriented interface to the VME bus. This software is particularly well-suited for hardware development, providing rapid engineering level access to the VME interface of prototype modules. (author)

  1. The Effect of AOP on Software Engineering, with Particular Attention to OIF and Event Quantification

    Havelund, Klaus; Filman, Robert; Korsmeyer, David (Technical Monitor)

    2003-01-01

    We consider the impact of Aspect-Oriented Programming on Software Engineering, and, in particular, analyze two AOP systems, one of which does component wrapping and the other, quantification over events, for their software engineering effects.

  2. Effective software-oriented cryptosystem in complex PC security software

    A. Moldovyan

    1995-02-01

    Full Text Available To ensure high encryption rate and good data security, an organization of an encipherement program in the form of two modules was proposed. The first module is used for customizing the second one, the latter being the resident of the program, which maintains all application calls about encryption procedures. This approach is shown to be perspective for the elaboration of the cryptosystems with indefinite cryptalgorithm. Several typical software-oriented cryptoschemes are considered. The developed cryptomodules have high encipherement rate (2-10 Mbps for Intel 386 and secure high information protection level Organization of a new computer security software complex COBRA is considered. High enciphering rate and good data protection are provided by the resident cryptomodule using less than 1 kbyte of the main memory and working in dynamic encryption mode.

  3. Interactive learning software for electrical engineering subjects ...

    Interactive learning software for electrical engineering subjects using MATLAB and ... Keywords: electrical engineering; MATLAB; graphic user interface (GUI); educational software. Full Text: EMAIL FREE FULL TEXT EMAIL FREE FULL TEXT

  4. Teaching cloud computing: a software engineering perspective

    Sommerville, Ian

    2012-01-01

    This short papers discusses the issues of teaching cloud computing from a software engineering rather than a business perspective. It discusses what topics might be covered in a senior course on cloud software engineering.

  5. Software Engineering Improvement Activities/Plan

    2003-01-01

    bd Systems personnel accomplished the technical responsibilities for this reporting period, as planned. A close working relationship was maintained with personnel of the MSFC Avionics Department Software Group (ED14). Work accomplishments included development, evaluation, and enhancement of a software cost model, performing literature search and evaluation of software tools available for code analysis and requirements analysis, and participating in other relevant software engineering activities. Monthly reports were submitted. This support was provided to the Flight Software Group/ED 1 4 in accomplishing the software engineering improvement engineering activities of the Marshall Space Flight Center (MSFC) Software Engineering Improvement Plan.

  6. A Component-Oriented Programming for Embedded Mobile Robot Software

    Safaai Deris

    2008-11-01

    Full Text Available Applying software reuse to many Embedded Real-Time (ERT systems poses significant challenges to industrial software processes due to the resource-constrained and real-time requirements of the systems. Autonomous Mobile Robot (AMR system is a class of ERT systems, hence, inherits the challenge of applying software reuse in general ERT systems. Furthermore, software reuse in AMR systems is challenged by the diversities in terms of robot physical size and shape, environmental interaction and implementation platform. Thus, it is envisioned that component-based software engineering will be the suitable way to promote software reuse in AMR systems with consideration to general requirements to be self-contained, platform-independent and real-time predictable. A framework for component-oriented programming for AMR software development using PECOS component model is proposed in this paper. The main features of this framework are: (1 use graphical representation for components definition and composition; (2 target C language for optimal code generation with resource-constrained micro-controller; and (3 minimal requirement for run-time support. Real-time implementation indicates that, the PECOS component model together with the proposed framework is suitable for resource constrained embedded AMR systems software development.

  7. Software Engineering Program: Software Process Improvement Guidebook

    1996-01-01

    The purpose of this document is to provide experience-based guidance in implementing a software process improvement program in any NASA software development or maintenance community. This guidebook details how to define, operate, and implement a working software process improvement program. It describes the concept of the software process improvement program and its basic organizational components. It then describes the structure, organization, and operation of the software process improvement program, illustrating all these concepts with specific NASA examples. The information presented in the document is derived from the experiences of several NASA software organizations, including the SEL, the SEAL, and the SORCE. Their experiences reflect many of the elements of software process improvement within NASA. This guidebook presents lessons learned in a form usable by anyone considering establishing a software process improvement program within his or her own environment. This guidebook attempts to balance general and detailed information. It provides material general enough to be usable by NASA organizations whose characteristics do not directly match those of the sources of the information and models presented herein. It also keeps the ideas sufficiently close to the sources of the practical experiences that have generated the models and information.

  8. Software Engineering Frameworks: Textbooks vs. Student Perceptions

    McMaster, Kirby; Hadfield, Steven; Wolthuis, Stuart; Sambasivam, Samuel

    2012-01-01

    This research examines the frameworks used by Computer Science and Information Systems students at the conclusion of their first semester of study of Software Engineering. A questionnaire listing 64 Software Engineering concepts was given to students upon completion of their first Software Engineering course. This survey was given to samples of…

  9. Addressing Software Engineering Issues in Real-Time Software ...

    Addressing Software Engineering Issues in Real-Time Software ... systems, manufacturing process, process control, military, space exploration, and ... but also physical properties such as timeliness, Quality of Service and reliability.

  10. Software maintenance and evolution and automated software engineering

    Carver, Jeffrey C.; Serebrenik, Alexander

    2018-01-01

    This issue's column reports on the 33rd International Conference on Software Maintenance and Evolution and 32nd International Conference on Automated Software Engineering. Topics include flaky tests, technical debt, QA bots, and regular expressions.

  11. Teaching Empirical Software Engineering Using Expert Teams

    Kuhrmann, Marco

    2017-01-01

    Empirical software engineering aims at making software engineering claims measurable, i.e., to analyze and understand phenomena in software engineering and to evaluate software engineering approaches and solutions. Due to the involvement of humans and the multitude of fields for which software...... is crucial, software engineering is considered hard to teach. Yet, empirical software engineering increases this difficulty by adding the scientific method as extra dimension. In this paper, we present a Master-level course on empirical software engineering in which different empirical instruments...... an extra specific expertise that they offer as service to other teams, thus, fostering cross-team collaboration. The paper outlines the general course setup, topics addressed, and it provides initial lessons learned....

  12. Implementations of service oriented architecture and agile software development: What works and what are the challenges?

    Schramm, Milan; Daneva, Maia

    2016-01-01

    Today many organizations use service-oriented architecture and agile software development as their software paradigms. While both certainly have their advantages, in the fields of Empirical Software Engineering and Information Systems these have been treated in relative isolation and their impact on

  13. SPEM: Software Process Engineering Metamodel

    Víctor Hugo Menéndez Domínguez

    2015-05-01

    Full Text Available Todas las organizaciones involucradas en el desarrollo de software necesitan establecer, gestionar y soportar el trabajo de desarrollo. El término “proceso de desarrollo de software” tiende a unificar todas las actividades y prácticas que cubren esas necesidades. Modelar el proceso de software es una forma para mejorar el desarrollo y la calidad de las aplicaciones resultantes. De entre todos los lenguajes existentes para el modelado de procesos, aquellos basados en productos de trabajo son los más adecuados. Uno de tales lenguajes es SPEM (Software Process Engineering Metamodel. SPEM fue creado por OMG (Object Management Group como un estándar de alto nivel, que está basado en MOF (MetaObject Facility y es un metamodelo UML (Uniform Model Language. Constituye un tipo de ontología de procesos de desarrollo de software. En este artículo se ofrece una descripción, en términos generales, del estándar SPEM. También se destacan los cambios que ha experimentado entre la versión 1.1 y la versión 2.0, presentando tanto las ventajas como las desventajas encontradas entre ambas versiones.

  14. Uniframe: A Unified Framework for Developing Service-Oriented, Component-Based Distributed Software Systems

    Raje, Rajeev R; Olson, Andrew M; Bryant, Barrett R; Burt, Carol C; Auguston, Makhail

    2005-01-01

    .... It describes how this approach employs a unifying framework for specifying such systems to unite the concepts of service-oriented architectures, a component-based software engineering methodology...

  15. Software Acquisition and Software Engineering Best Practices

    Eslinger, S

    1999-01-01

    The purpose of this white paper is to address the issues raised in the recently published Senate Armed Services Committee Report 106-50 concerning Software Management Improvements for the Department of Defense (DoD...

  16. Improving Software Engineering on NASA Projects

    Crumbley, Tim; Kelly, John C.

    2010-01-01

    Software Engineering Initiative: Reduces risk of software failure -Increases mission safety. More predictable software cost estimates and delivery schedules. Smarter buyer of contracted out software. More defects found and removed earlier. Reduces duplication of efforts between projects. Increases ability to meet the challenges of evolving software technology.

  17. Large-scale visualization projects for teaching software engineering.

    Müller, Christoph; Reina, Guido; Burch, Michael; Weiskopf, Daniel

    2012-01-01

    The University of Stuttgart's software engineering major complements the traditional computer science major with more practice-oriented education. Two-semester software projects in various application areas offered by the university's different computer science institutes are a successful building block in the curriculum. With this realistic, complex project setting, students experience the practice of software engineering, including software development processes, technologies, and soft skills. In particular, visualization-based projects are popular with students. Such projects offer them the opportunity to gain profound knowledge that would hardly be possible with only regular lectures and homework assignments.

  18. Software engineers and nuclear engineers: teaming up to do testing

    Kelly, D.; Cote, N.; Shepard, T.

    2007-01-01

    The software engineering community has traditionally paid little attention to the specific needs of engineers and scientists who develop their own software. Recently there has been increased recognition that specific software engineering techniques need to be found for this group of developers. In this case study, a software engineering group teamed with a nuclear engineering group to develop a software testing strategy. This work examines the types of testing that proved to be useful and examines what each discipline brings to the table to improve the quality of the software product. (author)

  19. Proceedings of the Twenty-Fourth Annual Software Engineering Workshop

    2000-01-01

    On December 1 and 2, the Software Engineering Laboratory (SEL), a consortium composed of NASA/Goddard, the University of Maryland, and CSC, held the 24th Software Engineering Workshop (SEW), the last of the millennium. Approximately 240 people attended the 2-day workshop. Day 1 was composed of four sessions: International Influence of the Software Engineering Laboratory; Object Oriented Testing and Reading; Software Process Improvement; and Space Software. For the first session, three internationally known software process experts discussed the influence of the SEL with respect to software engineering research. In the Space Software session, prominent representatives from three different NASA sites- GSFC's Marti Szczur, the Jet Propulsion Laboratory's Rick Doyle, and the Ames Research Center IV&V Facility's Lou Blazy- discussed the future of space software in their respective centers. At the end of the first day, the SEW sponsored a reception at the GSFC Visitors' Center. Day 2 also provided four sessions: Using the Experience Factory; A panel discussion entitled "Software Past, Present, and Future: Views from Government, Industry, and Academia"; Inspections; and COTS. The day started with an excellent talk by CSC's Frank McGarry on "Attaining Level 5 in CMM Process Maturity." Session 2, the panel discussion on software, featured NASA Chief Information Officer Lee Holcomb (Government), our own Jerry Page (Industry), and Mike Evangelist of the National Science Foundation (Academia). Each presented his perspective on the most important developments in software in the past 10 years, in the present, and in the future.

  20. Software engineering from a Langley perspective

    Voigt, Susan

    1994-01-01

    A brief introduction to software engineering is presented. The talk is divided into four sections beginning with the question 'What is software engineering', followed by a brief history of the progression of software engineering at the Langley Research Center in the context of an expanding computing environment. Several basic concepts and terms are introduced, including software development life cycles and maturity levels. Finally, comments are offered on what software engineering means for the Langley Research Center and where to find more information on the subject.

  1. Annotated bibliography of software engineering laboratory literature

    Kistler, David; Bristow, John; Smith, Don

    1994-01-01

    This document is an annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory. Nearly 200 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. This document has been updated and reorganized substantially since the original version (SEL-82-006, November 1982). All materials have been grouped into eight general subject areas for easy reference: (1) The Software Engineering Laboratory; (2) The Software Engineering Laboratory: Software Development Documents; (3) Software Tools; (4) Software Models; (5) Software Measurement; (6) Technology Evaluations; (7) Ada Technology; and (8) Data Collection. This document contains an index of these publications classified by individual author.

  2. Software Engineering Laboratory Series: Proceedings of the Twenty-First Annual Software Engineering Workshop

    1996-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  3. Software Engineering Laboratory Series: Proceedings of the Twenty-Second Annual Software Engineering Workshop

    1997-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  4. Software Engineering Laboratory Series: Proceedings of the Twentieth Annual Software Engineering Workshop

    1995-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  5. Ten recommendations for software engineering in research.

    Hastings, Janna; Haug, Kenneth; Steinbeck, Christoph

    2014-01-01

    Research in the context of data-driven science requires a backbone of well-written software, but scientific researchers are typically not trained at length in software engineering, the principles for creating better software products. To address this gap, in particular for young researchers new to programming, we give ten recommendations to ensure the usability, sustainability and practicality of research software.

  6. Software And Systems Engineering Risk Management

    2010-04-01

    RSKM 2004 COSO Enterprise RSKM Framework 2006 ISO/IEC 16085 Risk Management Process 2008 ISO/IEC 12207 Software Lifecycle Processes 2009 ISO/IEC...1 Software And Systems Engineering Risk Management John Walz VP Technical and Conferences Activities, IEEE Computer Society Vice-Chair Planning...Software & Systems Engineering Standards Committee, IEEE Computer Society US TAG to ISO TMB Risk Management Working Group Systems and Software

  7. Traceability Method for Software Engineering Documentation

    Nur Adila Azram; Rodziah Atan

    2012-01-01

    Traceability has been widely discussed in research area. It has been one of interest topic to be research in software engineering. Traceability in software documentation is one of the interesting topics to be research further. It is important in software documentation to trace out the flow or process in all the documents whether they depends with one another or not. In this paper, we present a traceability method for software engineering documentation. The objective of this research is to fac...

  8. Readings in artificial intelligence and software engineering

    Rich, Charles

    1986-01-01

    Readings in Artificial Intelligence and Software Engineering covers the main techniques and application of artificial intelligence and software engineering. The ultimate goal of artificial intelligence applied to software engineering is automatic programming. Automatic programming would allow a user to simply say what is wanted and have a program produced completely automatically. This book is organized into 11 parts encompassing 34 chapters that specifically tackle the topics of deductive synthesis, program transformations, program verification, and programming tutors. The opening parts p

  9. Software engineering design theory and practice

    Otero, Carlos

    2012-01-01

    … intended for use as a textbook for an advanced course in software design. Each chapter ends with review questions and references. … provides an overview of the software development process, something that would not be out of line in a course on software engineering including such topics as software process, software management, balancing conflicting values of stakeholders, testing, quality, and ethics. The author has principally focused on software design though, extracting the design phase from the surrounding software development lifecycle. … Software design strategies are addressed

  10. Application of Formal Methods in Software Engineering

    Adriana Morales

    2011-12-01

    Full Text Available The purpose of this research work is to examine: (1 why are necessary the formal methods for software systems today, (2 high integrity systems through the methodology C-by-C –Correctness-by-Construction–, and (3 an affordable methodology to apply formal methods in software engineering. The research process included reviews of the literature through Internet, in publications and presentations in events. Among the Research results found that: (1 there is increasing the dependence that the nations have, the companies and people of software systems, (2 there is growing demand for software Engineering to increase social trust in the software systems, (3 exist methodologies, as C-by-C, that can provide that level of trust, (4 Formal Methods constitute a principle of computer science that can be applied software engineering to perform reliable process in software development, (5 software users have the responsibility to demand reliable software products, and (6 software engineers have the responsibility to develop reliable software products. Furthermore, it is concluded that: (1 it takes more research to identify and analyze other methodologies and tools that provide process to apply the Formal Software Engineering methods, (2 Formal Methods provide an unprecedented ability to increase the trust in the exactitude of the software products and (3 by development of new methodologies and tools is being achieved costs are not more a disadvantage for application of formal methods.

  11. Software for Engineering Simulations of a Spacecraft

    Shireman, Kirk; McSwain, Gene; McCormick, Bernell; Fardelos, Panayiotis

    2005-01-01

    Spacecraft Engineering Simulation II (SES II) is a C-language computer program for simulating diverse aspects of operation of a spacecraft characterized by either three or six degrees of freedom. A functional model in SES can include a trajectory flight plan; a submodel of a flight computer running navigational and flight-control software; and submodels of the environment, the dynamics of the spacecraft, and sensor inputs and outputs. SES II features a modular, object-oriented programming style. SES II supports event-based simulations, which, in turn, create an easily adaptable simulation environment in which many different types of trajectories can be simulated by use of the same software. The simulation output consists largely of flight data. SES II can be used to perform optimization and Monte Carlo dispersion simulations. It can also be used to perform simulations for multiple spacecraft. In addition to its generic simulation capabilities, SES offers special capabilities for space-shuttle simulations: for this purpose, it incorporates submodels of the space-shuttle dynamics and a C-language version of the guidance, navigation, and control components of the space-shuttle flight software.

  12. A software engineering process for safety-critical software application

    Kang, Byung Heon; Kim, Hang Bae; Chang, Hoon Seon; Jeon, Jong Sun

    1995-01-01

    Application of computer software to safety-critical systems in on the increase. To be successful, the software must be designed and constructed to meet the functional and performance requirements of the system. For safety reason, the software must be demonstrated not only to meet these requirements, but also to operate safely as a component within the system. For longer-term cost consideration, the software must be designed and structured to ease future maintenance and modifications. This paper presents a software engineering process for the production of safety-critical software for a nuclear power plant. The presentation is expository in nature of a viable high quality safety-critical software development. It is based on the ideas of a rational design process and on the experience of the adaptation of such process in the production of the safety-critical software for the shutdown system number two of Wolsung 2, 3 and 4 nuclear power generation plants. This process is significantly different from a conventional process in terms of rigorous software development phases and software design techniques, The process covers documentation, design, verification and testing using mathematically precise notations and highly reviewable tabular format to specify software requirements and software requirements and software requirements and code against software design using static analysis. The software engineering process described in this paper applies the principle of information-hiding decomposition in software design using a modular design technique so that when a change is required or an error is detected, the affected scope can be readily and confidently located. it also facilitates a sense of high degree of confidence in the 'correctness' of the software production, and provides a relatively simple and straightforward code implementation effort. 1 figs., 10 refs. (Author)

  13. Software architecture and engineering for patient records: current and future.

    Weng, Chunhua; Levine, Betty A; Mun, Seong K

    2009-05-01

    During the "The National Forum on the Future of the Defense Health Information System," a track focusing on "Systems Architecture and Software Engineering" included eight presenters. These presenters identified three key areas of interest in this field, which include the need for open enterprise architecture and a federated database design, net centrality based on service-oriented architecture, and the need for focus on software usability and reusability. The eight panelists provided recommendations related to the suitability of service-oriented architecture and the enabling technologies of grid computing and Web 2.0 for building health services research centers and federated data warehouses to facilitate large-scale collaborative health care and research. Finally, they discussed the need to leverage industry best practices for software engineering to facilitate rapid software development, testing, and deployment.

  14. A reflection on Software Engineering in HEP

    Carminati, Federico

    2012-01-01

    High Energy Physics (HEP) has been making very extensive usage of computers to achieve its research goals. Fairly large program suites have been developed, maintained and used over the years and it is fair to say that, overall, HEP has been successful in software development. Yet, HEP software development has not used classical Software Engineering techniques, which have been invented and refined to help the production of large programmes. In this paper we will review the development of HEP code with its strengths and weaknesses. Using several well-known HEP software projects as examples, we will try to demonstrate that our community has used a form of Software Engineering, albeit in an informal manner. The software development techniques employed in these projects are indeed very close in many aspects to the modern tendencies of Software Engineering itself, in particular the so-called “agile technologies”. The paper will conclude with an outlook on the future of software development in HEP.

  15. Good practices for educational software engineering projects

    van der Duim, Louwarnoud; Andersson, Jesper; Sinnema, Marco

    2007-01-01

    Recent publications indicate the importance of software engineering in the computer science curriculum. In this paper, we present the final part of software engineering education at University of Groningen in the Netherlands and Vaxjo University in Sweden, where student teams perform an industrial

  16. Software Engineering Education: Some Important Dimensions

    Mishra, Alok; Cagiltay, Nergiz Ercil; Kilic, Ozkan

    2007-01-01

    Software engineering education has been emerging as an independent and mature discipline. Accordingly, various studies are being done to provide guidelines for curriculum design. The main focus of these guidelines is around core and foundation courses. This paper summarizes the current problems of software engineering education programs. It also…

  17. Reflections on Courses for Software Language Engineering

    Bagge, A.H.; Lämmel, R.; Zaytsev, V.; Demuth, B.; Stikkolorum, D.

    2014-01-01

    Software Language Engineering (SLE) has emerged as a field in computer science research and software engineering, but it has yet to become entrenched as part of the standard curriculum at universities. Many places have a compiler construction (CC) course and a programming languages (PL) course, but

  18. Requirements engineering: foundation for software quality

    Daneva, Maia; Pastor, Oscar

    2016-01-01

    Welcome to the proceedings of the 22nd edition of REFSQ: the International Working Conference on Requirements Engineering – Foundation for Software Quality! Requirements engineering (RE) has been recognized as a critical factor that impacts the quality of software, systems, and services. Since the

  19. Object Oriented Software Development Using A Use-Cases Approach

    Object Oriented Software Development Using A Use-Cases Approach. ... to the analysis and design of an online banking system using the Use-Cases method of Jacobson. ... thus bringing the benefits of object orientation into important software projects. Journal of Applied Sciences and Environmental Management Vol.

  20. Implementing Large Projects in Software Engineering Courses

    Coppit, David

    2006-01-01

    In software engineering education, large projects are widely recognized as a useful way of exposing students to the real-world difficulties of team software development. But large projects are difficult to put into practice. First, educators rarely have additional time to manage software projects. Second, classrooms have inherent limitations that…

  1. Effective Software Engineering Leadership for Development Programs

    Cagle West, Marsha

    2010-01-01

    Software is a critical component of systems ranging from simple consumer appliances to complex health, nuclear, and flight control systems. The development of quality, reliable, and effective software solutions requires the incorporation of effective software engineering processes and leadership. Processes, approaches, and methodologies for…

  2. Selection of software for mechanical engineering undergraduates

    Cheah, C. T.; Yin, C. S.; Halim, T.; Naser, J.; Blicblau, A. S.

    2016-01-01

    A major problem with the undergraduate mechanical course is the limited exposure of students to software packages coupled with the long learning curve on the existing software packages. This work proposes the use of appropriate software packages for the entire mechanical engineering curriculum to ensure students get sufficient exposure real life design problems. A variety of software packages are highlighted as being suitable for undergraduate work in mechanical engineering, e.g. simultaneous non-linear equations; uncertainty analysis; 3-D modeling software with the FEA; analysis tools for the solution of problems in thermodynamics, fluid mechanics, mechanical system design, and solid mechanics.

  3. Selection of software for mechanical engineering undergraduates

    Cheah, C. T.; Yin, C. S.; Halim, T.; Naser, J.; Blicblau, A. S., E-mail: ablicblau@swin.edu.au [Swinburne University of Technology, Faculty of Science Engineering and Technology, PO Box 218 Hawthorn, Victoria, Australia, 3122 (Australia)

    2016-07-12

    A major problem with the undergraduate mechanical course is the limited exposure of students to software packages coupled with the long learning curve on the existing software packages. This work proposes the use of appropriate software packages for the entire mechanical engineering curriculum to ensure students get sufficient exposure real life design problems. A variety of software packages are highlighted as being suitable for undergraduate work in mechanical engineering, e.g. simultaneous non-linear equations; uncertainty analysis; 3-D modeling software with the FEA; analysis tools for the solution of problems in thermodynamics, fluid mechanics, mechanical system design, and solid mechanics.

  4. Systems, methods and apparatus for modeling, specifying and deploying policies in autonomous and autonomic systems using agent-oriented software engineering

    Hinchey, Michael G. (Inventor); Penn, Joaquin (Inventor); Sterritt, Roy (Inventor)

    2011-01-01

    Systems, methods and apparatus are provided through which in some embodiments, an agent-oriented specification modeled with MaCMAS, is analyzed, flaws in the agent-oriented specification modeled with MaCMAS are corrected, and an implementation is derived from the corrected agent-oriented specification. Described herein are systems, method and apparatus that produce fully (mathematically) tractable development of agent-oriented specification(s) modeled with methodology fragment for analyzing complex multiagent systems (MaCMAS) and policies for autonomic systems from requirements through to code generation. The systems, method and apparatus described herein are illustrated through an example showing how user formulated policies can be translated into a formal mode which can then be converted to code. The requirements-based programming systems, method and apparatus described herein may provide faster, higher quality development and maintenance of autonomic systems based on user formulation of policies.

  5. Software Re-Engineering of the Human Factors Analysis and Classification System - (Maintenance Extension) Using Object Oriented Methods in a Microsoft Environment

    2001-09-01

    replication) -- all from Visual Basic and VBA . In fact, we found that the SQL Server engine actually had a plethora of options, most formidable of...2002, the new SQL Server 2000 database engine, and Microsoft Visual Basic.NET. This thesis describes our use of the Spiral Development Model to...versions of Microsoft products? Specifically, the pending release of Microsoft Office 2002, the new SQL Server 2000 database engine, and Microsoft

  6. Collected Software Engineering Papers, Volume 10

    1992-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from Oct. 1991 - Nov. 1992. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document. For the convenience of this presentation, the 11 papers contained here are grouped into 5 major sections: (1) the Software Engineering Laboratory; (2) software tools studies; (3) software models studies; (4) software measurement studies; and (5) Ada technology studies.

  7. Identifying Relevant Studies in Software Engineering

    Zhang, He; Ali Babar, Muhammad; Tell, Paolo

    2011-01-01

    Context: Systematic literature review (SLR) has become an important research methodology in software engineering since the introduction of evidence-based software engineering (EBSE) in 2004. One critical step in applying this methodology is to design and execute appropriate and effective search....... Objective: The main objective of the research reported in this paper is to improve the search step of undertaking SLRs in software engineering (SE) by devising and evaluating systematic and practical approaches to identifying relevant studies in SE. Method: We have systematically selected and analytically...

  8. Object Oriented Approach to Software Development for LHC Experiments

    Tummers, B J; Day, C; Innocente, V; Mount, R; Visser, E; Burnett, T H; Balke, C

    2002-01-01

    % RD41 \\\\ \\\\ We propose to study the viability of the Object Oriented~(OO) approach for developing the code for LHC experiments. The authors of this proposal will learn the key issues of this approach:~~OO analysis and design. Several methodologies will be studied to select the most appropriate for the High Energy Physics case. Some Computer Aided Software Engineering tools and implementation languages will be evaluated. These studies will be carried out with various well-defined prototypes, some of which have been defined in a preceding study and some of which will be defined in the course of this R\\&D project. We propose to also study in this project how the OO approach enhances a different, and hopefully better, project management. Management tools will be tried and professional training will be organized.

  9. A Configurable, Object-Oriented, Transportation System Software Framework

    KELLY,SUZANNE M.; MYRE,JOHN W.; PRICE,MARK H.; RUSSELL,ERIC D.; SCOTT,DAN W.

    2000-08-01

    The Transportation Surety Center, 6300, has been conducting continuing research into and development of information systems for the Configurable Transportation Security and Information Management System (CTSS) project, an Object-Oriented Framework approach that uses Component-Based Software Development to facilitate rapid deployment of new systems while improving software cost containment, development reliability, compatibility, and extensibility. The direction has been to develop a Fleet Management System (FMS) framework using object-oriented technology. The goal for the current development is to provide a software and hardware environment that will demonstrate and support object-oriented development commonly in the FMS Central Command Center and Vehicle domains.

  10. On Converting Software Systems to Object Oriented Architectures

    Gabriela Czibula

    2010-06-01

    Full Text Available Object-oriented concepts are useful concerning the reuse of existing software. Therefore a transformation of procedural programs to objectoriented architectures becomes an important process to enhance the reuse of procedural programs. Moreover, it would be useful to assist by automatic methods the software developers in transforming procedural code into an equivalent
    object-oriented one. In this paper we aim at introducing a hierarchical clustering algorithm that can be used for assisting software developers in the process of transforming procedural code into an object-oriented architecture.

  11. Software engineering laboratory series: Annotated bibliography of software engineering laboratory literature

    Morusiewicz, Linda; Valett, Jon

    1992-01-01

    This document is an annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory. More than 100 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. This document has been updated and reorganized substantially since the original version (SEL-82-006, November 1982). All materials have been grouped into eight general subject areas for easy reference: (1) the Software Engineering Laboratory; (2) the Software Engineering Laboratory: Software Development Documents; (3) Software Tools; (4) Software Models; (5) Software Measurement; (6) Technology Evaluations; (7) Ada Technology; and (8) Data Collection. This document contains an index of these publications classified by individual author.

  12. Software engineering turning theory into practice

    Jones, Robert

    1996-01-01

    The term 'Software Engineering' was coined in the mid 1960s, it is said, as a challenge to the software community to start rationalising the software production process. Software engineering is a very young discipline and this challenge still eludes LHC demands software production on a scale far beyond that previously addressed in HEP and we are relying on software engineering to allow a significant number of people address this problem collectively. This series of lectures presents the basics of software engineering from the developer's point of view. The aim is to show how individual developers can improve the quality of the software they produce while avoiding the conflict between the creative process of designing software and the organisational needs of large projects.The Laser Interferometer Gravitanional Wave Observatory (LIGO) is being constructed with a goal to detect these waves and then to use them as a new tool to explore and study The sources of gravitanional waves and techniques for detection wil...

  13. SPEM: Software Process Engineering Metamodel

    Víctor Hugo Menéndez Domínguez; María Enriqueta Castellanos Bolaños

    2015-01-01

    Todas las organizaciones involucradas en el desarrollo de software necesitan establecer, gestionar y soportar el trabajo de desarrollo. El término “proceso de desarrollo de software” tiende a unificar todas las actividades y prácticas que cubren esas necesidades. Modelar el proceso de software es una forma para mejorar el desarrollo y la calidad de las aplicaciones resultantes. De entre todos los lenguajes existentes para el modelado de procesos, aquellos basados en productos de trabajo son l...

  14. APPLICATION FRAMEWORK IN ENGINEERING SERVICE ORIENTED ARCHITECTURE SYSTEM SERVICE

    Ade Hodijah

    2017-03-01

    Full Text Available The Service Engineering (SE is understood as a framework to create innovative services in application development of information technology approach to Service Oriented Architecture (SOA. Implementing SOA is required methodology to identify services that can be used again in the application and organization of a company. in this research, software development model used is object-oriented methodologies, SOA itself is a collection consisting of tools, technologies, frameworks, and best practices that facilitate the implementation of a service quickly. in a study this uses the tools of Business Process Management System (BPMS to support the implementation of service-oriented software. the purpose of this study is to produce a model of activities and artifacts of the application software development models of the SE with a case study Rate Loans. Validation to the design of the model is done through testing of the software produced. The results showed that the application of the SE in the development of service-oriented software can use the object-oriented methodology by providing additional value-added analysis and redesign of business processes to be implemented on a BPMS. BPMS usage of the application of the SE on the SOA has the advantage of visualization in the management of business processes.

  15. Software-Engineering Process Simulation (SEPS) model

    Lin, C. Y.; Abdel-Hamid, T.; Sherif, J. S.

    1992-01-01

    The Software Engineering Process Simulation (SEPS) model is described which was developed at JPL. SEPS is a dynamic simulation model of the software project development process. It uses the feedback principles of system dynamics to simulate the dynamic interactions among various software life cycle development activities and management decision making processes. The model is designed to be a planning tool to examine tradeoffs of cost, schedule, and functionality, and to test the implications of different managerial policies on a project's outcome. Furthermore, SEPS will enable software managers to gain a better understanding of the dynamics of software project development and perform postmodern assessments.

  16. Software engineering practices for control system reliability

    S. K. Schaffner; K. S White

    1999-01-01

    This paper will discuss software engineering practices used to improve Control System reliability. The authors begin with a brief discussion of the Software Engineering Institute's Capability Maturity Model (CMM) which is a framework for evaluating and improving key practices used to enhance software development and maintenance capabilities. The software engineering processes developed and used by the Controls Group at the Thomas Jefferson National Accelerator Facility (Jefferson Lab), using the Experimental Physics and Industrial Control System (EPICS) for accelerator control, are described. Examples are given of how their procedures have been used to minimized control system downtime and improve reliability. While their examples are primarily drawn from their experience with EPICS, these practices are equally applicable to any control system. Specific issues addressed include resource allocation, developing reliable software lifecycle processes and risk management

  17. The present status of software engineering

    Pressman, Roger S

    1991-01-01

    In this seminar, we will discuss the present status and future directions of software engeneering and CASE. Key topics to be discussed include: new paradigms for software engineering; software metrics; process assessment; the current state of analysis and design methods; reusability and re-engineering; formal methods. Among the questions to be answered are: How will software engineering change as the 1990s progress? What are the "technology drivers"? What will analysis, design, coding, testing, quality assurance and software management look like in the year 2000? How will CASE tools evolve in the 1990s and will they be as "integrated" as many people believe? How can you position your Organization to accommodate the coming changes?

  18. The Software Bus, an Object-Oriented Data Exchange System

    Akerbaek, T.; Louka, M.

    1996-01-01

    This document describes the Software Bus System, developed for object-oriented task to task communication in a TCP/IP based network. The Software Bus is a set of library functions, developed to be used for the Picasso-3 UIMS, and as a general purpose tool for dynamically interfacing programs at run-time. The Software Bus offers a high level object-oriented data exchange mechanism that relieves the application programmer of the low level TCP/IP-programming and communication protocol handling. The Software Bus is currently available under several UNIX platforms and a version for Windows NT is planned for late 1996. (author)

  19. The School Advanced Ventilation Engineering Software (SAVES)

    The School Advanced Ventilation Engineering Software (SAVES) package is a tool to help school designers assess the potential financial payback and indoor humidity control benefits of Energy Recovery Ventilation (ERV) systems for school applications.

  20. Software process improvement in the NASA software engineering laboratory

    Mcgarry, Frank; Pajerski, Rose; Page, Gerald; Waligora, Sharon; Basili, Victor; Zelkowitz, Marvin

    1994-01-01

    The Software Engineering Laboratory (SEL) was established in 1976 for the purpose of studying and measuring software processes with the intent of identifying improvements that could be applied to the production of ground support software within the Flight Dynamics Division (FDD) at the National Aeronautics and Space Administration (NASA)/Goddard Space Flight Center (GSFC). The SEL has three member organizations: NASA/GSFC, the University of Maryland, and Computer Sciences Corporation (CSC). The concept of process improvement within the SEL focuses on the continual understanding of both process and product as well as goal-driven experimentation and analysis of process change within a production environment.

  1. What information do software engineering practitioners need?

    Punter, T.

    2003-01-01

    This position paper addresses an important question for the discipline of Empirical or Evidence-based Software Engineering (SE), namely ´what information do software engineering practitioners need from the empirical studies´. The paper contributes to answering this question by presenting survey results on two sub-questions: 1) what are the topics that interest practitioners? and 2) what type of information is needed by practitioners? Answering the first question results in a set of SE topics,...

  2. An Ontology for Software Engineering Education

    Ling, Thong Chee; Jusoh, Yusmadi Yah; Adbullah, Rusli; Alwi, Nor Hayati

    2013-01-01

    Software agents communicate using ontology. It is important to build an ontology for specific domain such as Software Engineering Education. Building an ontology from scratch is not only hard, but also incur much time and cost. This study aims to propose an ontology through adaptation of the existing ontology which is originally built based on a…

  3. A process algebra software engineering environment

    Diertens, B.

    2008-01-01

    In previous work we described how the process algebra based language PSF can be used in software engineering, using the ToolBus, a coordination architecture also based on process algebra, as implementation model. In this article we summarize that work and describe the software development process

  4. Software engineering technology transfer: Understanding the process

    Zelkowitz, Marvin V.

    1993-01-01

    Technology transfer is of crucial concern to both government and industry today. In this report, the mechanisms developed by NASA to transfer technology are explored and the actual mechanisms used to transfer software development technologies are investigated. Time, cost, and effectiveness of software engineering technology transfer is reported.

  5. Software Engineering Principles for Courseware Development.

    Magel, Kenneth

    1980-01-01

    Courseware (computer based curriculum materials) development should follow the lessons learned by software engineers. The most important of 28 principles of software development presented here include a stress on human readability, the importance of early planning and analysis, the need for independent evaluation, and the need to be flexible.…

  6. Software packages for food engineering needs

    Abakarov, Alik

    2011-01-01

    The graphic user interface (GUI) software packages “ANNEKs” and “OPT-PROx” are developed to meet food engineering needs. “OPT-RROx” (OPTimal PROfile) is software developed to carry out thermal food processing optimization based on the variable retort temperature processing and global optimization technique. “ANNEKs” (Artificial Neural Network Enzyme Kinetics) is software designed for determining the kinetics of enzyme hydrolysis of protein at different initial reaction parameters based on the...

  7. Towards semantic software engineering enviroments

    Falbo, R.A.; Guizzardi, G.; Natali, A.; Bertollo, G.; Ruy, F.; Mian, P.; Tortora, G.; Chang, S.K.

    2002-01-01

    Software tools processing partially common set of data should share an understanding of what these data mean. Since ontologies have been used to express formally a shared understanding of information, we argue that they are a way towards Semantic SEEs. In this paper we discuss an ontology-based

  8. Requirements engineering for software and systems

    Laplante, Phillip A

    2014-01-01

    Solid requirements engineering has increasingly been recognized as the key to improved, on-time and on-budget delivery of software and systems projects. This book provides practical teaching for graduate and professional systems and software engineers. It uses extensive case studies and exercises to help students grasp concepts and techniques. With a focus on software-intensive systems, this text provides a probing and comprehensive review of recent developments in intelligent systems, soft computing techniques, and their diverse applications in manufacturing. The second edition contains 100% revised content and approximately 30% new material

  9. A company perspective on software engineering standards

    Steer, R.W.

    1988-01-01

    Software engineering standards, as implemented via formal policies and procedures, have historically been used in the nuclear industry, especially for codes used in the design, analysis, or operation of the plant. Over the past two decades, a significant amount of software has been put in place to perform these functions, while the overall software life cycle has become better understood, more and different computer systems have become available, and industry has become increasingly aware of the advantages gained when these procedures are used in the development and maintenance of this large amount of software. The use of standards and attendant procedures is thus becoming increasingly important as more computerization is taking place, both in the design and the operation of the plant. It is difficult to categorize software used in activities related to nuclear plants in a simple manner. That difficulty is due to the diversity of those uses, with attendant diversity in the methods and procedures used in the production of the software, compounded by a changing business climate in which significant software engineering expertise is being applied to a broader range of applications on a variety of computing systems. The use of standards in the various phases of the production of software thus becomes more difficult as well. This paper discusses the various types of software and the importance of software standards in the development of each of them

  10. Tailoring Software Inspections for Aspect-Oriented Programming

    Watkins, Charlette Ward

    2009-01-01

    Aspect-Oriented Software Development (AOSD) is a new approach that addresses limitations inherent in conventional programming, especially the principle of separation of concerns by emphasizing the encapsulation and modularization of crosscutting concerns through a new abstraction, the "aspect." Aspect-oriented programming is an emerging AOSD…

  11. Using ethnographic methods in software engineering research

    Sharp, Helen, C.; Dittrich, Yvonne; De Souza, Cleidson

    2010-01-01

    This tutorial provides an overview of the role of ethnography in Software Engineering research. It describes the use of ethnographic methods as a means to provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice. The knowledge gained......-depth discussion of methods for data collection and analysis used in ethnographic studies. It then describes how these methods can be and have been used by software engineering researchers to understand developers' work practices, to inform the development of processes, methods and tools and to evaluate...... can be used to improve processes, methods and tools as well as develop observed industrial practices. The tutorial begins with a brief historical account of ethnography in the fields of Software Engineering, CSCW, Information Systems and other related areas. This sets the stage for a more in...

  12. Automating the Object-Oriented Software Development Process: Workshop Report

    Aksit, Mehmet; Tekinerdogan, B.

    1998-01-01

    Cost-effective realization of robust, adaptable and reusable software systems demands efficient and effective management of the overall software production process. Current object-oriented methods are not completely formalized and lack the ability of reasoning about the quality of processes and

  13. Automating the Object-Oriented Software Development Process: Workshop Report

    Aksit, Mehmet; Demeyer, S.; Bosch, H.G.P.; Tekinerdogan, B.

    Cost-effective realization of robust, adaptable and reusable software systems demands efficient and effective management of the overall software production process. Current object-oriented methods are not completely formalized and lack the ability of reasoning about the quality of processes and

  14. Progress towards the professionalization of Software Engineering

    Janeth McAlister

    2014-12-01

    Full Text Available Software Engineer provides a theoretical framework, methods, and tools needed to develop quality software, and has impulse the revolution of Information and Knowledge Society, because without their contributions computers would be just a tool without a specific utility. Furthermore, despite of advances in hardware, the impact and potentiation of technological development just was possible thanks to software products. On the other hand, current Society is starting to be recognize as software–dependent, since in this century software is part of all devices required to manipulated information, and which people used in their daily activities. In this article is presented an analysis to the process of search professionalize software engineer and their products, having as base the work develop since the GSwE2009.

  15. Collected software engineering papers, volume 8

    1990-01-01

    A collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) during the period November 1989 through October 1990 is presented. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography. The seven presented papers are grouped into four major categories: (1) experimental research and evaluation of software measurement; (2) studies on models for software reuse; (3) a software tool evaluation; and (4) Ada technology and studies in the areas of reuse and specification.

  16. How does Software Process Improvement Address Global Software Engineering?

    Kuhrmann, Marco; Diebold, Philipp; Münch, Jürgen

    2016-01-01

    a systematic mapping study on the state-of-the-art in SPI from a general perspective, we observed Global Software Engineering (GSE) becoming a topic of interest in recent years. Therefore, in this paper, we provide a detailed investigation of those papers from the overall systematic mapping study that were......For decades, Software Process Improvement (SPI) programs have been implemented, inter alia, to improve quality and speed of software development. To set up, guide, and carry out SPI projects, and to measure SPI state, impact, and success, a multitude of different SPI approaches and considerable...... experience are available. SPI addresses many aspects ranging from individual developer skills to entire organizations. It comprises for instance the optimization of specific activities in the software lifecycle as well as the creation of organization awareness and project culture. In the course of conducting...

  17. Quantifying Update Effects in Citizen-Oriented Software

    Ion Ivan

    2009-02-01

    Full Text Available Defining citizen-oriented software. Detailing technical issues regarding update process in this kind of software. Presenting different effects triggered by types of update. Building model for update costs estimation, including producer-side and consumer-side effects. Analyzing model applicability on INVMAT – large scale matrix inversion software. Proposing a model for update effects estimation. Specifying ways for softening effects of inaccurate updates.

  18. Service-oriented Software Defined Optical Networks for Cloud Computing

    Liu, Yuze; Li, Hui; Ji, Yuefeng

    2017-10-01

    With the development of big data and cloud computing technology, the traditional software-defined network is facing new challenges (e.g., ubiquitous accessibility, higher bandwidth, more flexible management and greater security). This paper proposes a new service-oriented software defined optical network architecture, including a resource layer, a service abstract layer, a control layer and an application layer. We then dwell on the corresponding service providing method. Different service ID is used to identify the service a device can offer. Finally, we experimentally evaluate that proposed service providing method can be applied to transmit different services based on the service ID in the service-oriented software defined optical network.

  19. Software Service Engineering : Tenets and Challenges

    Heuvel, Willem-Jan van den; Zimmermann, Olaf; Leymann, Frank; Lago, Patricia; Schieferdecker, Ina; Zdun, Uwe; Avgeriou, Paris

    2009-01-01

    Service-Oriented Architecture (SOA) constitutes a modern, standards-based and technology-independent paradigm and architectural style for distributed enterprise computing. The SOA style promotes the publishing, discovery, and binding of loosely-coupled, network-accessible software services. With SOA

  20. EPRI engineering workstation software - Discussion and demonstration

    Stewart, R.P.; Peterson, C.E.; Agee, L.J.

    1992-01-01

    Computing technology is undergoing significant changes with respect to engineering applications in the electric utility industry. These changes result mainly from the introduction of several UNIX workstations that provide mainframe calculational capability at much lower costs. The workstations are being coupled with microcomputers through local area networks to provide engineering groups with a powerful and versatile analysis capability. PEGASYS, the Professional Engineering Graphic Analysis System, is a software package for use with engineering analysis codes executing in a workstation environment. PEGASYS has a menu driven, user-friendly interface to provide pre-execution support for preparing unput and graphical packages for post-execution analysis and on-line monitoring capability for engineering codes. The initial application of this software is for use with RETRAN-02 operating on an IBM RS/6000 workstation using X-Windows/UNIX and a personal computer under DOS

  1. Designing an economic-driven evaluation framework for process-oriented software technologies.

    Mutschler, B.B.; Bumiller, J.; Reichert, M.U.

    2006-01-01

    During the last decade there has been a dramatic increase in the number of paradigms, standards and tools that can be used to realize process-oriented information systems. A major problem neglected in software engineering research so far has been the systematic determination of costs, benefits, and

  2. Control of research oriented software development

    Lewis, L.C.; Dronkers, J.J.; Pitsker, B.

    1985-12-01

    The Nuclear Waste Policy Act of 1982 directs the Department of Energy (DOE) to dispose permanently high level radioactive waste and civilian spent nuclear fuel by January 31, 1998. DOE has responded by creating an organizational structure that directs all the activities necessary to carry out the legislative demands. LLNL is conducting research in the earth sciences and is developing some unique computer codes to help establish the feasibility of geologic repositories for nuclear waste. LLNL has several codes under development. This paper examines the administrative and organizational measures that were and still are being undertaken in order to control the development of the two major codes. In the case of one code, the software quality assurance requirements were imposed five years after the code began its development. This required a retroactive application of requirements. The other code is still in the conceptual stages of development and here requirements can be applied as soon as the initial code design begins. Both codes are being developed by scientists, not computer programmers, and both are modeling codes, not data acquisition and reduction codes. Also the projects for which these codes are being developed have slightly different software quality assurance requirements. All these factors contribute unique difficulties in attempts to assure that the development not only results in a reliable prediction, but that whatever the reliability, it can be objectively shown to exist. The paper will examine a software management model. It will also discuss the reasons why it is felt that this particular model would stand a reasonable chance for success. The paper will then describe the way in which the model should be integrated into the existing management configuration and tradition

  3. Software bug prediction using object-oriented metrics

    Dharmendra Lal Gupta

    2 Department of Computer Science and Engineering, Mewar University, Chittorgarh 312901, India e-mail: ... the object-oriented technology has been widely accepted ... whereas project metrics cover the number of staff members involved in ...

  4. Computational intelligence and quantitative software engineering

    Succi, Giancarlo; Sillitti, Alberto

    2016-01-01

    In a down-to-the earth manner, the volume lucidly presents how the fundamental concepts, methodology, and algorithms of Computational Intelligence are efficiently exploited in Software Engineering and opens up a novel and promising avenue of a comprehensive analysis and advanced design of software artifacts. It shows how the paradigm and the best practices of Computational Intelligence can be creatively explored to carry out comprehensive software requirement analysis, support design, testing, and maintenance. Software Engineering is an intensive knowledge-based endeavor of inherent human-centric nature, which profoundly relies on acquiring semiformal knowledge and then processing it to produce a running system. The knowledge spans a wide variety of artifacts, from requirements, captured in the interaction with customers, to design practices, testing, and code management strategies, which rely on the knowledge of the running system. This volume consists of contributions written by widely acknowledged experts ...

  5. The ATLAS Data Management Software Engineering Process

    Lassnig, M; The ATLAS collaboration; Stewart, G A; Barisits, M; Beermann, T; Vigne, R; Serfon, C; Goossens, L; Nairz, A; Molfetas, A

    2014-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also hi...

  6. The ATLAS Data Management Software Engineering Process

    Lassnig, M; The ATLAS collaboration; Stewart, G A; Barisits, M; Beermann, T; Vigne, R; Serfon, C; Goossens, L; Nairz, A

    2013-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also hi...

  7. Diversification and Challenges of Software Engineering Standards

    Poon, Peter T.

    1994-01-01

    The author poses certain questions in this paper: 'In the future, should there be just one software engineering standards set? If so, how can we work towards that goal? What are the challenges of internationalizing standards?' Based on the author's personal view, the statement of his position is as follows: 'There should NOT be just one set of software engineering standards in the future. At the same time, there should NOT be the proliferation of standards, and the number of sets of standards should be kept to a minimum.It is important to understand the diversification of the areas which are spanned by the software engineering standards.' The author goes on to describe the diversification of processes, the diversification in the national and international character of standards organizations, the diversification of the professional organizations producing standards, the diversification of the types of businesses and industries, and the challenges of internationalizing standards.

  8. Repository-based software engineering program

    Wilson, James

    1992-01-01

    The activities performed during September 1992 in support of Tasks 01 and 02 of the Repository-Based Software Engineering Program are outlined. The recommendations and implementation strategy defined at the September 9-10 meeting of the Reuse Acquisition Action Team (RAAT) are attached along with the viewgraphs and reference information presented at the Institute for Defense Analyses brief on legal and patent issues related to software reuse.

  9. Semantic Web technologies in software engineering

    Gall, H C; Reif, G

    2008-01-01

    Over the years, the software engineering community has developed various tools to support the specification, development, and maintainance of software. Many of these tools use proprietary data formats to store artifacts which hamper interoperability. However, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. Ontologies are used define the concepts in the domain of discourse and their relationships an...

  10. Collected software engineering papers, volume 11

    1993-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1992 through November 1993. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the 11th such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document.

  11. Collected software engineering papers, volume 12

    1994-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1993 through October 1994. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the 12th such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document.

  12. Requirements Engineering for Software Integrity and Safety

    Leveson, Nancy G.

    2002-01-01

    Requirements flaws are the most common cause of errors and software-related accidents in operational software. Most aerospace firms list requirements as one of their most important outstanding software development problems and all of the recent, NASA spacecraft losses related to software (including the highly publicized Mars Program failures) can be traced to requirements flaws. In light of these facts, it is surprising that relatively little research is devoted to requirements in contrast with other software engineering topics. The research proposed built on our previous work. including both criteria for determining whether a requirements specification is acceptably complete and a new approach to structuring system specifications called Intent Specifications. This grant was to fund basic research on how these ideas could be extended to leverage innovative approaches to the problems of (1) reducing the impact of changing requirements, (2) finding requirements specification flaws early through formal and informal analysis, and (3) avoiding common flaws entirely through appropriate requirements specification language design.

  13. Software engineering processes for Class D missions

    Killough, Ronnie; Rose, Debi

    2013-09-01

    Software engineering processes are often seen as anathemas; thoughts of CMMI key process areas and NPR 7150.2A compliance matrices can motivate a software developer to consider other career fields. However, with adequate definition, common-sense application, and an appropriate level of built-in flexibility, software engineering processes provide a critical framework in which to conduct a successful software development project. One problem is that current models seem to be built around an underlying assumption of "bigness," and assume that all elements of the process are applicable to all software projects regardless of size and tolerance for risk. This is best illustrated in NASA's NPR 7150.2A in which, aside from some special provisions for manned missions, the software processes are to be applied based solely on the criticality of the software to the mission, completely agnostic of the mission class itself. That is, the processes applicable to a Class A mission (high priority, very low risk tolerance, very high national significance) are precisely the same as those applicable to a Class D mission (low priority, high risk tolerance, low national significance). This paper will propose changes to NPR 7150.2A, taking mission class into consideration, and discuss how some of these changes are being piloted for a current Class D mission—the Cyclone Global Navigation Satellite System (CYGNSS).

  14. Automatic program generation: future of software engineering

    Robinson, J.H.

    1979-01-01

    At this moment software development is still more of an art than an engineering discipline. Each piece of software is lovingly engineered, nurtured, and presented to the world as a tribute to the writer's skill. When will this change. When will the craftsmanship be removed and the programs be turned out like so many automobiles from an assembly line. Sooner or later it will happen: economic necessities will demand it. With the advent of cheap microcomputers and ever more powerful supercomputers doubling capacity, much more software must be produced. The choices are to double the number of programers, double the efficiency of each programer, or find a way to produce the needed software automatically. Producing software automatically is the only logical choice. How will automatic programing come about. Some of the preliminary actions which need to be done and are being done are to encourage programer plagiarism of existing software through public library mechanisms, produce well understood packages such as compiler automatically, develop languages capable of producing software as output, and learn enough about the whole process of programing to be able to automate it. Clearly, the emphasis must not be on efficiency or size, since ever larger and faster hardware is coming.

  15. Software engineering and the role of Ada: Executive seminar

    Freedman, Glenn B.

    1987-01-01

    The objective was to introduce the basic terminology and concepts of software engineering and Ada. The life cycle model is reviewed. The application of the goals and principles of software engineering is applied. An introductory understanding of the features of the Ada language is gained. Topics addressed include: the software crises; the mandate of the Space Station Program; software life cycle model; software engineering; and Ada under the software engineering umbrella.

  16. Software engineering and automatic continuous verification of scientific software

    Piggott, M. D.; Hill, J.; Farrell, P. E.; Kramer, S. C.; Wilson, C. R.; Ham, D.; Gorman, G. J.; Bond, T.

    2011-12-01

    Software engineering of scientific code is challenging for a number of reasons including pressure to publish and a lack of awareness of the pitfalls of software engineering by scientists. The Applied Modelling and Computation Group at Imperial College is a diverse group of researchers that employ best practice software engineering methods whilst developing open source scientific software. Our main code is Fluidity - a multi-purpose computational fluid dynamics (CFD) code that can be used for a wide range of scientific applications from earth-scale mantle convection, through basin-scale ocean dynamics, to laboratory-scale classic CFD problems, and is coupled to a number of other codes including nuclear radiation and solid modelling. Our software development infrastructure consists of a number of free tools that could be employed by any group that develops scientific code and has been developed over a number of years with many lessons learnt. A single code base is developed by over 30 people for which we use bazaar for revision control, making good use of the strong branching and merging capabilities. Using features of Canonical's Launchpad platform, such as code review, blueprints for designing features and bug reporting gives the group, partners and other Fluidity uers an easy-to-use platform to collaborate and allows the induction of new members of the group into an environment where software development forms a central part of their work. The code repositoriy are coupled to an automated test and verification system which performs over 20,000 tests, including unit tests, short regression tests, code verification and large parallel tests. Included in these tests are build tests on HPC systems, including local and UK National HPC services. The testing of code in this manner leads to a continuous verification process; not a discrete event performed once development has ceased. Much of the code verification is done via the "gold standard" of comparisons to analytical

  17. Object-oriented design of medical imaging software.

    Ligier, Y; Ratib, O; Logean, M; Girard, C; Perrier, R; Scherrer, J R

    1994-01-01

    A special software package for interactive display and manipulation of medical images was developed at the University Hospital of Geneva, as part of a hospital wide Picture Archiving and Communication System (PACS). This software package, called Osiris, was especially designed to be easily usable and adaptable to the needs of noncomputer-oriented physicians. The Osiris software has been developed to allow the visualization of medical images obtained from any imaging modality. It provides generic manipulation tools, processing tools, and analysis tools more specific to clinical applications. This software, based on an object-oriented paradigm, is portable and extensible. Osiris is available on two different operating systems: the Unix X-11/OSF-Motif based workstations, and the Macintosh family.

  18. Proceedings of the Thirteenth Annual Software Engineering Workshop

    1988-01-01

    Topics covered in the workshop included studies and experiments conducted in the Software Engineering Laboratory (SEL), a cooperative effort of NASA Goddard Space Flight Center, the University of Maryland, and Computer Sciences Corporation; software models; software products; and software tools.

  19. Contract-oriented software development for internet services

    Giambiagi, Pablo; Owe, Olaf; Ravn, Anders Peter

    2008-01-01

    COSoDIS (Contract-Oriented Software Development for Internet Services) develops novel approaches to implement and reason about contracts in service oriented architectures (SOA). The rationale is that system developers benefit from abstraction mechanisms to work with these architectures. Therefore...... the goal is to design and test system modeling and programming language tools to empower SOA developers to deploy highly dynamic, negotiable and monitorable Internet services....

  20. Object oriented software development in the atlas collaboration

    Schaffer, A.

    1994-01-01

    For more than a year a group within the Atlas Collaboration has been investigating the possibilities of the application of object oriented methodology and program development to the software of Atlas. Recently this group has been joined by members of the CMS Collaboration in the submission of a proposal to the DRDC at CERN to find a common solution for the software development environment for LHC. This talk will discuss the progress achieved so far and the future perspective

  1. International Conference on Software Engineering, Knowledge Engineering and Information Engineering (SEKEIE 2012)

    Software Engineering and Knowledge Engineering: Theory and Practice

    2012-01-01

    2012 International Conference on Software Engineering, Knowledge Engineering and Information Engineering (SEKEIE 2012) will be held in Macau, April 1-2, 2012 . This conference will bring researchers and experts from the three areas of Software Engineering, Knowledge Engineering and Information Engineering together to share their latest research results and ideas.   This volume book covered significant recent developments in the Software Engineering, Knowledge Engineering and Information Engineering field, both theoretical and applied. We are glad this conference attracts your attentions, and thank your support to our conference. We will absorb remarkable suggestion, and make our conference more successful and perfect.

  2. Software Development for EECU Platform of Turbofan Engine

    Kim, Bo Gyoung; Kwak, Dohyup; Kim, Byunghyun; Choi, Hee ju; Kong, Changduk

    2017-04-01

    The turbofan engine operation consists of a number of hardware and software. The engine is controlled by Electronic Engine Control Unit (EECU). In order to control the engine, EECU communicates with an aircraft system, Actuator Drive Unit (ADU), Engine Power Unit (EPU) and sensors on the engine. This paper tried to investigate the process form starting to taking-off and aims to design the EECU software mode and defined communication data format. The software is implemented according to the designed software mode.

  3. Service oriented architecture assessment based on software components

    Mahnaz Amirpour

    2016-01-01

    Full Text Available Enterprise architecture, with detailed descriptions of the functions of information technology in the organization, tries to reduce the complexity of technology applications resulting in tools with greater efficiency in achieving the objectives of the organization. Enterprise architecture consists of a set of models describing this technology in different components performance as well as various aspects of the applications in any organization. Therefore, information technology development and maintenance management can perform well within organizations. This study aims to suggest a method to identify different types of services in service-oriented architecture analysis step that applies some previous approaches in an integrated form and, based on the principles of software engineering, to provide a simpler and more transparent approach through the expression of analysis details. Advantages and disadvantages of proposals should be evaluated before the implementation and costs allocation. Evaluation methods can better identify strengths and weaknesses of the current situation apart from selecting appropriate model out of several suggestions, and clarify this technology development solution for organizations in the future. We will be able to simulate data and processes flow within the organization by converting the output of the model to colored Petri nets and evaluate and test it by examining various inputs to enterprise architecture before implemented in terms of reliability and response time. A model of application has been studied for the proposed model and the results can describe and design architecture for data.

  4. Engineering software development with HyperCard

    Darko, Robert J.

    1990-01-01

    The successful and unsuccessful techniques used in the development of software using HyperCard are described. The viability of the HyperCard for engineering is evaluated and the future use of HyperCard by this particular group of developers is discussed.

  5. Revisiting the Global Software Engineering Terminology

    Tell, Paolo; Giuffrida, Rosalba; Shah, Hina

    2013-01-01

    Even though Global Software Engineering (GSE) has been a research topic of interest for many years, some of its ground terminology is still lacking a unified, coherent, and shared definition and/or classification. The purpose of this report is to collect, outline, and relate several fundamental...

  6. Is Scrum fit for global software engineering?

    Lous, Pernille; Kuhrmann, Marco; Tell, Paolo

    2017-01-01

    Distributed software engineering and agility are strongly pushing on today's software industry. Due to inherent incompatibilities, for years, studying Scrum and its application in distributed setups has been subject to theoretical and applied research, and an increasing body of knowledge reports...... insights into this combination. Through a systematic literature review, this paper contributes a collection of experiences on the application of Scrum to global software engineering (GSE). In total, we identified 40 challenges in 19 categories practitioners face when using Scrum in GSE. Among...... the challenges, scaling Scrum to GSE and adopting practices accordingly are the most frequently named. Our findings also show that most solution proposals aim at modifying elements of the Scrum core processes. We thus conclude that, even though Scrum allows for extensive modification, Scrum itself represents...

  7. Software Engineering Technology Infusion Within NASA

    Zelkowitz, Marvin V.

    1996-01-01

    Abstract technology transfer is of crucial concern to both government and industry today. In this paper, several software engineering technologies used within NASA are studied, and the mechanisms, schedules, and efforts at transferring these technologies are investigated. The goals of this study are: 1) to understand the difference between technology transfer (the adoption of a new method by large segments of an industry) as an industry-wide phenomenon and the adoption of a new technology by an individual organization (called technology infusion); and 2) to see if software engineering technology transfer differs from other engineering disciplines. While there is great interest today in developing technology transfer models for industry, it is the technology infusion process that actually causes changes in the current state of the practice.

  8. Is Chinese software engineering professionalizing or not?

    Yang, Yan

    2012-01-01

    This paper aims to discuss the challenge for the classical idea of professionalism in understanding the Chinese software engineering industry after giving a close insight into the development of this industry as well as individual engineers with a psycho-societal perspective. Design....../methodology/approach: The study starts with the general review of the sociological concept of profession, professional and specialization of knowledge. Together with revealing the critical challenge from the empirical field of software engineering industry regarding its professionalization, a critique of the neglect...... of subjective agency in classical conception of professionalism in sociology theory and methodology is set out. Findings: A case study with interpretation of the subject's continuously developing identification with their specialization in knowledge and occupation from their narration of career experience...

  9. Integrating interface slicing into software engineering processes

    Beck, Jon

    1993-01-01

    Interface slicing is a tool which was developed to facilitate software engineering. As previously presented, it was described in terms of its techniques and mechanisms. The integration of interface slicing into specific software engineering activities is considered by discussing a number of potential applications of interface slicing. The applications discussed specifically address the problems, issues, or concerns raised in a previous project. Because a complete interface slicer is still under development, these applications must be phrased in future tenses. Nonetheless, the interface slicing techniques which were presented can be implemented using current compiler and static analysis technology. Whether implemented as a standalone tool or as a module in an integrated development or reverse engineering environment, they require analysis no more complex than that required for current system development environments. By contrast, conventional slicing is a methodology which, while showing much promise and intuitive appeal, has yet to be fully implemented in a production language environment despite 12 years of development.

  10. Collected software engineering papers, volume 7

    1989-01-01

    A collection is presented of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) during the period Dec. 1988 to Oct. 1989. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. For the convenience of this presentation, the seven papers contained here are grouped into three major categories: (1) Software Measurement and Technology Studies; (2) Measurement Environment Studies; and (3) Ada Technology Studies. The first category presents experimental research and evaluation of software measurement and technology; the second presents studies on software environments pertaining to measurement. The last category represents Ada technology and includes research, development, and measurement studies.

  11. Collected software engineering papers, volume 6

    1988-01-01

    A collection is presented of technical papers produced by participants in the Software Engineering Laboratory (SEL) during the period 1 Jun. 1987 to 1 Jan. 1989. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. For the convenience of this presentation, the twelve papers contained here are grouped into three major categories: (1) Software Measurement and Technology Studies; (2) Measurement Environment Studies; and (3) Ada Technology Studies. The first category presents experimental research and evaluation of software measurement and technology; the second presents studies on software environments pertaining to measurement. The last category represents Ada technology and includes research, development, and measurement studies.

  12. Orthographic Software Modelling: A Novel Approach to View-Based Software Engineering

    Atkinson, Colin

    The need to support multiple views of complex software architectures, each capturing a different aspect of the system under development, has been recognized for a long time. Even the very first object-oriented analysis/design methods such as the Booch method and OMT supported a number of different diagram types (e.g. structural, behavioral, operational) and subsequent methods such as Fusion, Kruchten's 4+1 views and the Rational Unified Process (RUP) have added many more views over time. Today's leading modeling languages such as the UML and SysML, are also oriented towards supporting different views (i.e. diagram types) each able to portray a different facets of a system's architecture. More recently, so called enterprise architecture frameworks such as the Zachman Framework, TOGAF and RM-ODP have become popular. These add a whole set of new non-functional views to the views typically emphasized in traditional software engineering environments.

  13. Improving requirements engineering by artefact orientation

    Méndez Fernández, Daniel; Wieringa, Roelf J.

    2013-01-01

    The importance of continuously improving requirements engineering (RE) has been recognised for many years. Similar to available software process improvement approaches, most RE improvement approaches focus on a normative and solution-driven assessment of companies rather than on a problem-driven RE

  14. Object Oriented Software Development Using A Use-Cases Approach

    This paper presents a systematic approach to the analysis and design of an online banking system using the Use-Cases method of Jacobson. This analysis and design method will support the development of highly effective reuseable code, thus bringing the benefits of object orientation into important software projects.

  15. Quick Prototyping of Educational Software: An Object-Oriented Approach.

    Wong, Simon C-H

    1994-01-01

    Introduces and demonstrates a quick-prototyping model for educational software development that can be used by teachers developing their own courseware using an object-oriented programming system. Development of a courseware package called "The Match-Maker" is explained as an example that uses HyperCard for quick prototyping. (Contains…

  16. Object-oriented software design in semiautomatic building extraction

    Guelch, Eberhard; Mueller, Hardo

    1997-08-01

    Developing a system for semiautomatic building acquisition is a complex process, that requires constant integration and updating of software modules and user interfaces. To facilitate these processes we apply an object-oriented design not only for the data but also for the software involved. We use the unified modeling language (UML) to describe the object-oriented modeling of the system in different levels of detail. We can distinguish between use cases from the users point of view, that represent a sequence of actions, yielding in an observable result and the use cases for the programmers, who can use the system as a class library to integrate the acquisition modules in their own software. The structure of the system is based on the model-view-controller (MVC) design pattern. An example from the integration of automated texture extraction for the visualization of results demonstrate the feasibility of this approach.

  17. What's Happening in the Software Engineering Laboratory?

    Pajerski, Rose; Green, Scott; Smith, Donald

    1995-01-01

    Since 1976 the Software Engineering Laboratory (SEL) has been dedicated to understanding and improving the way in which one NASA organization the Flight Dynamics Division (FDD) at Goddard Space Flight Center, develops, maintains, and manages complex flight dynamics systems. This paper presents an overview of recent activities and studies in SEL, using as a framework the SEL's organizational goals and experience based software improvement approach. It focuses on two SEL experience areas : (1) the evolution of the measurement program and (2) an analysis of three generations of Cleanroom experiments.

  18. Software engineering knowledge at your fingertips: Experiences with a software engineering-portal

    Punter, T.; Kalmar, R.

    2003-01-01

    In order to keep up the pace with technology development, knowledge on Software Engineering (SE) methods, techniques, and tools is required. For an effective and efficient knowledge transfer, especially Small and Medium-sized Enterprises (SMEs) might benefit from Software Engineering Portals (SE-Portals). This paper provides an analysis of SE-Portals by distinguishing two types: 1) the Knowledge Portal and 2) the Knowledge & Community Portal. On behalf of the analysis we conclude that most SE...

  19. Requirements Engineering in Building Climate Science Software

    Batcheller, Archer L.

    Software has an important role in supporting scientific work. This dissertation studies teams that build scientific software, focusing on the way that they determine what the software should do. These requirements engineering processes are investigated through three case studies of climate science software projects. The Earth System Modeling Framework assists modeling applications, the Earth System Grid distributes data via a web portal, and the NCAR (National Center for Atmospheric Research) Command Language is used to convert, analyze and visualize data. Document analysis, observation, and interviews were used to investigate the requirements-related work. The first research question is about how and why stakeholders engage in a project, and what they do for the project. Two key findings arise. First, user counts are a vital measure of project success, which makes adoption important and makes counting tricky and political. Second, despite the importance of quantities of users, a few particular "power users" develop a relationship with the software developers and play a special role in providing feedback to the software team and integrating the system into user practice. The second research question focuses on how project objectives are articulated and how they are put into practice. The team seeks to both build a software system according to product requirements but also to conduct their work according to process requirements such as user support. Support provides essential communication between users and developers that assists with refining and identifying requirements for the software. It also helps users to learn and apply the software to their real needs. User support is a vital activity for scientific software teams aspiring to create infrastructure. The third research question is about how change in scientific practice and knowledge leads to changes in the software, and vice versa. The "thickness" of a layer of software infrastructure impacts whether the

  20. The ATLAS data management software engineering process

    Lassnig, M; Garonne, V; Stewart, G A; Barisits, M; Serfon, C; Goossens, L; Nairz, A; Beermann, T; Vigne, R; Molfetas, A

    2014-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also highlight the social aspects of an environment where every action is subject to detailed scrutiny.

  1. The ATLAS data management software engineering process

    Lassnig, M.; Garonne, V.; Stewart, G. A.; Barisits, M.; Beermann, T.; Vigne, R.; Serfon, C.; Goossens, L.; Nairz, A.; Molfetas, A.; Atlas Collaboration

    2014-06-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also highlight the social aspects of an environment where every action is subject to detailed scrutiny.

  2. Systematic development of industrial control systems using Software/Hardware Engineering

    Voeten, J.P.M.; van der Putten, P.H.A.; Stevens, M.P.J.; Milligan, P.; Corr, P.

    1997-01-01

    SHE (Software/Hardware Engineering) is a new object-oriented analysis, specification and design method for complex reactive hardware/software systems. SHE is based on the formal specification language POOSL and a design framework guiding analysis and design activities. This paper reports on the

  3. Writing Compilers and Interpreters A Software Engineering Approach

    Mak, Ronald

    2011-01-01

    Long-awaited revision to a unique guide that covers both compilers and interpreters Revised, updated, and now focusing on Java instead of C++, this long-awaited, latest edition of this popular book teaches programmers and software engineering students how to write compilers and interpreters using Java. You?ll write compilers and interpreters as case studies, generating general assembly code for a Java Virtual Machine that takes advantage of the Java Collections Framework to shorten and simplify the code. In addition, coverage includes Java Collections Framework, UML modeling, object-oriented p

  4. Domain Engineering, A Software Engineering Discipline in Need of Research

    Bjørner, Dines

    2000-01-01

    . The aim of this paper is to advocate: that researchers study these development method components, and that universities focus their education on basing well-nigh any course on the use of formal techniques: Specification and verification, and that software engineers take heed: Start applying formal......, and these again seem more stable than software designs. Thus, almost like the universal laws of physics, it pays off to first develop theories of domains. But domain engineering, as in fact also requirements engineering, really is in need of thoroughly researched development principles, techniques and tools...... techniques. A brief example of describing stake-holder perspectives will be given - on the background of which we then proceed to survey the notions of domain intrinsics, domain support technologies, domain management & organisation, domain rules & regulations, domain human behaviour, etc. We show elsewhere...

  5. Software Engineering and Knowledge Engineering Theory and Practice Volume 2

    2012-01-01

    The volume includes a set of selected papers extended and revised from the I2009 Pacific-Asia Conference on Knowledge Engineering and Software Engineering (KESE 2009) was held on December 19~ 20, 2009, Shenzhen, China.   Volume 2 is to provide a forum for researchers, educators, engineers, and government officials involved in the general areas of Knowledge Engineering and Communication Technology to disseminate their latest research results and exchange views on the future research directions of these fields. 135 high-quality papers are included in the volume. Each paper has been peer-reviewed by at least 2 program committee members and selected by the volume editor Prof.Yanwen Wu.   On behalf of the this volume, we would like to express our sincere appreciation to all of authors and referees for their efforts reviewing the papers. Hoping you can find lots of profound research ideas and results on the related fields of Knowledge Engineering and Communication Technology. 

  6. On teaching software engineering based on formal techniques

    Bjørner, Dines

    2001-01-01

    thoughts about and plans for a different software engineering text book peter Lucas Farewell Symposium......thoughts about and plans for a different software engineering text book peter Lucas Farewell Symposium...

  7. Data systems and computer science: Software Engineering Program

    Zygielbaum, Arthur I.

    1991-01-01

    An external review of the Integrated Technology Plan for the Civil Space Program is presented. This review is specifically concerned with the Software Engineering Program. The goals of the Software Engineering Program are as follows: (1) improve NASA's ability to manage development, operation, and maintenance of complex software systems; (2) decrease NASA's cost and risk in engineering complex software systems; and (3) provide technology to assure safety and reliability of software in mission critical applications.

  8. Surfing the Edge of Chaos: Applications to Software Engineering

    Nogueira, Juan C; Jones, Carl

    2000-01-01

    .... We discuss the feasibility of using this theory in software engineering as an alternative to bureaucratic software development processes. We present also some recommendations that could help to acquire competitive advantage in software development, hence achieve information superiority.

  9. Teaching Agile Software Engineering Using Problem-Based Learning

    El-Khalili, Nuha H.

    2013-01-01

    Many studies have reported the utilization of Problem-Based Learning (PBL) in teaching Software Engineering courses. However, these studies have different views of the effectiveness of PBL. This paper presents the design of an Advanced Software Engineering course for undergraduate Software Engineering students that uses PBL to teach them Agile…

  10. Property-Based Software Engineering Measurement

    Briand, Lionel C.; Morasca, Sandro; Basili, Victor R.

    1997-01-01

    Little theory exists in the field of software system measurement. Concepts such as complexity, coupling, cohesion or even size are very often subject to interpretation and appear to have inconsistent definitions in the literature. As a consequence, there is little guidance provided to the analyst attempting to define proper measures for specific problems. Many controversies in the literature are simply misunderstandings and stem from the fact that some people talk about different measurement concepts under the same label (complexity is the most common case). There is a need to define unambiguously the most important measurement concepts used in the measurement of software products. One way of doing so is to define precisely what mathematical properties characterize these concepts, regardless of the specific software artifacts to which these concepts are applied. Such a mathematical framework could generate a consensus in the software engineering community and provide a means for better communication among researchers, better guidelines for analysts, and better evaluation methods for commercial static analyzers for practitioners. In this paper, we propose a mathematical framework which is generic, because it is not specific to any particular software artifact and rigorous, because it is based on precise mathematical concepts. We use this framework to propose definitions of several important measurement concepts (size, length, complexity, cohesion, coupling). It does not intend to be complete or fully objective; other frameworks could have been proposed and different choices could have been made. However, we believe that the formalisms and properties we introduce are convenient and intuitive. This framework contributes constructively to a firmer theoretical ground of software measurement.

  11. Towards a general object-oriented software development methodology

    Seidewitz, ED; Stark, Mike

    1986-01-01

    Object diagrams were used to design a 5000 statement team training exercise and to design the entire dynamics simulator. The object diagrams are also being used to design another 50,000 statement Ada system and a personal computer based system that will be written in Modula II. The design methodology evolves out of these experiences as well as the limitations of other methods that were studied. Object diagrams, abstraction analysis, and associated principles provide a unified framework which encompasses concepts from Yourdin, Booch, and Cherry. This general object-oriented approach handles high level system design, possibly with concurrency, through object-oriented decomposition down to a completely functional level. How object-oriented concepts can be used in other phases of the software life-cycle, such as specification and testing is being studied concurrently.

  12. Strategic Orientation in the Globalization of Software Firms

    Dedrick, Jason; Kraemer, Kenneth L.; Carmel, Erran; Dunkle, Debora

    In the search for profits, software firms are globalizing their development activities. Some firms achieve greater profits by becoming more efficient, whereas others do so by reaching new markets; some do both. This paper creates an a priori typology of strategies based on the extent to which firms are focused on operational improvement or market access, have a dual focus or are unfocused. We find that firms with these strategies differ in degree of internationalization, organization of offshoring and performance outcomes related to offshoring. Market-oriented firms receive a greater proportion of their total revenue from sales outside the U.S., showing a greater international orientation. They keep more of their offshore development in-house via captive operations. They also are most likely to report increased non-U.S. sales as a result of offshoring. On the other hand, operations-oriented firms have lower levels of international sales, are more likely to go offshore via outsourced software development, and achieve greater costs savings and labor force flexibility as a result of offshoring. Operations-oriented firms also face more obstacles in offshoring, perhaps because of their reliance on outsourcing. Dual focus firms generally achieve some of the best of both strategies, whereas unfocused firms achieve lower cost benefits.

  13. Software for Collaborative Engineering of Launch Rockets

    Stanley, Thomas Troy

    2003-01-01

    The Rocket Evaluation and Cost Integration for Propulsion and Engineering software enables collaborative computing with automated exchange of information in the design and analysis of launch rockets and other complex systems. RECIPE can interact with and incorporate a variety of programs, including legacy codes, that model aspects of a system from the perspectives of different technological disciplines (e.g., aerodynamics, structures, propulsion, trajectory, aeroheating, controls, and operations) and that are used by different engineers on different computers running different operating systems. RECIPE consists mainly of (1) ISCRM a file-transfer subprogram that makes it possible for legacy codes executed in their original operating systems on their original computers to exchange data and (2) CONES an easy-to-use filewrapper subprogram that enables the integration of legacy codes. RECIPE provides a tightly integrated conceptual framework that emphasizes connectivity among the programs used by the collaborators, linking these programs in a manner that provides some configuration control while facilitating collaborative engineering tradeoff studies, including design to cost studies. In comparison with prior collaborative-engineering schemes, one based on the use of RECIPE enables fewer engineers to do more in less time.

  14. Software Engineering Laboratory (SEL) cleanroom process model

    Green, Scott; Basili, Victor; Godfrey, Sally; Mcgarry, Frank; Pajerski, Rose; Waligora, Sharon

    1991-01-01

    The Software Engineering Laboratory (SEL) cleanroom process model is described. The term 'cleanroom' originates in the integrated circuit (IC) production process, where IC's are assembled in dust free 'clean rooms' to prevent the destructive effects of dust. When applying the clean room methodology to the development of software systems, the primary focus is on software defect prevention rather than defect removal. The model is based on data and analysis from previous cleanroom efforts within the SEL and is tailored to serve as a guideline in applying the methodology to future production software efforts. The phases that are part of the process model life cycle from the delivery of requirements to the start of acceptance testing are described. For each defined phase, a set of specific activities is discussed, and the appropriate data flow is described. Pertinent managerial issues, key similarities and differences between the SEL's cleanroom process model and the standard development approach used on SEL projects, and significant lessons learned from prior cleanroom projects are presented. It is intended that the process model described here will be further tailored as additional SEL cleanroom projects are analyzed.

  15. Developing Project Duration Models in Software Engineering

    Pierre Bourque; Serge Oligny; Alain Abran; Bertrand Fournier

    2007-01-01

    Based on the empirical analysis of data contained in the International Software Benchmarking Standards Group(ISBSG) repository, this paper presents software engineering project duration models based on project effort. Duration models are built for the entire dataset and for subsets of projects developed for personal computer, mid-range and mainframeplatforms. Duration models are also constructed for projects requiring fewer than 400 person-hours of effort and for projectsre quiring more than 400 person-hours of effort. The usefulness of adding the maximum number of assigned resources as asecond independent variable to explain duration is also analyzed. The opportunity to build duration models directly fromproject functional size in function points is investigated as well.

  16. Multimedia Software Laboratory | College of Engineering & Applied Science

    Support Milwaukee Engineering Research Conference 2018 Poster Competition Business Corporate Partners Engineer Research Collaborations Corporate Services Product Realization Business Tour Give Entrepreneurship -oriented methods, and performance analysis. Research Message from the Associate Dean Milwaukee Engineerâ

  17. Proceedings of the Ninth Annual Software Engineering Workshop

    1984-01-01

    Experiences in measurement, utilization, and evaluation of software methodologies, models, and tools are discussed. NASA's involvement in ever larger and more complex systems, like the space station project, provides a motive for the support of software engineering research and the exchange of ideas in such forums. The topics of current SEL research are software error studies, experiments with software development, and software tools.

  18. Cooperative and human aspects of software engineering: CHASE 2010

    Dittrich, Yvonne; Sharp, Helen C.; Winschiers Theophilus, Heike

    2010-01-01

    Software is created by people -- software engineers in cooperation with domain experts, users and other stakeholders--in varied environments, under various conditions. Thus understanding cooperative and human aspects of software development is crucial to comprehend how and which methods and tools...... are required, to improve the creation and maintenance of software. The 3rd workshop on Cooperative and Human Aspects of Software Engineering held at the International Conference on Software Engineering continued the tradition from earlier workshops and provided a lively forum to discuss current developments...... and high quality research in the field. Further dissemination of research results will lead to an improvement of software development and deployment across the globe....

  19. Software Engineering and Swarm-Based Systems

    Hinchey, Michael G.; Sterritt, Roy; Pena, Joaquin; Rouff, Christopher A.

    2006-01-01

    We discuss two software engineering aspects in the development of complex swarm-based systems. NASA researchers have been investigating various possible concept missions that would greatly advance future space exploration capabilities. The concept mission that we have focused on exploits the principles of autonomic computing as well as being based on the use of intelligent swarms, whereby a (potentially large) number of similar spacecraft collaborate to achieve mission goals. The intent is that such systems not only can be sent to explore remote and harsh environments but also are endowed with greater degrees of protection and longevity to achieve mission goals.

  20. Software Engineering Tools for Scientific Models

    Abrams, Marc; Saboo, Pallabi; Sonsini, Mike

    2013-01-01

    Software tools were constructed to address issues the NASA Fortran development community faces, and they were tested on real models currently in use at NASA. These proof-of-concept tools address the High-End Computing Program and the Modeling, Analysis, and Prediction Program. Two examples are the NASA Goddard Earth Observing System Model, Version 5 (GEOS-5) atmospheric model in Cell Fortran on the Cell Broadband Engine, and the Goddard Institute for Space Studies (GISS) coupled atmosphere- ocean model called ModelE, written in fixed format Fortran.

  1. Epistemology, software engineering and formal methods

    Holloway, C. Michael

    1994-01-01

    One of the most basic questions anyone can ask is, 'How do I know that what I think I know is true?' The study of this question is called epistemology. Traditionally, epistemology has been considered to be of legitimate interest only to philosophers, theologians, and three year old children who respond to every statement by asking, 'Why?' Software engineers need to be interested in the subject, however, because a lack of sufficient understanding of epistemology contributes to many of the current problems in the field.

  2. Simulation software: engineer processes before reengineering.

    Lepley, C J

    2001-01-01

    People make decisions all the time using intuition. But what happens when you are asked: "Are you sure your predictions are accurate? How much will a mistake cost? What are the risks associated with this change?" Once a new process is engineered, it is difficult to analyze what would have been different if other options had been chosen. Simulating a process can help senior clinical officers solve complex patient flow problems and avoid wasted efforts. Simulation software can give you the data you need to make decisions. The author introduces concepts, methodologies, and applications of computer aided simulation to illustrate their use in making decisions to improve workflow design.

  3. Object-oriented approach for gas turbine engine simulation

    Curlett, Brian P.; Felder, James L.

    1995-01-01

    An object-oriented gas turbine engine simulation program was developed. This program is a prototype for a more complete, commercial grade engine performance program now being proposed as part of the Numerical Propulsion System Simulator (NPSS). This report discusses architectural issues of this complex software system and the lessons learned from developing the prototype code. The prototype code is a fully functional, general purpose engine simulation program, however, only the component models necessary to model a transient compressor test rig have been written. The production system will be capable of steady state and transient modeling of almost any turbine engine configuration. Chief among the architectural considerations for this code was the framework in which the various software modules will interact. These modules include the equation solver, simulation code, data model, event handler, and user interface. Also documented in this report is the component based design of the simulation module and the inter-component communication paradigm. Object class hierarchies for some of the code modules are given.

  4. Computer-Aided Software Engineering - An approach to real-time software development

    Walker, Carrie K.; Turkovich, John J.

    1989-01-01

    A new software engineering discipline is Computer-Aided Software Engineering (CASE), a technology aimed at automating the software development process. This paper explores the development of CASE technology, particularly in the area of real-time/scientific/engineering software, and a history of CASE is given. The proposed software development environment for the Advanced Launch System (ALS CASE) is described as an example of an advanced software development system for real-time/scientific/engineering (RT/SE) software. The Automated Programming Subsystem of ALS CASE automatically generates executable code and corresponding documentation from a suitably formatted specification of the software requirements. Software requirements are interactively specified in the form of engineering block diagrams. Several demonstrations of the Automated Programming Subsystem are discussed.

  5. Math Description Engine Software Development Kit

    Shelton, Robert O.; Smith, Stephanie L.; Dexter, Dan E.; Hodgson, Terry R.

    2010-01-01

    The Math Description Engine Software Development Kit (MDE SDK) can be used by software developers to make computer-rendered graphs more accessible to blind and visually-impaired users. The MDE SDK generates alternative graph descriptions in two forms: textual descriptions and non-verbal sound renderings, or sonification. It also enables display of an animated trace of a graph sonification on a visual graph component, with color and line-thickness options for users having low vision or color-related impairments. A set of accessible graphical user interface widgets is provided for operation by end users and for control of accessible graph displays. Version 1.0 of the MDE SDK generates text descriptions for 2D graphs commonly seen in math and science curriculum (and practice). The mathematically rich text descriptions can also serve as a virtual math and science assistant for blind and sighted users, making graphs more accessible for everyone. The MDE SDK has a simple application programming interface (API) that makes it easy for programmers and Web-site developers to make graphs accessible with just a few lines of code. The source code is written in Java for cross-platform compatibility and to take advantage of Java s built-in support for building accessible software application interfaces. Compiled-library and NASA Open Source versions are available with API documentation and Programmer s Guide at http:/ / prim e.jsc.n asa. gov.

  6. Survey on Projects at DLR Simulation and Software Technology with Focus on Software Engineering and HPC

    Schreiber, Andreas; Basermann, Achim

    2013-01-01

    We introduce the DLR institute “Simulation and Software Technology” (SC) and present current activities regarding software engineering and high performance computing (HPC) in German or international projects. Software engineering at SC focusses on data and knowledge management as well as tools for studies and experiments. We discuss how we apply software configuration management, validation and verification in our projects. Concrete research topics are traceability of (software devel...

  7. The need for scientific software engineering in the pharmaceutical industry.

    Luty, Brock; Rose, Peter W

    2017-03-01

    Scientific software engineering is a distinct discipline from both computational chemistry project support and research informatics. A scientific software engineer not only has a deep understanding of the science of drug discovery but also the desire, skills and time to apply good software engineering practices. A good team of scientific software engineers can create a software foundation that is maintainable, validated and robust. If done correctly, this foundation enable the organization to investigate new and novel computational ideas with a very high level of efficiency.

  8. Performing Verification and Validation in Reuse-Based Software Engineering

    Addy, Edward A.

    1999-01-01

    The implementation of reuse-based software engineering not only introduces new activities to the software development process, such as domain analysis and domain modeling, it also impacts other aspects of software engineering. Other areas of software engineering that are affected include Configuration Management, Testing, Quality Control, and Verification and Validation (V&V). Activities in each of these areas must be adapted to address the entire domain or product line rather than a specific application system. This paper discusses changes and enhancements to the V&V process, in order to adapt V&V to reuse-based software engineering.

  9. Software engineering frameworks for the cloud computing paradigm

    Mahmood, Zaigham

    2013-01-01

    This book presents the latest research on Software Engineering Frameworks for the Cloud Computing Paradigm, drawn from an international selection of researchers and practitioners. The book offers both a discussion of relevant software engineering approaches and practical guidance on enterprise-wide software deployment in the cloud environment, together with real-world case studies. Features: presents the state of the art in software engineering approaches for developing cloud-suitable applications; discusses the impact of the cloud computing paradigm on software engineering; offers guidance an

  10. The need for scientific software engineering in the pharmaceutical industry

    Luty, Brock; Rose, Peter W.

    2017-03-01

    Scientific software engineering is a distinct discipline from both computational chemistry project support and research informatics. A scientific software engineer not only has a deep understanding of the science of drug discovery but also the desire, skills and time to apply good software engineering practices. A good team of scientific software engineers can create a software foundation that is maintainable, validated and robust. If done correctly, this foundation enable the organization to investigate new and novel computational ideas with a very high level of efficiency.

  11. Introduction to the workshop on technology transfer in software engineering

    Harrison, Warren; Wieringa, Roelf J.

    The goal of the Workshop on Technology Transfer in Software Engineering is to increase our understanding of technology transfer in software engineering, and to learn from successful case studies. We wanted to bring researchers and practitioners together to create an inventory of problems in software

  12. Towards a Controlled Vocabulary on Software Engineering Education

    Pizard, Sebastián; Vallespir, Diego

    2017-01-01

    Software engineering is the discipline that develops all the aspects of the production of software. Although there are guidelines about what topics to include in a software engineering curricula, it is usually unclear which are the best methods to teach them. In any science discipline the construction of a classification schema is a common…

  13. Case Study Research in Software Engineering Guidelines and Examples

    Runeson, Per; Rainer, Austen; Regnell, Bjorn

    2012-01-01

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering.  This is the first software engineering specific book on the case study research method.

  14. Object-Oriented Software Tools for the Construction of Preconditioners

    Eva Mossberg

    1997-01-01

    Full Text Available In recent years, there has been considerable progress concerning preconditioned iterative methods for large and sparse systems of equations arising from the discretization of differential equations. Such methods are particularly attractive in the context of high-performance (parallel computers. However, the implementation of a preconditioner is a nontrivial task. The focus of the present contribution is on a set of object-oriented software tools that support the construction of a family of preconditioners based on fast transforms. By combining objects of different classes, it is possible to conveniently construct any preconditioner within this family.

  15. Experience with case tools in the design of process-oriented software

    Novakov, Ognian; Sicard, Claude-Henri

    1994-12-01

    In Accelerator systems such as the CERN PS complex, process equipment has a life time which may exceed the typical life cycle of its related software. Taking into account the variety of such equipment, it is important to keep the analysis and design of the software in a system-independent form. This paper discusses the experience gathered in using commercial CASE tools for analysis, design and reverse engineering of different process-oriented software modules, with a principal emphasis on maintaining the initial analysis in a standardized form. Such tools have been in existence for several years, but this paper shows that they are not fully adapted to our needs. In particular, the paper stresses the problems of integrating such a tool into an existing data-base-dependent development chain, the lack of real-time simulation tools and of Object-Oriented concepts in existing commercial packages. Finally, the paper gives a broader view of software engineering needs in our particular context.

  16. Proceedings of the 14th Annual Software Engineering Workshop

    1989-01-01

    Several software related topics are presented. Topics covered include studies and experiment at the Software Engineering Laboratory at the Goddard Space Flight Center, predicting project success from the Software Project Management Process, software environments, testing in a reuse environment, domain directed reuse, and classification tree analysis using the Amadeus measurement and empirical analysis.

  17. Software Engineering for Scientific Computer Simulations

    Post, Douglass E.; Henderson, Dale B.; Kendall, Richard P.; Whitney, Earl M.

    2004-11-01

    Computer simulation is becoming a very powerful tool for analyzing and predicting the performance of fusion experiments. Simulation efforts are evolving from including only a few effects to many effects, from small teams with a few people to large teams, and from workstations and small processor count parallel computers to massively parallel platforms. Successfully making this transition requires attention to software engineering issues. We report on the conclusions drawn from a number of case studies of large scale scientific computing projects within DOE, academia and the DoD. The major lessons learned include attention to sound project management including setting reasonable and achievable requirements, building a good code team, enforcing customer focus, carrying out verification and validation and selecting the optimum computational mathematics approaches.

  18. Software Engineering Team Project - lessons learned

    Bogumiła Hnatkowska

    2013-06-01

    Full Text Available In the 2010/11 academic year the Institute of Informatics at Wroclaw University of Technology issued ’Software Engineering Team Project’ as a course being a part of the final exam to earn bachelor’s degree. The main assumption about the course was that it should simulate the real environment (a virtual IT company for its participants. The course was aimed to introduce issues regarding programming in the medium scale, project planning and management. It was a real challenge as the course was offered for more than 140 students. The number of staff members involved in its preparation and performance was more than 15. The paper presents the lessons learned from the first course edition as well as more detailed qualitative and quantitative course assessment.

  19. ALICES: an advanced object-oriented software workshop for simulators

    Sayet, R.L.; Rouault, G.; Pieroux, D.; Houte, U. Van

    1999-01-01

    Reducing simulator development costs while improving model quality, user-friendliness and teaching capabilities, is a major target for many years in the simulation industry. It has led to the development of specific software tools which have been improved progressively following the new features and capabilities offered by the software industry. Unlike most of these software tools, ALICES (which is a French acronym for 'Interactive Software Workshop for the Design of Simulators') is not an upgrade of a previous generation of tools, like putting a graphical front-end to a classical code generator, but a really new development. Its design specification is based on previous experience with different tools as well as on new capabilities of software technology, mainly in Object Oriented Design. This allowed us to make a real technological 'jump' in the simulation industry, beyond the constraints of some traditional approaches. The main objectives behind the development of ALICES were the following: (1) Minimizing the simulator development time and costs: a simulator development consists mainly in developing software. One way to reduce costs is to facilitate reuse of existing software by developing standard components, and by defining interface standards, (2) Insuring that the produced simulator can be maintained and updated at a minimal cost: a simulator must evolve along with the simulated process, and it is then necessary to update periodically the simulator. The cost of an adequate maintenance is highly dependent of the quality of the software workshop, (3) Covering the whole simulator development process: from the data package to the acceptance tests and for maintenance and upgrade activities; with the whole development team, even if it is dispatched at different working sites; respecting the Quality Assurance rules and procedures (CORYS T.E.S.S. and TRACTEBEL are ISO-9001 certified). The development of ALICES was also done to comply with the following two main

  20. Comparison of Problem Solving from Engineering Design to Software Design

    Ahmed-Kristensen, Saeema; Babar, Muhammad Ali

    2012-01-01

    Observational studies of engineering design activities can inform the research community on the problem solving models that are employed by professional engineers. Design is defined as an ill-defined problem which includes both engineering design and software design, hence understanding problem...... solving models from other design domains is of interest to the engineering design community. For this paper an observational study of two software design sessions performed for the workshop on “Studying professional Software Design” is compared to analysis from engineering design. These findings provide...... useful insights of how software designers move from a problem domain to a solution domain and the commonalities between software designers’ and engineering designers’ design activities. The software designers were found to move quickly to a detailed design phase, employ co-.evolution and adopt...

  1. Comparison of Problem Solving from Engineering Design to Software Design

    Ahmed-Kristensen, Saeema; Babar, Muhammad Ali

    2012-01-01

    solving models from other design domains is of interest to the engineering design community. For this paper an observational study of two software design sessions performed for the workshop on “Studying professional Software Design” is compared to analysis from engineering design. These findings provide......Observational studies of engineering design activities can inform the research community on the problem solving models that are employed by professional engineers. Design is defined as an ill-defined problem which includes both engineering design and software design, hence understanding problem...... useful insights of how software designers move from a problem domain to a solution domain and the commonalities between software designers’ and engineering designers’ design activities. The software designers were found to move quickly to a detailed design phase, employ co-.evolution and adopt...

  2. FMT (Flight Software Memory Tracker) For Cassini Spacecraft-Software Engineering Using JAVA

    Kan, Edwin P.; Uffelman, Hal; Wax, Allan H.

    1997-01-01

    The software engineering design of the Flight Software Memory Tracker (FMT) Tool is discussed in this paper. FMT is a ground analysis software set, consisting of utilities and procedures, designed to track the flight software, i.e., images of memory load and updatable parameters of the computers on-board Cassini spacecraft. FMT is implemented in Java.

  3. Performance Engineering Technology for Scientific Component Software

    Malony, Allen D.

    2007-05-08

    Large-scale, complex scientific applications are beginning to benefit from the use of component software design methodology and technology for software development. Integral to the success of component-based applications is the ability to achieve high-performing code solutions through the use of performance engineering tools for both intra-component and inter-component analysis and optimization. Our work on this project aimed to develop performance engineering technology for scientific component software in association with the DOE CCTTSS SciDAC project (active during the contract period) and the broader Common Component Architecture (CCA) community. Our specific implementation objectives were to extend the TAU performance system and Program Database Toolkit (PDT) to support performance instrumentation, measurement, and analysis of CCA components and frameworks, and to develop performance measurement and monitoring infrastructure that could be integrated in CCA applications. These objectives have been met in the completion of all project milestones and in the transfer of the technology into the continuing CCA activities as part of the DOE TASCS SciDAC2 effort. In addition to these achievements, over the past three years, we have been an active member of the CCA Forum, attending all meetings and serving in several working groups, such as the CCA Toolkit working group, the CQoS working group, and the Tutorial working group. We have contributed significantly to CCA tutorials since SC'04, hosted two CCA meetings, participated in the annual ACTS workshops, and were co-authors on the recent CCA journal paper [24]. There are four main areas where our project has delivered results: component performance instrumentation and measurement, component performance modeling and optimization, performance database and data mining, and online performance monitoring. This final report outlines the achievements in these areas for the entire project period. The submitted progress

  4. A historical dataset of software engineering conferences

    Vasilescu, B.N.; Serebrenik, A.; Mens, T.

    2013-01-01

    The Mining Software Repositories community typically focuses on data from software configuration management tools, mailing lists, and bug tracking repositories to uncover interesting and actionable information about the evolution of software systems. However, the techniques employed and the

  5. How Does Software Process Improvement Address Global Software Engineering?

    Kuhrmann, Marco; Diebold, Philipp; Münch, Jürgen

    2016-01-01

    For decades, Software Process Improvement (SPI) programs have been implemented, inter alia, to improve quality and speed of software development. To set up, guide, and carry out SPI projects, and to measure SPI state, impact, and success, a multitude of different SPI approaches and considerable...

  6. Software metrics: Software quality metrics for distributed systems. [reliability engineering

    Post, J. V.

    1981-01-01

    Software quality metrics was extended to cover distributed computer systems. Emphasis is placed on studying embedded computer systems and on viewing them within a system life cycle. The hierarchy of quality factors, criteria, and metrics was maintained. New software quality factors were added, including survivability, expandability, and evolvability.

  7. Data collection procedures for the Software Engineering Laboratory (SEL) database

    Heller, Gerard; Valett, Jon; Wild, Mary

    1992-01-01

    This document is a guidebook to collecting software engineering data on software development and maintenance efforts, as practiced in the Software Engineering Laboratory (SEL). It supersedes the document entitled Data Collection Procedures for the Rehosted SEL Database, number SEL-87-008 in the SEL series, which was published in October 1987. It presents procedures to be followed on software development and maintenance projects in the Flight Dynamics Division (FDD) of Goddard Space Flight Center (GSFC) for collecting data in support of SEL software engineering research activities. These procedures include detailed instructions for the completion and submission of SEL data collection forms.

  8. Proceedings of the 19th Annual Software Engineering Workshop

    1994-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effects of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that include this document.

  9. Distribution and communication in software engineering environments. Application to the HELIOS Software Bus.

    Jean, F. C.; Jaulent, M. C.; Coignard, J.; Degoulet, P.

    1991-01-01

    Modularity, distribution and integration are current trends in Software Engineering. To reach these goals HELIOS, a distributive Software Engineering Environment dedicated to the medical field, has been conceived and a prototype implemented. This environment is made by the collaboration of several, well encapsulated Software Components. This paper presents the architecture retained to allow communication between the different components and focus on the implementation details of the Software ...

  10. Computer, Network, Software, and Hardware Engineering with Applications

    Schneidewind, Norman F

    2012-01-01

    There are many books on computers, networks, and software engineering but none that integrate the three with applications. Integration is important because, increasingly, software dominates the performance, reliability, maintainability, and availability of complex computer and systems. Books on software engineering typically portray software as if it exists in a vacuum with no relationship to the wider system. This is wrong because a system is more than software. It is comprised of people, organizations, processes, hardware, and software. All of these components must be considered in an integr

  11. Model-integrating software components engineering flexible software systems

    Derakhshanmanesh, Mahdi

    2015-01-01

    In his study, Mahdi Derakhshanmanesh builds on the state of the art in modeling by proposing to integrate models into running software on the component-level without translating them to code. Such so-called model-integrating software exploits all advantages of models: models implicitly support a good separation of concerns, they are self-documenting and thus improve understandability and maintainability and in contrast to model-driven approaches there is no synchronization problem anymore between the models and the code generated from them. Using model-integrating components, software will be

  12. Generic domain models in software engineering

    Maiden, Neil

    1992-01-01

    This paper outlines three research directions related to domain-specific software development: (1) reuse of generic models for domain-specific software development; (2) empirical evidence to determine these generic models, namely elicitation of mental knowledge schema possessed by expert software developers; and (3) exploitation of generic domain models to assist modelling of specific applications. It focuses on knowledge acquisition for domain-specific software development, with emphasis on tool support for the most important phases of software development.

  13. Software Maintenance Exercises for a Software Engineering Project Course

    1989-02-01

    what is program style and how can it be measured? Program style has been defined as a "followed convention with respect to punctuation, capitalization ...convention with respect to punctuation, capitalization , and typographic arrangement and display." *DASC is a software tool that takes a syntactically...Specilleauons: A Frarnewo* * CM-12 Software Metrws CM- 13 Introduction to Softwarell Verification and Validation CM-14 Intelectual Property Protection for

  14. An algebraic approach to modeling in software engineering

    Loegel, C.J.; Ravishankar, C.V.

    1993-09-01

    Our work couples the formalism of universal algebras with the engineering techniques of mathematical modeling to develop a new approach to the software engineering process. Our purpose in using this combination is twofold. First, abstract data types and their specification using universal algebras can be considered a common point between the practical requirements of software engineering and the formal specification of software systems. Second, mathematical modeling principles provide us with a means for effectively analyzing real-world systems. We first use modeling techniques to analyze a system and then represent the analysis using universal algebras. The rest of the software engineering process exploits properties of universal algebras that preserve the structure of our original model. This paper describes our software engineering process and our experience using it on both research and commercial systems. We need a new approach because current software engineering practices often deliver software that is difficult to develop and maintain. Formal software engineering approaches use universal algebras to describe ''computer science'' objects like abstract data types, but in practice software errors are often caused because ''real-world'' objects are improperly modeled. There is a large semantic gap between the customer's objects and abstract data types. In contrast, mathematical modeling uses engineering techniques to construct valid models for real-world systems, but these models are often implemented in an ad hoc manner. A combination of the best features of both approaches would enable software engineering to formally specify and develop software systems that better model real systems. Software engineering, like mathematical modeling, should concern itself first and foremost with understanding a real system and its behavior under given circumstances, and then with expressing this knowledge in an executable form

  15. 3rd international software language engineering conference (SLE) : pre-proceedings, October 12-13, 2010, Eindhoven, the Netherlands

    Brand, van den, M.G.J.; Malloy, B.; Staab, S.

    2010-01-01

    We are pleased to present the proceedings of the Third International Conference on Software Language Engineering (SLE 2010). The conference will be held in Eindhoven, the Netherlands during October 12-13, 2010 and will be co-located with The Ninth International Conference on Generative Programming and Component Engineering (GPCE'10), and The Workshop on Feature-Oriented Software Development (FOSD). An important goal of SLE is to integrate the different sub-communities of the software-language...

  16. Information System Engineering Supporting Observation, Orientation, Decision, and Compliant Action

    Georgakopoulos, Dimitrios

    The majority of today's software systems and organizational/business structures have been built on the foundation of solving problems via long-term data collection, analysis, and solution design. This traditional approach of solving problems and building corresponding software systems and business processes, falls short in providing the necessary solutions needed to deal with many problems that require agility as the main ingredient of their solution. For example, such agility is needed in responding to an emergency, in military command control, physical security, price-based competition in business, investing in the stock market, video gaming, network monitoring and self-healing, diagnosis in emergency health care, and many other areas that are too numerous to list here. The concept of Observe, Orient, Decide, and Act (OODA) loops is a guiding principal that captures the fundamental issues and approach for engineering information systems that deal with many of these problem areas. However, there are currently few software systems that are capable of supporting OODA. In this talk, we provide a tour of the research issues and state of the art solutions for supporting OODA. In addition, we provide specific examples of OODA solutions we have developed for the video surveillance and emergency response domains.

  17. Engineering bioinformatics: building reliability, performance and productivity into bioinformatics software.

    Lawlor, Brendan; Walsh, Paul

    2015-01-01

    There is a lack of software engineering skills in bioinformatic contexts. We discuss the consequences of this lack, examine existing explanations and remedies to the problem, point out their shortcomings, and propose alternatives. Previous analyses of the problem have tended to treat the use of software in scientific contexts as categorically different from the general application of software engineering in commercial settings. In contrast, we describe bioinformatic software engineering as a specialization of general software engineering, and examine how it should be practiced. Specifically, we highlight the difference between programming and software engineering, list elements of the latter and present the results of a survey of bioinformatic practitioners which quantifies the extent to which those elements are employed in bioinformatics. We propose that the ideal way to bring engineering values into research projects is to bring engineers themselves. We identify the role of Bioinformatic Engineer and describe how such a role would work within bioinformatic research teams. We conclude by recommending an educational emphasis on cross-training software engineers into life sciences, and propose research on Domain Specific Languages to facilitate collaboration between engineers and bioinformaticians.

  18. Engineering bioinformatics: building reliability, performance and productivity into bioinformatics software

    Lawlor, Brendan; Walsh, Paul

    2015-01-01

    There is a lack of software engineering skills in bioinformatic contexts. We discuss the consequences of this lack, examine existing explanations and remedies to the problem, point out their shortcomings, and propose alternatives. Previous analyses of the problem have tended to treat the use of software in scientific contexts as categorically different from the general application of software engineering in commercial settings. In contrast, we describe bioinformatic software engineering as a specialization of general software engineering, and examine how it should be practiced. Specifically, we highlight the difference between programming and software engineering, list elements of the latter and present the results of a survey of bioinformatic practitioners which quantifies the extent to which those elements are employed in bioinformatics. We propose that the ideal way to bring engineering values into research projects is to bring engineers themselves. We identify the role of Bioinformatic Engineer and describe how such a role would work within bioinformatic research teams. We conclude by recommending an educational emphasis on cross-training software engineers into life sciences, and propose research on Domain Specific Languages to facilitate collaboration between engineers and bioinformaticians. PMID:25996054

  19. Software needs engineering - a position paper

    GRIMSON, JANE BARCLAY

    2000-01-01

    PUBLISHED When the general press refers to `software' in its headlines, then this is often not to relate a success story, but to expand on yet another `software-risk-turned-problem-story'. For many people, the term `software' evokes the image of an application package running either on a PC or some similar stand-alone usage. Over 70% of all software, however, are not developed in the traditional software houses as part of the creation of such packages. Much of this software comes in the fo...

  20. Engineering Software Suite Validates System Design

    2007-01-01

    EDAptive Computing Inc.'s (ECI) EDAstar engineering software tool suite, created to capture and validate system design requirements, was significantly funded by NASA's Ames Research Center through five Small Business Innovation Research (SBIR) contracts. These programs specifically developed Syscape, used to capture executable specifications of multi-disciplinary systems, and VectorGen, used to automatically generate tests to ensure system implementations meet specifications. According to the company, the VectorGen tests considerably reduce the time and effort required to validate implementation of components, thereby ensuring their safe and reliable operation. EDASHIELD, an additional product offering from ECI, can be used to diagnose, predict, and correct errors after a system has been deployed using EDASTAR -created models. Initial commercialization for EDASTAR included application by a large prime contractor in a military setting, and customers include various branches within the U.S. Department of Defense, industry giants like the Lockheed Martin Corporation, Science Applications International Corporation, and Ball Aerospace and Technologies Corporation, as well as NASA's Langley and Glenn Research Centers

  1. VIMOS Instrument Control Software Design: an Object Oriented Approach

    Brau-Nogué, Sylvie; Lucuix, Christian

    2002-12-01

    The Franco-Italian VIMOS instrument is a VIsible imaging Multi-Object Spectrograph with outstanding multiplex capabilities, allowing to take spectra of more than 800 objects simultaneously, or integral field spectroscopy mode in a 54x54 arcsec area. VIMOS is being installed at the Nasmyth focus of the third Unit Telescope of the European Southern Observatory Very Large Telescope (VLT) at Mount Paranal in Chile. This paper will describe the analysis, the design and the implementation of the VIMOS Instrument Control System, using UML notation. Our Control group followed an Object Oriented software process while keeping in mind the ESO VLT standard control concepts. At ESO VLT a complete software library is available. Rather than applying waterfall lifecycle, ICS project used iterative development, a lifecycle consisting of several iterations. Each iteration consisted in : capture and evaluate the requirements, visual modeling for analysis and design, implementation, test, and deployment. Depending of the project phases, iterations focused more or less on specific activity. The result is an object model (the design model), including use-case realizations. An implementation view and a deployment view complement this product. An extract of VIMOS ICS UML model will be presented and some implementation, integration and test issues will be discussed.

  2. Professional Ethics of Software Engineers: An Ethical Framework.

    Lurie, Yotam; Mark, Shlomo

    2016-04-01

    The purpose of this article is to propose an ethical framework for software engineers that connects software developers' ethical responsibilities directly to their professional standards. The implementation of such an ethical framework can overcome the traditional dichotomy between professional skills and ethical skills, which plagues the engineering professions, by proposing an approach to the fundamental tasks of the practitioner, i.e., software development, in which the professional standards are intrinsically connected to the ethical responsibilities. In so doing, the ethical framework improves the practitioner's professionalism and ethics. We call this approach Ethical-Driven Software Development (EDSD), as an approach to software development. EDSD manifests the advantages of an ethical framework as an alternative to the all too familiar approach in professional ethics that advocates "stand-alone codes of ethics". We believe that one outcome of this synergy between professional and ethical skills is simply better engineers. Moreover, since there are often different software solutions, which the engineer can provide to an issue at stake, the ethical framework provides a guiding principle, within the process of software development, that helps the engineer evaluate the advantages and disadvantages of different software solutions. It does not and cannot affect the end-product in and of-itself. However, it can and should, make the software engineer more conscious and aware of the ethical ramifications of certain engineering decisions within the process.

  3. Experiences with Integrating Simulation into a Software Engineering Curriculum

    Bollin, Andreas; Hochmuller, Elke; Mittermeir, Roland; Samuelis, Ladislav

    2012-01-01

    Software Engineering education must account for a broad spectrum of knowledge and skills software engineers will be required to apply throughout their professional life. Covering all the topics in depth within a university setting is infeasible due to curricular constraints as well as due to the inherent differences between educational…

  4. Socio-Cultural Challenges in Global Software Engineering Education

    Hoda, Rashina; Babar, Muhammad Ali; Shastri, Yogeshwar; Yaqoob, Humaa

    2017-01-01

    Global software engineering education (GSEE) is aimed at providing software engineering (SE) students with knowledge, skills, and understanding of working in globally distributed arrangements so they can be prepared for the global SE (GSE) paradigm. It is important to understand the challenges involved in GSEE for improving the quality and…

  5. A Guideline of Using Case Method in Software Engineering Courses

    Zainal, Dzulaiha Aryanee Putri; Razali, Rozilawati; Shukur, Zarina

    2014-01-01

    Software Engineering (SE) education has been reported to fall short in producing high quality software engineers. In seeking alternative solutions, Case Method (CM) is regarded as having potential to solve the issue. CM is a teaching and learning (T&L) method that has been found to be effective in Social Science education. In principle,…

  6. Emerging methods, technologies and process management in software engineering

    Ferrucci, Filomena; Tortora, Genny; Tucci, Maurizio

    2007-01-01

    A high-level introduction to new technologies andmethods in the field of software engineering Recent years have witnessed rapid evolution of software engineering methodologies, and until now, there has been no single-source introduction to emerging technologies in the field.

  7. V&V Within Reuse-Based Software Engineering

    Addy, Edward A.

    1996-01-01

    Verification and Validation (V&V) is used to increase the level of assurance of critical software, particularly that of safety-critical and mission-critical software. V&V is a systems engineering discipline that evaluates the software in a systems context, and is currently applied during the development of a specific application system. In order to bring the effectiveness of V&V to bear within reuse-based software engineering, V&V must be incorporated within the domain engineering process.

  8. Data structure and software engineering challenges and improvements

    Antonakos, James L

    2011-01-01

    Data structure and software engineering is an integral part of computer science. This volume presents new approaches and methods to knowledge sharing, brain mapping, data integration, and data storage. The author describes how to manage an organization's business process and domain data and presents new software and hardware testing methods. The book introduces a game development framework used as a learning aid in a software engineering at the university level. It also features a review of social software engineering metrics and methods for processing business information. It explains how to

  9. The Dark Side of Software Engineering Evil on Computing Projects

    Rost, Johann

    2010-01-01

    Betrayal! Corruption! Software engineering? Industry experts Johann Rost and Robert L. Glass explore the seamy underbelly of software engineering in this timely report on and analysis of the prevalance of subversion, lying, hacking, and espionage on every level of software project management. Based on the authors' original research and augmented by frank discussion and insights from other well-respected figures, The Dark Side of Software Engineering goes where other management studies fear to tread -- a corporate environment where schedules are fabricated, trust is betrayed, millions of dollar

  10. Continuous tailoring activities in software engineering

    Ribaud , Vincent; Saliou , Philippe

    2004-01-01

    International audience; Software activities belong to different processes. Tailoring software processes aims to relate the operational software processes of an organization to the effective project. With the information technology industry moving ever faster, established positions are undergoing constant evolutionary change. The failure of a complex tailoring process of a management information system is reported. There is a need to adopt software processes that can operate under constant cha...

  11. SWEBOS – The Software Engineering Body of Skills

    Yvonne Sedelmaier

    2015-02-01

    Full Text Available The development of complex software systems requires a mixture of various technical and non-technical competencies. While some guidelines exist which technical knowledge is required to make a good software engineer, there is a lack of insight as to which non-technical or soft skills are necessary to master complex software projects. This paper proposes a body of skills (SWEBOS for soft-ware engineering. The collection of necessary skills is developed on the basis of a clear, data-driven research design. The resulting required soft skills for software engineering are described precisely and semantically rich in a three-level structure. This approach guarantees that skills are not just characterized in a broad and general manner, but rather they are specifically adapted to the domain of software engineering.

  12. Proceedings of the Fifteenth Annual Software Engineering Workshop

    1990-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by GSFC and created for the purpose of investigating the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effect of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. Fifteen papers were presented at the Fifteenth Annual Software Engineering Workshop in five sessions: (1) SEL at age fifteen; (2) process improvement; (3) measurement; (4) reuse; and (5) process assessment. The sessions were followed by two panel discussions: (1) experiences in implementing an effective measurement program; and (2) software engineering in the 1980's. A summary of the presentations and panel discussions is given.

  13. A Novel Coupling Pattern in Computational Science and Engineering Software

    Computational science and engineering (CSE) software is written by experts of certain area(s). Due to the specialization,existing CSE software may need to integrate other CSE software systems developed by different groups of experts. Thecoupling problem is one of the challenges f...

  14. A Novel Coupling Pattern in Computational Science and Engineering Software

    Computational science and engineering (CSE) software is written by experts of certain area(s). Due to the specialization, existing CSE software may need to integrate other CSE software systems developed by different groups of experts. The coupling problem is one of the challenges...

  15. Awakening awareness on energy consumption in software engineering

    Jagroep, Erik; Broekman, Jordy; Van Der Werf, Jan Martijn E.M.; Brinkkemper, Sjaak; Lago, Patricia; Blom, Leen; Van Vliet, Rob

    2017-01-01

    Software producing organizations have the ability to address the energy impact of their ICT solutions during the development process. However, while industry is convinced of the energy impact of hardware, the role of software has mostly been acknowledged by researchers in software engineering.

  16. Parallelization of Rocket Engine Simulator Software (PRESS)

    Cezzar, Ruknet

    1998-01-01

    /18/99). At the least, the research would need to be done on Windows 95/Windows NT based platforms. Moreover, with the acquisition of Lahey Fortran package for PC platform, and the existing Borland C + + 5. 0, we can do work on C + + wrapper issues. We have carefully studied the blueprint for Space Transportation Propulsion Integrated Design Environment for the next 25 years [13] and found the inclusion of HBCUs in that effort encouraging. Especially in the long period for which a map is provided, there is no doubt that HBCUs will grow and become better equipped to do meaningful research. In the shorter period, as was suggested in our presentation at the HBCU conference, some key decisions regarding the aging Fortran based software for rocket propellants will need to be made. One important issue is whether or not object oriented languages such as C + + or Java should be used for distributed computing. Whether or not "distributed computing" is necessary for the existing software is yet another, larger, question to be tackled with.

  17. On Quality and Measures in Software Engineering

    Bucur, Ion I.

    2006-01-01

    Complexity measures are mainly used to estimate vital information about reliability and maintainability of software systems from regular analysis of the source code. Such measures also provide constant feedback during a software project to assist the control of the development procedure. There exist several models to classify a software product's…

  18. A report on NASA software engineering and Ada training requirements

    Legrand, Sue; Freedman, Glenn B.; Svabek, L.

    1987-01-01

    NASA's software engineering and Ada skill base are assessed and information that may result in new models for software engineering, Ada training plans, and curricula are provided. A quantitative assessment which reflects the requirements for software engineering and Ada training across NASA is provided. A recommended implementation plan including a suggested curriculum with associated duration per course and suggested means of delivery is also provided. The distinction between education and training is made. Although it was directed to focus on NASA's need for the latter, the key relationships to software engineering education are also identified. A rationale and strategy for implementing a life cycle education and training program are detailed in support of improved software engineering practices and the transition to Ada.

  19. Supporting Usability Engineering in Small Software Development Organizations

    Bornoe, Nis; Stage, Jan

    2013-01-01

    Despite an interest and use of different usability engineering methods small software development organizations find it challenging to implement usability engineering into the software development process. We present the results from a study about usability engineering in practice. Through a series...... of semistructured interviews we want to get an understanding of how usability is implemented into the organizations and how it’s practiced in reality. We found that the developers found it problematic to combine agile software development methods with classic usability engineering methods. A lack of solid usability...... engineering expertise and not least experience seems to be a main obstacle for a successful implementation of usability engineering into current software development practices. They are requesting methods and procedures that fit better with their current practices and strategies to implement usability...

  20. On the Prospects and Concerns of Integrating Open Source Software Environment in Software Engineering Education

    Kamthan, Pankaj

    2007-01-01

    Open Source Software (OSS) has introduced a new dimension in software community. As the development and use of OSS becomes prominent, the question of its integration in education arises. In this paper, the following practices fundamental to projects and processes in software engineering are examined from an OSS perspective: project management;…

  1. Problem-oriented software for the managing of uranium mining by in-situ leaching

    Noskov, M.D.; Gutsul, M.V.; Istomin, A.D.; Kesler, A.G.; Noskova, S.N.; Cheglokov, A.A.

    2013-01-01

    The problem-oriented software consisting of interconnected geological geoinformation, technological information, geotechnological modeling and expert-analytical systems is presented. The software application procedure for the managing of uranium field development by in-situ leaching is considered [ru

  2. Development of object-oriented software technique in field of high energy and nuclear physics

    Ye Yanlin; Ying Jun; Chen Tao

    1997-01-01

    The background for developing object-oriented software technique in high energy and nuclear physics has been introduced. The progress made at CERN and US has been outlined. The merit and future of various software techniques have been commented

  3. Object oriented software for simulation and reconstruction of big alignment systems

    Arce, P

    2003-01-01

    Modern high-energy physics experiments require tracking detectors to provide high precision under difficult working conditions (high magnetic field, gravity loads and temperature gradients). This is the reason why several of them are deciding to implement optical alignment systems to monitor the displacement of tracking elements in operation. To simulate and reconstruct optical alignment systems a general purpose software, named COCOA, has been developed, using the object oriented paradigm and software engineering techniques. Thanks to the big flexibility in its design, COCOA is able to reconstruct any optical system made of a combination of the following objects: laser, x-hair laser, incoherent source - pinhole, lens, mirror, plate splitter, cube splitter, optical square, rhomboid prism, 2D sensor, 1D sensor, distance-meter, tilt-meter, user-defined. COCOA was designed to satisfy the requirements of the CMS alignment system, which has several thousands of components. Sparse matrix techniques had been investi...

  4. Service-oriented architecture for the ARGOS instrument control software

    Borelli, J.; Barl, L.; Gässler, W.; Kulas, M.; Rabien, Sebastian

    2012-09-01

    The Advanced Rayleigh Guided ground layer Adaptive optic System, ARGOS, equips the Large Binocular Telescope (LBT) with a constellation of six rayleigh laser guide stars. By correcting atmospheric turbulence near the ground, the system is designed to increase the image quality of the multi-object spectrograph LUCIFER approximately by a factor of 3 over a field of 4 arc minute diameter. The control software has the critical task of orchestrating several devices, instruments, and high level services, including the already existing adaptive optic system and the telescope control software. All these components are widely distributed over the telescope, adding more complexity to the system design. The approach used by the ARGOS engineers is to write loosely coupled and distributed services under the control of different ownership systems, providing a uniform mechanism to offer, discover, interact and use these distributed capabilities. The control system counts with several finite state machines, vibration and flexure compensation loops, and safety mechanism, such as interlocks, aircraft, and satellite avoidance systems.

  5. Avionics Simulation, Development and Software Engineering

    2002-01-01

    During this reporting period, all technical responsibilities were accomplished as planned. A close working relationship was maintained with personnel of the MSFC Avionics Department Software Group (ED14), the MSFC EXPRESS Project Office (FD31), and the Huntsville Boeing Company. Accomplishments included: performing special tasks; supporting Software Review Board (SRB), Avionics Test Bed (ATB), and EXPRESS Software Control Panel (ESCP) activities; participating in technical meetings; and coordinating issues between the Boeing Company and the MSFC Project Office.

  6. Incorporating Gaming in Software Engineering Projects: Case of RMU Monopoly

    Sushil Acharya

    2009-02-01

    Full Text Available A major challenge in engineering education is retaining student interest in the engineering discipline. Active student involvement in engineering projects is one way of retaining student interest. Such involvement can only be realized if project inception comes entirely from the student. This paper presents a software game, RMU Monopoly, developed as a project requirement for a software engineering course and describes the challenges and gains of implementing such a project. The RMU Monopoly was proposed by three junior software engineering students. The game is a multi-platform software program that allows up to eight players and implements the rules of the Monopoly board game. To ensure agility the game was developed using the spiral software development model. The Software Requirements Specification (SRS document was finalized through an iterative procedure. Standard Unified Modeling Language (UML diagrams were used for product design. A Risk Mitigation, Monitoring, and Management Plan (RMMM was developed to ensure proactive risk management. Gantt chart, weekly progress meetings and weekly scrum meetings were used to track project progress. C# and Sub- Version were used in a client-server architecture to develop the software. The project was successful in retaining student interest in the software engineering discipline

  7. The SE Book: Principles and Techniques of Software Engineering or orAn ABZ of The Theory & Practice of Software Engineering

    Bjørner, Dines

    ) the TripTych of domain analysis, requirements engineering and software design -- and much much more. It relates all aspects of (12) platform technologies, (13) legal issues of software, (14) quality assurance, and (15) project and product management to the above (1-11 incl.). Highlights of the book series......This ``epos'' emphasises (1) software development from both a formal and an informal approach; (2) the use of mathematics, logic and algebras, as well as discrete mathematics: Sets, Cartesians, lists, functions, maps; (3) property as well as model-oriented specifications; (4) semiotics in the form...... are: (A) Emphasis on design: Literally a thousand development examples are given; and on ``Calculi'' of (B) domain and (C) requirements engineering: Domain facet ``operators'' like: (d.1) Instrinsics, (d.2) support technology, (d.3) management & organisation, (d.4) rules & regulations, (d.5) human...

  8. Software Engineering Research/Developer Collaborations in 2005

    Pressburger, Tom

    2006-01-01

    In CY 2005, three collaborations between software engineering technology providers and NASA software development personnel deployed three software engineering technologies on NASA development projects (a different technology on each project). The main purposes were to benefit the projects, infuse the technologies if beneficial into NASA, and give feedback to the technology providers to improve the technologies. Each collaboration project produced a final report. Section 2 of this report summarizes each project, drawing from the final reports and communications with the software developers and technology providers. Section 3 indicates paths to further infusion of the technologies into NASA practice. Section 4 summarizes some technology transfer lessons learned. Also included is an acronym list.

  9. Proceedings of the Eighteenth Annual Software Engineering Workshop

    1993-01-01

    The workshop provided a forum for software practitioners from around the world to exchange information on the measurement, use, and evaluation of software methods, models, and tools. This year, approximately 450 people attended the workshop, which consisted of six sessions on the following topics: the Software Engineering Laboratory, measurement, technology assessment, advanced concepts, process, and software engineering issues in NASA. Three presentations were given in each of the topic areas. The content of those presentations and the research papers detailing the work reported are included in these proceedings. The workshop concluded with a tutorial session on how to start an Experience Factory.

  10. Introducing Software Engineering by means of Extreme Programming

    Hedin, G.; Bendix, Lars Gotfred; Magnusson, B.

    2003-01-01

    This paper reports on experience from teaching basic software engineering concepts by using Extreme Programming in a second year undergraduate course taken by 107 students. We describe how this course fits into a wider programme on software engineering and technology and report our experience from...... running and improving the course. Particularly important aspects of our set-up includes team coaching (by older students) and "team-in-one-room". Our experience so far is very positive and we see that students get a good basic understanding of the important concepts in software engineering, rooted...

  11. Simple statistical methods for software engineering data and patterns

    Pandian, C Ravindranath

    2015-01-01

    Although there are countless books on statistics, few are dedicated to the application of statistical methods to software engineering. Simple Statistical Methods for Software Engineering: Data and Patterns fills that void. Instead of delving into overly complex statistics, the book details simpler solutions that are just as effective and connect with the intuition of problem solvers.Sharing valuable insights into software engineering problems and solutions, the book not only explains the required statistical methods, but also provides many examples, review questions, and case studies that prov

  12. Empirical studies of design software: Implications for software engineering environments

    Krasner, Herb

    1988-01-01

    The empirical studies team of MCC's Design Process Group conducted three studies in 1986-87 in order to gather data on professionals designing software systems in a range of situations. The first study (the Lift Experiment) used thinking aloud protocols in a controlled laboratory setting to study the cognitive processes of individual designers. The second study (the Object Server Project) involved the observation, videotaping, and data collection of a design team of a medium-sized development project over several months in order to study team dynamics. The third study (the Field Study) involved interviews with the personnel from 19 large development projects in the MCC shareholders in order to study how the process of design is affected by organizationl and project behavior. The focus of this report will be on key observations of design process (at several levels) and their implications for the design of environments.

  13. Benefits of reverse engineering technologies in software development makerspace

    Aabidi M.H.

    2017-01-01

    Full Text Available In the recent decades, the amount of data produced by scientific, engineering, and life science applications has increased with several orders of magnitude. In parallel with this development, the applications themselves have become increasingly complex in terms of functionality, structure, and behavior. In the same time, development and production cycles of such applications exhibit a tendency of becoming increasingly shorter, due to factors such as market pressure and rapid evolution of supporting and enabling technologies. As a consequence, an increasing fraction of the cost of creating new applications and manufacturing processes shifts from the creation of new artifacts to the adaption of existing ones. A key component of this activity is the understanding of the design, operation, and behavior of existing manufactured artifacts, such as software code bases, hardware systems, and mechanical assemblies. For instance, in the software industry, it is estimated that maintenance costs exceed 80% of the total costs of a software product's lifecycle, and software understanding accounts for as much as half of these maintenance costs. To facilitate the software development process, it would be ideal to have tools that automatically generate or help to generate UML (Unified Modeling Language models from source code. Reverse engineering the software architecture from source code provides a valuable service to software practitioners. Case tools implementing MDA and reverse-engineering constitute an important opportunity of software development engineers. So MDA and reverse engineering is an important key witch make makerspace more productive and more efficient.

  14. Guidelines for using empirical studies in software engineering education

    Fabian Fagerholm

    2017-09-01

    Full Text Available Software engineering education is under constant pressure to provide students with industry-relevant knowledge and skills. Educators must address issues beyond exercises and theories that can be directly rehearsed in small settings. Industry training has similar requirements of relevance as companies seek to keep their workforce up to date with technological advances. Real-life software development often deals with large, software-intensive systems and is influenced by the complex effects of teamwork and distributed software development, which are hard to demonstrate in an educational environment. A way to experience such effects and to increase the relevance of software engineering education is to apply empirical studies in teaching. In this paper, we show how different types of empirical studies can be used for educational purposes in software engineering. We give examples illustrating how to utilize empirical studies, discuss challenges, and derive an initial guideline that supports teachers to include empirical studies in software engineering courses. Furthermore, we give examples that show how empirical studies contribute to high-quality learning outcomes, to student motivation, and to the awareness of the advantages of applying software engineering principles. Having awareness, experience, and understanding of the actions required, students are more likely to apply such principles under real-life constraints in their working life.

  15. Resilience Engineering in Critical Long Term Aerospace Software Systems: A New Approach to Spacecraft Software Safety

    Dulo, D. A.

    Safety critical software systems permeate spacecraft, and in a long term venture like a starship would be pervasive in every system of the spacecraft. Yet software failure today continues to plague both the systems and the organizations that develop them resulting in the loss of life, time, money, and valuable system platforms. A starship cannot afford this type of software failure in long journeys away from home. A single software failure could have catastrophic results for the spaceship and the crew onboard. This paper will offer a new approach to developing safe reliable software systems through focusing not on the traditional safety/reliability engineering paradigms but rather by focusing on a new paradigm: Resilience and Failure Obviation Engineering. The foremost objective of this approach is the obviation of failure, coupled with the ability of a software system to prevent or adapt to complex changing conditions in real time as a safety valve should failure occur to ensure safe system continuity. Through this approach, safety is ensured through foresight to anticipate failure and to adapt to risk in real time before failure occurs. In a starship, this type of software engineering is vital. Through software developed in a resilient manner, a starship would have reduced or eliminated software failure, and would have the ability to rapidly adapt should a software system become unstable or unsafe. As a result, long term software safety, reliability, and resilience would be present for a successful long term starship mission.

  16. 4th International Conference in Software Engineering for Defence Applications

    Sillitti, Alberto; Succi, Giancarlo; Messina, Angelo

    2016-01-01

    This book presents high-quality original contributions on new software engineering models, approaches, methods, and tools and their evaluation in the context of defence and security applications. In addition, important business and economic aspects are discussed, with a particular focus on cost/benefit analysis, new business models, organizational evolution, and business intelligence systems. The contents are based on presentations delivered at SEDA 2015, the 4th International Conference in Software Engineering for Defence Applications, which was held in Rome, Italy, in May 2015. This conference series represents a targeted response to the growing need for research that reports and debates the practical implications of software engineering within the defence environment and also for software performance evaluation in real settings through controlled experiments as well as case and field studies. The book will appeal to all with an interest in modeling, managing, and implementing defence-related software devel...

  17. Happy software developers solve problems better: psychological measurements in empirical software engineering.

    Graziotin, Daniel; Wang, Xiaofeng; Abrahamsson, Pekka

    2014-01-01

    For more than thirty years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human factors (called human aspects in software engineering research). Among the many skills required for software development, developers must possess high analytical problem-solving skills and creativity for the software construction process. According to psychology research, affective states-emotions and moods-deeply influence the cognitive processing abilities and performance of workers, including creativity and analytical problem solving. Nonetheless, little research has investigated the correlation between the affective states, creativity, and analytical problem-solving performance of programmers. This article echoes the call to employ psychological measurements in software engineering research. We report a study with 42 participants to investigate the relationship between the affective states, creativity, and analytical problem-solving skills of software developers. The results offer support for the claim that happy developers are indeed better problem solvers in terms of their analytical abilities. The following contributions are made by this study: (1) providing a better understanding of the impact of affective states on the creativity and analytical problem-solving capacities of developers, (2) introducing and validating psychological measurements, theories, and concepts of affective states, creativity, and analytical-problem-solving skills in empirical software engineering, and (3) raising the need for studying the human factors of software engineering by employing a multidisciplinary viewpoint.

  18. Component-Based Software Engineering and Runtime Type Definition

    A. R. Shakurov

    2011-01-01

    The component-based approach to software engineering, its current implementations and their limitations are discussed. A new extended architecture for such systems is presented. Its main architectural concepts and principles are considered.

  19. 7 Processes that Enable NASA Software Engineering Technologies: Value-Added Process Engineering

    Housch, Helen; Godfrey, Sally

    2011-01-01

    The presentation reviews Agency process requirements and the purpose, benefits, and experiences or seven software engineering processes. The processes include: product integration, configuration management, verification, software assurance, measurement and analysis, requirements management, and planning and monitoring.

  20. ETICS the international software engineering service for the grid

    Di Meglio, A; Couvares, P; Ronchieri, E; Takács, E

    2008-01-01

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects ...

  1. Infusing Software Engineering Technology into Practice at NASA

    Pressburger, Thomas; Feather, Martin S.; Hinchey, Michael; Markosia, Lawrence

    2006-01-01

    We present an ongoing effort of the NASA Software Engineering Initiative to encourage the use of advanced software engineering technology on NASA projects. Technology infusion is in general a difficult process yet this effort seems to have found a modest approach that is successful for some types of technologies. We outline the process and describe the experience of the technology infusions that occurred over a two year period. We also present some lessons from the experiences.

  2. Proceedings of the Twenty-Third Annual Software Engineering Workshop

    1999-01-01

    The Twenty-third Annual Software Engineering Workshop (SEW) provided 20 presentations designed to further the goals of the Software Engineering Laboratory (SEL) of the NASA-GSFC. The presentations were selected on their creativity. The sessions which were held on 2-3 of December 1998, centered on the SEL, Experimentation, Inspections, Fault Prediction, Verification and Validation, and Embedded Systems and Safety-Critical Systems.

  3. Psychological Safety and Norm Clarity in Software Engineering Teams

    Lenberg, Per; Feldt, Robert

    2018-01-01

    In the software engineering industry today, companies primarily conduct their work in teams. To increase organizational productivity, it is thus crucial to know the factors that affect team effectiveness. Two team-related concepts that have gained prominence lately are psychological safety and team norms. Still, few studies exist that explore these in a software engineering context. Therefore, with the aim of extending the knowledge of these concepts, we examined if psychological safety and t...

  4. Software Engineering Infrastructure in a Large Virtual Campus

    Cristobal, Jesus; Merino, Jorge; Navarro, Antonio; Peralta, Miguel; Roldan, Yolanda; Silveira, Rosa Maria

    2011-01-01

    Purpose: The design, construction and deployment of a large virtual campus are a complex issue. Present virtual campuses are made of several software applications that complement e-learning platforms. In order to develop and maintain such virtual campuses, a complex software engineering infrastructure is needed. This paper aims to analyse the…

  5. Software engineering technology innovation: Turning research results into industrial success

    Punter, H.T.; Krikhaar, R.L.; Bril, R.J.

    2009-01-01

    This paper deals with the innovation of software engineering technologies. These technologies are methods and tools for conducting software development and maintenance. We consider innovation as a process consisting of two phases, being technology creation and technology transfer. In this paper, we

  6. Envisioning the future of collaborative model-driven software engineering

    Di Ruscio, Davide; Franzago, Mirco; Malavolta, Ivano; Muccini, Henry

    2017-01-01

    The adoption of Model-driven Software Engineering (MDSE) to develop complex software systems in application domains like automotive and aerospace is being supported by the maturation of model-driven platforms and tools. However, empirical studies show that a wider adoption of MDSE technologies is

  7. Architecture independent environment for developing engineering software on MIMD computers

    Valimohamed, Karim A.; Lopez, L. A.

    1990-01-01

    Engineers are constantly faced with solving problems of increasing complexity and detail. Multiple Instruction stream Multiple Data stream (MIMD) computers have been developed to overcome the performance limitations of serial computers. The hardware architectures of MIMD computers vary considerably and are much more sophisticated than serial computers. Developing large scale software for a variety of MIMD computers is difficult and expensive. There is a need to provide tools that facilitate programming these machines. First, the issues that must be considered to develop those tools are examined. The two main areas of concern were architecture independence and data management. Architecture independent software facilitates software portability and improves the longevity and utility of the software product. It provides some form of insurance for the investment of time and effort that goes into developing the software. The management of data is a crucial aspect of solving large engineering problems. It must be considered in light of the new hardware organizations that are available. Second, the functional design and implementation of a software environment that facilitates developing architecture independent software for large engineering applications are described. The topics of discussion include: a description of the model that supports the development of architecture independent software; identifying and exploiting concurrency within the application program; data coherence; engineering data base and memory management.

  8. A multi-agent approach to professional software engineering

    M. Lützenberger; T. Küster; T. Konnerth; A. Thiele; N. Masuch; A. Heßler; J. Keiser; M. Burkhardt; S. Kaiser (Silvan); J. Tonn; M. Kaisers (Michael); S. Albayrak; M. Cossentino; A. Seghrouchni; M. Winikoff

    2013-01-01

    htmlabstractThe community of agent researchers and engineers has produced a number of interesting and mature results. However, agent technology is still not widely adopted by industrial software developers or software companies - possibly because existing frameworks are infused with academic

  9. Human aspects, gamification, and social media in collaborative software engineering

    Vasilescu, B.N.

    2014-01-01

    Software engineering is inherently a collaborative venture. In open-source software (OSS) development, such collaborations almost always span geographies and cultures. Because of the decentralised and self-directed nature of OSS as well as the social diversity inherent to OSS communities, the

  10. Imprinting Community College Computer Science Education with Software Engineering Principles

    Hundley, Jacqueline Holliday

    Although the two-year curriculum guide includes coverage of all eight software engineering core topics, the computer science courses taught in Alabama community colleges limit student exposure to the programming, or coding, phase of the software development lifecycle and offer little experience in requirements analysis, design, testing, and maintenance. We proposed that some software engineering principles can be incorporated into the introductory-level of the computer science curriculum. Our vision is to give community college students a broader exposure to the software development lifecycle. For those students who plan to transfer to a baccalaureate program subsequent to their community college education, our vision is to prepare them sufficiently to move seamlessly into mainstream computer science and software engineering degrees. For those students who plan to move from the community college to a programming career, our vision is to equip them with the foundational knowledge and skills required by the software industry. To accomplish our goals, we developed curriculum modules for teaching seven of the software engineering knowledge areas within current computer science introductory-level courses. Each module was designed to be self-supported with suggested learning objectives, teaching outline, software tool support, teaching activities, and other material to assist the instructor in using it.

  11. Imprinting Community College Computer Science Education with Software Engineering Principles

    Hundley, Jacqueline Holliday

    2012-01-01

    Although the two-year curriculum guide includes coverage of all eight software engineering core topics, the computer science courses taught in Alabama community colleges limit student exposure to the programming, or coding, phase of the software development lifecycle and offer little experience in requirements analysis, design, testing, and…

  12. Component-based development of software language engineering tools

    Ssanyu, J.; Hemerik, C.

    2011-01-01

    In this paper we outline how Software Language Engineering (SLE) could benefit from Component-based Software Development (CBSD) techniques and present an architecture aimed at developing a coherent set of lightweight SLE components, fitting into a general-purpose component framework. In order to

  13. Software engineering technology innovation - Turning research results into industrial success

    Punter, T.; Krikhaar, R.L.; Bril, R.J.

    2009-01-01

    This paper deals with the innovation of software engineering technologies. These technologies are methods and tools for conducting software development and maintenance. We consider innovation as a process consisting of two phases, being technology creation and technology transfer. In this paper, we

  14. Towards E-CASE Tools for Software Engineering

    Nabil Arman

    2013-01-01

    CASE tools are having an important role in all phases of software systems development and engineering. This is evident in the huge benefits obtained from using these tools including their cost-effectiveness, rapid software application development, and improving the possibility of software reuse to name just a few. In this paper, the idea of moving towards E-CASE tools, rather than traditional CASE tools, is advocated since these E-CASE tools have all the benefits and advantages of traditional...

  15. OOAspectZ and aspect-oriented UML class diagrams for Aspect-oriented software modelling (AOSM

    Cristian Vidal Silva

    2013-09-01

    Full Text Available Regarding modularised software development, Aspect-oriented programming (AOP identifies and represents individually crosscutting concerns during the software development cycle’s programming stage. This article proposes and applies OOAspectZ to formal Aspect-oriented requirement specifications for prior stages of the software development cycle. It particularly concerns requirement specification and the structural design of data and behaviour, along with describing and applying Aspect-oriented UML class diagrams to designing classes, aspects and associations among classes and aspects during Aspect-oriented software development (AOSD.OOAspectZ is a language integrating both Object-Z and AspectZ formal languages whereas Aspect-oriented UML class diagrams represent AOP code, object class and crosscutting concern class structure by means of stereotypes. This article shows and applies the main OOAspectZ and AO UML class diagram characteristics to Aspect-oriented software modelling (AOSM using a classic example of AOP. Ideas for future work concerning an actual AOP version are also indicated.

  16. The Business Case for Automated Software Engineering

    Menzies, Tim; Elrawas, Oussama; Hihn, Jairus M.; Feather, Martin S.; Madachy, Ray; Boehm, Barry

    2007-01-01

    Adoption of advanced automated SE (ASE) tools would be more favored if a business case could be made that these tools are more valuable than alternate methods. In theory, software prediction models can be used to make that case. In practice, this is complicated by the 'local tuning' problem. Normally. predictors for software effort and defects and threat use local data to tune their predictions. Such local tuning data is often unavailable. This paper shows that assessing the relative merits of different SE methods need not require precise local tunings. STAR 1 is a simulated annealer plus a Bayesian post-processor that explores the space of possible local tunings within software prediction models. STAR 1 ranks project decisions by their effects on effort and defects and threats. In experiments with NASA systems. STARI found one project where ASE were essential for minimizing effort/ defect/ threats; and another project were ASE tools were merely optional.

  17. Software engineering with application-specific languages

    Campbell, David J.; Barker, Linda; Mitchell, Deborah; Pollack, Robert H.

    1993-01-01

    Application-Specific Languages (ASL's) are small, special-purpose languages that are targeted to solve a specific class of problems. Using ASL's on software development projects can provide considerable cost savings, reduce risk, and enhance quality and reliability. ASL's provide a platform for reuse within a project or across many projects and enable less-experienced programmers to tap into the expertise of application-area experts. ASL's have been used on several software development projects for the Space Shuttle Program. On these projects, the use of ASL's resulted in considerable cost savings over conventional development techniques. Two of these projects are described.

  18. A Fuzzy Approach for Integrated Measure of Object-Oriented Software Testability

    Vandana Gupta; K. K. Aggarwal; Yogesh Singh

    2005-01-01

    For large software systems, testing phase seems to have profound effect on the overall acceptability and quality of the final product. The success of this activity can be judged by measuring the testability of the software. A good measure for testability can better manage the testing effort and time. Different Object Oriented Metrics are used in measurement of object-oriented testability but none of them is alone sufficient to give an overall reflection of software testabi...

  19. On Parallel Software Engineering Education Using Python

    Marowka, Ami

    2018-01-01

    Python is gaining popularity in academia as the preferred language to teach novices serial programming. The syntax of Python is clean, easy, and simple to understand. At the same time, it is a high-level programming language that supports multi programming paradigms such as imperative, functional, and object-oriented. Therefore, by default, it is…

  20. Tool support for distributed software engineering

    Spanjers, H.; Ter Huurne, M.; Bendas, D.; Graaf, B.; Lormans, M.; Van Solingen, R.

    2006-01-01

    Developing a software system in collaboration with other partners, and on different geographical locations is a big challenge for organizations. In this article we first discuss a system that automates build and test processes: SoftFab. This system has been successfully applied in practice in the

  1. Information Engineering in Autonomous Robot Software

    Ziafati, P.

    2015-01-01

    In order to engage and help in our daily life, autonomous robots are to operate in dynamic and unstructured environments and interact with people. As the robot's environment and its behaviour are getting more complex, so are the robot's software and the knowledge that the robot needs to carry out

  2. An Investigation of an Open-Source Software Development Environment in a Software Engineering Graduate Course

    Ge, Xun; Huang, Kun; Dong, Yifei

    2010-01-01

    A semester-long ethnography study was carried out to investigate project-based learning in a graduate software engineering course through the implementation of an Open-Source Software Development (OSSD) learning environment, which featured authentic projects, learning community, cognitive apprenticeship, and technology affordances. The study…

  3. Practical support for Lean Six Sigma software process definition using IEEE software engineering standards

    Land, Susan K; Walz, John W

    2012-01-01

    Practical Support for Lean Six Sigma Software Process Definition: Using IEEE Software Engineering Standards addresses the task of meeting the specific documentation requirements in support of Lean Six Sigma. This book provides a set of templates supporting the documentation required for basic software project control and management and covers the integration of these templates for their entire product development life cycle. Find detailed documentation guidance in the form of organizational policy descriptions, integrated set of deployable document templates, artifacts required in suppo

  4. Support for Different Roles in Software Engineering Master's Thesis Projects

    Host, M.; Feldt, R.; Luders, F.

    2010-01-01

    Like many engineering programs in Europe, the final part of most Swedish software engineering programs is a longer project in which the students write a Master's thesis. These projects are often conducted in cooperation between a university and industry, and the students often have two supervisors, one at the university and one in industry. In…

  5. Experiences on dynamic simulation software in chemical engineering education

    Komulainen, Tiina M.; Enemark-rasmussen, Rasmus; Sin, Gürkan

    2012-01-01

    Commercial process simulators are increasing interest in the chemical engineer education. In this paper, the use of commercial dynamic simulation software, D-SPICE® and K-Spice®, for three different chemical engineering courses is described and discussed. The courses cover the following topics...

  6. Parallel multiphysics algorithms and software for computational nuclear engineering

    Gaston, D; Hansen, G; Kadioglu, S; Knoll, D A; Newman, C; Park, H; Permann, C; Taitano, W

    2009-01-01

    There is a growing trend in nuclear reactor simulation to consider multiphysics problems. This can be seen in reactor analysis where analysts are interested in coupled flow, heat transfer and neutronics, and in fuel performance simulation where analysts are interested in thermomechanics with contact coupled to species transport and chemistry. These more ambitious simulations usually motivate some level of parallel computing. Many of the coupling efforts to date utilize simple code coupling or first-order operator splitting, often referred to as loose coupling. While these approaches can produce answers, they usually leave questions of accuracy and stability unanswered. Additionally, the different physics often reside on separate grids which are coupled via simple interpolation, again leaving open questions of stability and accuracy. Utilizing state of the art mathematics and software development techniques we are deploying next generation tools for nuclear engineering applications. The Jacobian-free Newton-Krylov (JFNK) method combined with physics-based preconditioning provide the underlying mathematical structure for our tools. JFNK is understood to be a modern multiphysics algorithm, but we are also utilizing its unique properties as a scale bridging algorithm. To facilitate rapid development of multiphysics applications we have developed the Multiphysics Object-Oriented Simulation Environment (MOOSE). Examples from two MOOSE-based applications: PRONGHORN, our multiphysics gas cooled reactor simulation tool and BISON, our multiphysics, multiscale fuel performance simulation tool will be presented.

  7. Towards a controlled vocabulary on software engineering education

    Pizard, Sebastián; Vallespir, Diego

    2017-11-01

    Software engineering is the discipline that develops all the aspects of the production of software. Although there are guidelines about what topics to include in a software engineering curricula, it is usually unclear which are the best methods to teach them. In any science discipline the construction of a classification schema is a common approach to understand a thematic area. This study examines previous publications in software engineering education to obtain a first controlled vocabulary (a more formal definition of a classification schema) in the field. Publications from 1988 to 2014 were collected and processed using automatic clustering techniques and the outcomes were analysed manually. The result is an initial controlled vocabulary with a taxonomy form with 43 concepts that were identified as the most used in the research publications. We present the classification of the concepts in three facets: 'what to teach', 'how to teach' and 'where to teach' and the evolution of concepts over time.

  8. ETICS: the international software engineering service for the grid

    Meglio, A. D.; Bégin, M.-E.; Couvares, P.; Ronchieri, E.; Takacs, E.

    2008-07-01

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself.

  9. ETICS: the international software engineering service for the grid

    Meglio, A D; Begin, M-E [CERN (Switzerland); Couvares, P [University of Wisconsin-Madison (United States); Ronchieri, E [INFN CNAF (Italy); Takacs, E [4D SOFT Ltd (Hungary)], E-mail: alberto.di.meglio@cern.ch

    2008-07-15

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself.

  10. ETICS: the international software engineering service for the grid

    Meglio, A D; Begin, M-E; Couvares, P; Ronchieri, E; Takacs, E

    2008-01-01

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself

  11. Cooperative and Human Aspects of Software Engineering (CHASE 2010)

    Dittrich, Yvonne; De Souza, Cleidson; Korpela, Mikko

    2010-01-01

    Software is created by people---software engineers---working in varied environments, under various conditions. Thus understanding cooperative and human aspect of software development is crucial to comprehend how methods and tools are used, and thereby improving the creation and maintenance...... research on human and cooperative aspects of software engineering. We aim at providing both a meeting place for the growing community and the possibility for researchers interested in joining the field to present their work in progress and get an overview over the field....... of software. Inspired by the hosting country's concept of co-responsibility -- ubuntu -- we especially invited contributions that address community-based development like open source development and sustainability of ICT eco-systems. The goal of this workshop is to provide a forum for discussing high quality...

  12. Application of software engineering to development of reactor safety codes

    Wilburn, N.P.; Niccoli, L.G.

    1981-01-01

    Software Engineering, which is a systematic methodology by which a large scale software development project is partitioned into manageable pieces, has been applied to the development of LMFBR safety codes. The techniques have been applied extensively in the business and aerospace communities and have provided an answer to the drastically increasing cost of developing and maintaining software. The five phases of software engineering (Survey, Analysis, Design, Implementation, and Testing) were applied in turn to development of these codes, along with Walkthroughs (peer review) at each stage. The application of these techniques has resulted in SUPERIOR SOFTWARE which is well documented, thoroughly tested, easy to modify, easier to use and maintain. The development projects have resulted in lower overall cost. (orig.) [de

  13. Sandia National Laboratories ASCI Applications Software Quality Engineering Practices; TOPICAL

    ZEPPER, JOHN D.; ARAGON, KATHRYN MARY; ELLIS, MOLLY A.; BYLE, KATHLEEN A.; EATON, DONNA SUE

    2002-01-01

    This document provides a guide to the deployment of the software verification activities, software engineering practices, and project management principles that guide the development of Accelerated Strategic Computing Initiative (ASCI) applications software at Sandia National Laboratories (Sandia). The goal of this document is to identify practices and activities that will foster the development of reliable and trusted products produced by the ASCI Applications program. Document contents include an explanation of the structure and purpose of the ASCI Quality Management Council, an overview of the software development lifecycle, an outline of the practices and activities that should be followed, and an assessment tool. These sections map practices and activities at Sandia to the ASCI Software Quality Engineering: Goals, Principles, and Guidelines, a Department of Energy document

  14. An overview of the Software Engineering Laboratory

    1994-01-01

    This report describes the background and structure of the SEL organization, the SEL process improvement approach, and its experimentation and data collection process. Results of some sample SEL studies are included. It includes a discussion of the overall implication of trends observed over 17 years of process improvement efforts and looks at the return on investment based on a comparison of total investment in process improvement with the measurable improvements seen in the organization's software product.

  15. Proposing an Evidence-Based Strategy for Software Requirements Engineering.

    Lindoerfer, Doris; Mansmann, Ulrich

    2016-01-01

    This paper discusses an evidence-based approach to software requirements engineering. The approach is called evidence-based, since it uses publications on the specific problem as a surrogate for stakeholder interests, to formulate risks and testing experiences. This complements the idea that agile software development models are more relevant, in which requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The strategy is exemplified and applied to the development of a Software Requirements list used to develop software systems for patient registries.

  16. Object oriented software for simulation and reconstruction of big alignment systems

    Arce, P.

    2003-01-01

    Modern high-energy physics experiments require tracking detectors to provide high precision under difficult working conditions (high magnetic field, gravity loads and temperature gradients). This is the reason why several of them are deciding to implement optical alignment systems to monitor the displacement of tracking elements in operation. To simulate and reconstruct optical alignment systems a general purpose software, named COCOA, has been developed, using the object oriented paradigm and software engineering techniques. Thanks to the big flexibility in its design, COCOA is able to reconstruct any optical system made of a combination of the following objects: laser, x-hair laser, incoherent source--pinhole, lens, mirror, plate splitter, cube splitter, optical square, rhomboid prism, 2D sensor, 1D sensor, distance-meter, tilt-meter, user-defined. COCOA was designed to satisfy the requirements of the CMS alignment system, which has several thousands of components. Sparse matrix techniques had been investigated for solving non-linear least squares fits with such a big number of parameters. The soundness of COCOA has already been stressed in the reconstruction of the data of a full simulation of a quarter plane of the CMS muon alignment system, which implied solving a system of 900 equations with 850 unknown parameters. Full simulation of the whole CMS alignment system, with over 30,000 parameters, is quite advanced. The integration of COCOA in the CMS software framework is also under progress

  17. User oriented definition of product requirements within mechatronic engineering

    Gerst, M.;Gierhardt, H.;Braun, T.

    2017-01-01

    In this paper the application of a modeling technique from software engineering to mechatronic engineering is presented. The Unified Modeling Language (UML) is used to model users´ needs and relate them to product requirements. Within a bus seat development project a Use Case Model and an Analyses Model were elaborated. Advantages and Disadvantages of the presented procedure are shown.

  18. Software Engineering Laboratory (SEL) data base reporting software user's guide and system description. Volume 1: Introduction and user's guide

    1983-01-01

    Reporting software programs provide formatted listings and summary reports of the Software Engineering Laboratory (SEL) data base contents. The operating procedures and system information for 18 different reporting software programs are described. Sample output reports from each program are provided.

  19. Software List | College of Engineering & Applied Science

    Excel Microsoft FrontPage Microsoft PowerPoint Microsoft Project Microsoft Word Current Students Microsoft Developer Network Open AFS PC Spim Eclipse JFlap Microsoft Visual Basic 2005 Engineering Viewer Mathcad 2001 Professional MATLAB 7.0 MS Office Microsoft Office Tools Microsoft Access Microsoft

  20. Competence Centered Specialization in Web Engineering Topics in a Software Engineering Masters Degree Programme

    Dolog, Peter; Thomsen, Lone Leth; Thomsen, Bent

    2010-01-01

    Web applications and Web-based systems are becoming increasingly complex as a result of either customer requests or technology evolution which has eased other aspects of software engineering. Therefore, there is an increasing demand for highly skilled software engineers able to build and also...... advance the systems on the one hand as well as professionals who are able to evaluate their eectiveness on the other hand. With this idea in mind, the computer science department at Aalborg University is continuously working on improvements in its specialization in web engineering topics as well...... as on general competence based web engineering proles oered also for those who specialize in other areas of software engineering. We describe the current state of the art and our experience with a web engineering curriculum within the software engineering masters degree programme. We also discuss an evolution...

  1. A framework for business oriented software quality approaches

    Trienekens, J.J.M.; Veenendaal, van E.P.W.M.; McMullan, J.

    1997-01-01

    The importance of software for business systems continues to grow. Software products play an increasingly important role in industry and society. The need f~r delivering "quality products" and "quality services" has become as relevant for companies in the field qf sqfiware development as for any

  2. The Role of Ethnographic Studies in Empirical Software Engineering

    Sharp, Helen; Dittrich, Yvonne; Souza, Cleidson R. B. de

    2016-01-01

    Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding ever...... as a useful and usable approach to empirical software engineering research. Throughout the paper, relevant examples of ethnographic studies of software practice are used to illustrate the points being made.......Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding...... everyday software development practice, i.e., it can help to uncover not only what practitioners do, but also why they do it. Despite its potential, ethnography has not been widely adopted by empirical software engineering researchers, and receives little attention in the related literature. The main goal...

  3. USAGE OF CONSTRUCTION-ORIENTED SOFTWARE SCAD FOR ANALYSIS OF WORK OF MACHINE-BUILDING STRUCTURES

    D. О. Bannikov

    2018-02-01

    Full Text Available Purpose. In the case of analysis of work of the machine-building structures, the direct usage of construction-oriented software developments is impossible, since ideology and methodology for solving various tasks in construction and machine-building are different. Therefore, in the conducting of practical calculations, there is a need for a certain adjustment of the approaches put in the program complexes and their adaptation to the engineering industry. The presentation of the author's experience of the construction-oriented software SCAD usage for Windows for analyzing the work of various machine-building structures, their components and assemblies is the immediate purpose of the publication. Methodology. During a long period of time the author was engaged in analyzing the work of building, mainly thin-walled, steel structures using the Finite Element Method based on the SCAD for Windows software package. At the same time, a considerable number of machine-building structures were considered, including railroad rolling stock units. Most of these tasks grew into a scientific and research problem that needed to be thoroughly researched and analyzed before giving design recommendations. Findings. The publication presents more than a dozen different tasks, typical for the machine-building industry, which the author had to deal with. Static and quasi-static problems, the problem of motion in time, the contact problem, the problem of the cracks deve-lopment, the physical and geometric non-linearity are among them. Accordingly, for each of these problems the main challenges, features and practical techniques developed during the work are presented, as well as the constructed finite element models are presented as an illustration. Originality. The experience of construction-oriented software product usage on the basis of the Finite Element Method for analyzing of the work of machine-building structures is generalized. A number of practical methods and

  4. Artificial Intelligence Software Engineering (AISE) model

    Kiss, Peter A.

    1990-01-01

    The American Institute of Aeronautics and Astronautics has initiated a committee on standards for Artificial Intelligence. Presented are the initial efforts of one of the working groups of that committee. A candidate model is presented for the development life cycle of knowledge based systems (KBSs). The intent is for the model to be used by the aerospace community and eventually be evolved into a standard. The model is rooted in the evolutionary model, borrows from the spiral model, and is embedded in the standard Waterfall model for software development. Its intent is to satisfy the development of both stand-alone and embedded KBSs. The phases of the life cycle are shown and detailed as are the review points that constitute the key milestones throughout the development process. The applicability and strengths of the model are discussed along with areas needing further development and refinement by the aerospace community.

  5. Software Engineering Research/Developer Collaborations in 2004 (C104)

    Pressburger, Tom; Markosian, Lawrance

    2005-01-01

    In 2004, six collaborations between software engineering technology providers and NASA software development personnel deployed a total of five software engineering technologies (for references, see Section 7.2) on the NASA projects. The main purposes were to benefit the projects, infuse the technologies if beneficial into NASA, and give feedback to the technology providers to improve the technologies. Each collaboration project produced a final report (for references, see Section 7.1). Section 2 of this report summarizes each project, drawing from the final reports and communications with the software developers and technology providers. Section 3 indicates paths to further infusion of the technologies into NASA practice. Section 4 summarizes some technology transfer lessons learned. Section 6 lists the acronyms used in this report.

  6. V & V Within Reuse-Based Software Engineering

    Addy, Edward A.

    1996-01-01

    Verification and validation (V&V) is used to increase the level of assurance of critical software, particularly that of safety-critical and mission critical software. This paper describes the working group's success in identifying V&V tasks that could be performed in the domain engineering and transition levels of reuse-based software engineering. The primary motivation for V&V at the domain level is to provide assurance that the domain requirements are correct and that the domain artifacts correctly implement the domain requirements. A secondary motivation is the possible elimination of redundant V&V activities at the application level. The group also considered the criteria and motivation for performing V&V in domain engineering.

  7. Engineering of oriented carbon nanotubes in composite materials

    Beigmoradi, Razieh; Mohebbi-Kalhori, Davod

    2018-01-01

    The orientation and arrangement engineering of carbon nanotubes (CNTs) in composite structures is considered a challenging issue. In this regard, two groups of in situ and ex situ techniques have been developed. In the first, the arrangement is achieved during CNT growth, while in the latter, the CNTs are initially grown in random orientation and the arrangement is then achieved during the device integration process. As the ex situ techniques are free from growth restrictions and more flexible in terms of controlling the alignment and sorting of the CNTs, they are considered by some as the preferred technique for engineering of oriented CNTs. This review focuses on recent progress in the improvement of the orientation and alignment of CNTs in composite materials. Moreover, the advantages and disadvantages of the processes are discussed as well as their future outlook. PMID:29515955

  8. Technology Transfer Challenges for High-Assurance Software Engineering Tools

    Koga, Dennis (Technical Monitor); Penix, John; Markosian, Lawrence Z.

    2003-01-01

    In this paper, we describe our experience with the challenges thar we are currently facing in our effort to develop advanced software verification and validation tools. We categorize these challenges into several areas: cost benefits modeling, tool usability, customer application domain, and organizational issues. We provide examples of challenges in each area and identrfj, open research issues in areas which limit our ability to transfer high-assurance software engineering tools into practice.

  9. Repository-Based Software Engineering Program: Working Program Management Plan

    1993-01-01

    Repository-Based Software Engineering Program (RBSE) is a National Aeronautics and Space Administration (NASA) sponsored program dedicated to introducing and supporting common, effective approaches to software engineering practices. The process of conceiving, designing, building, and maintaining software systems by using existing software assets that are stored in a specialized operational reuse library or repository, accessible to system designers, is the foundation of the program. In addition to operating a software repository, RBSE promotes (1) software engineering technology transfer, (2) academic and instructional support of reuse programs, (3) the use of common software engineering standards and practices, (4) software reuse technology research, and (5) interoperability between reuse libraries. This Program Management Plan (PMP) is intended to communicate program goals and objectives, describe major work areas, and define a management report and control process. This process will assist the Program Manager, University of Houston at Clear Lake (UHCL) in tracking work progress and describing major program activities to NASA management. The goal of this PMP is to make managing the RBSE program a relatively easy process that improves the work of all team members. The PMP describes work areas addressed and work efforts being accomplished by the program; however, it is not intended as a complete description of the program. Its focus is on providing management tools and management processes for monitoring, evaluating, and administering the program; and it includes schedules for charting milestones and deliveries of program products. The PMP was developed by soliciting and obtaining guidance from appropriate program participants, analyzing program management guidance, and reviewing related program management documents.

  10. Service software engineering for innovative infrastructure for global financial services

    MAAD , Soha; MCCARTHY , James B.; GARBAYA , Samir; Beynon , Meurig; Nagarajan , Rajagopal

    2010-01-01

    International audience; The recent financial crisis motivates our re-thinking of the engineering principles for service software and infrastructures intended to create business value in vital sectors. Existing monolithic, inwarddirected, cost insensitive and highly regulated technical and organizational infrastructures for financial services make it difficult for the domain to benefit from opportunities offered by new computing models such as cloud computing, software as a service, hardware a...

  11. ICSE 2009 Tutorial - Semantic Web Technologies in Software Engineering

    Gall, H C; Reif, G

    2009-01-01

    Over the years, the software engineering community has developed various tools to support the specification, development, and maintainance of software. Many of these tools use proprietary data formats to store artifacts which hamper interoperability. On the other hand, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. Ontologies are used to define the concepts in the domain of discourse and their rel...

  12. New software engineering paradigm based on complexity science an introduction to NSE

    Xiong, Jay

    2011-01-01

    This book describes a revolution in software engineering - the Nonlinear Software Engineering paradigm, which complies with the essential principles of complexity science and can help double productivity, halve costs and reduce defects in software products.

  13. Software Engineering Environment for Component-based Design of Embedded Software

    Guo, Yu

    2010-01-01

    as well as application models in a computer-aided software engineering environment. Furthermore, component models have been realized following carefully developed design patterns, which provide for an efficient and reusable implementation. The components have been ultimately implemented as prefabricated...... executable objects that can be linked together into an executable application. The development of embedded software using the COMDES framework is supported by the associated integrated engineering environment consisting of a number of tools, which support basic functionalities, such as system modelling......, validation, and executable code generation for specific hardware platforms. Developing such an environment and the associated tools is a highly complex engineering task. Therefore, this thesis has investigated key design issues and analysed existing platforms supporting model-driven software development...

  14. Model-based engineering for medical-device software.

    Ray, Arnab; Jetley, Raoul; Jones, Paul L; Zhang, Yi

    2010-01-01

    This paper demonstrates the benefits of adopting model-based design techniques for engineering medical device software. By using a patient-controlled analgesic (PCA) infusion pump as a candidate medical device, the authors show how using models to capture design information allows for i) fast and efficient construction of executable device prototypes ii) creation of a standard, reusable baseline software architecture for a particular device family, iii) formal verification of the design against safety requirements, and iv) creation of a safety framework that reduces verification costs for future versions of the device software. 1.

  15. The evolution of CACSD tools-a software engineering perspective

    Ravn, Ole; Szymkat, Maciej

    1992-01-01

    The earlier evolution of computer-aided control system design (CACSD) tools is discussed from a software engineering perspective. A model of the design process is presented as the basis for principles and requirements of future CACSD tools. Combinability, interfacing in memory, and an open...... workspace are seen as important concepts in CACSD. Some points are made about the problem of buy or make when new software is required, and the idea of buy and make is put forward. Emphasis is put on the time perspective and the life cycle of the software...

  16. Green Software Engineering Adaption In Requirement Elicitation Process

    Umma Khatuna Jannat

    2015-08-01

    Full Text Available A recent technology investigates the role of concern in the environment software that is green software system. Now it is widely accepted that the green software can fit all process of software development. It is also suitable for the requirement elicitation process. Now a days software companies have used requirements elicitation techniques in an enormous majority. Because this process plays more and more important roles in software development. At the present time most of the requirements elicitation process is improved by using some techniques and tools. So that the intention of this research suggests to adapt green software engineering for the intention of existing elicitation technique and recommend suitable actions for improvement. This research being involved qualitative data. I used few keywords in my searching procedure then searched IEEE ACM Springer Elsevier Google scholar Scopus and Wiley. Find out articles which published in 2010 until 2016. Finding from the literature review Identify 15 traditional requirement elicitations factors and 23 improvement techniques to convert green engineering. Lastly The paper includes a squat review of the literature a description of the grounded theory and some of the identity issues related finding of the necessity for requirements elicitation improvement techniques.

  17. A Comparative Analysis of Software Engineering with Mature Engineering Disciplines Using a Problem-Solving Perspective

    Tekinerdogan, B.; Aksit, Mehmet; Dogru, Ali H.; Bicer, Veli

    2011-01-01

    Software engineering is compared with traditional engineering disciplines using a domain specific problem-solving model called Problem-Solving for Engineering Model (PSEM). The comparative analysis is performed both from a historical and contemporary view. The historical view provides lessons on the

  18. Hypermedia for Training: A Software and Instructional Engineering Model.

    Cortinovis, Renato

    1992-01-01

    Presents an engineering environment oriented to the development of hypermedia applications for training. Training trends are described; requirements for a computer-based training (CBT) strategy are outlined; a hypermedia course structure is examined; microinstructional events (MIEs) are explained; and technology requirements and selection are…

  19. Designing dependable process-oriented software - a CSP-based approach

    Jovanovic, D.S.

    2006-01-01

    This thesis advocates dependability as a crucial aspect of software quality. Process orientation,as it is defined in this thesis, concentrates on the notion of a process as a basic building component of a dataflow-centred software architecture. The dependability approach in the proposed variant of

  20. Software for event oriented processing on multiprocessor systems

    Fischler, M.; Areti, H.; Biel, J.; Bracker, S.; Case, G.; Gaines, I.; Husby, D.; Nash, T.

    1984-08-01

    Computing intensive problems that require the processing of numerous essentially independent events are natural customers for large scale multi-microprocessor systems. This paper describes the software required to support users with such problems in a multiprocessor environment. It is based on experience with and development work aimed at processing very large amounts of high energy physics data

  1. Cooperative and Human Aspects of Software Engineering (CHASE 2008)

    2008-01-01

    ethnographic research to experiments. Moreover, the background of attendees reflects the diversity of researchers in this domain, ranging from sociology to psychology, from informatics to software engineering. CHASE 1008 met its goals in presenting high-quality research and building community through a mixture...... of presentations, discussions, posters, and social activities....

  2. The Company Approach to Software Engineering Project Courses

    Broman, D.; Sandahl, K.; Abu Baker, M.

    2012-01-01

    Teaching larger software engineering project courses at the end of a computing curriculum is a way for students to learn some aspects of real-world jobs in industry. Such courses, often referred to as capstone courses, are effective for learning how to apply the skills they have acquired in, for example, design, test, and configuration management.…

  3. Improving Collaborative Learning in Online Software Engineering Education

    Neill, Colin J.; DeFranco, Joanna F.; Sangwan, Raghvinder S.

    2017-01-01

    Team projects are commonplace in software engineering education. They address a key educational objective, provide students critical experience relevant to their future careers, allow instructors to set problems of greater scale and complexity than could be tackled individually, and are a vehicle for socially constructed learning. While all…

  4. Issues in Software Engineering of Relevance to Instructional Design

    Douglas, Ian

    2006-01-01

    Software engineering is popularly misconceived as being an upmarket term for programming. In a way, this is akin to characterizing instructional design as the process of creating PowerPoint slides. In both these areas, the construction of systems, whether they are learning or computer systems, is only one part of a systematic process. The most…

  5. A Team Building Model for Software Engineering Courses Term Projects

    Sahin, Yasar Guneri

    2011-01-01

    This paper proposes a new model for team building, which enables teachers to build coherent teams rapidly and fairly for the term projects of software engineering courses. Moreover, the model can also be used to build teams for any type of project, if the team member candidates are students, or if they are inexperienced on a certain subject. The…

  6. Software-engineering-based model for mitigating Repetitive Strain ...

    The incorporation of Information and Communication Technology (ICT) in virtually all facets of human endeavours has fostered the use of computers. This has induced Repetitive Stress Injury (RSI) for continuous and persistent computer users. Proposing a software engineering model capable of enacted RSI force break ...

  7. Application of Plagiarism Screening Software in the Chemical Engineering Curriculum

    Cooper, Matthew E.; Bullard, Lisa G.

    2014-01-01

    Plagiarism is an area of increasing concern for written ChE assignments, such as laboratory and design reports, due to ease of access to text and other materials via the internet. This study examines the application of plagiarism screening software to four courses in a university chemical engineering curriculum. The effectiveness of plagiarism…

  8. Software engineering experience from the LEP experiment OPAL

    Schaile, O.

    1990-01-01

    This contribution describes some of the activities within the OPAL collaboration at LEP to apply Software Engineering Techniques for program development and data documentation. It concentrates on two aspects: Structured Analysis Techniques and a data documentation system developed within OPAL. As far as evaluations are given they are the authors view and opinion

  9. Open Source Projects in Software Engineering Education: A Mapping Study

    Nascimento, Debora M. C.; Almeida Bittencourt, Roberto; Chavez, Christina

    2015-01-01

    Context: It is common practice in academia to have students work with "toy" projects in software engineering (SE) courses. One way to make such courses more realistic and reduce the gap between academic courses and industry needs is getting students involved in open source projects (OSP) with faculty supervision. Objective: This study…

  10. PEOPLE IN PHYSICS: Interview with Scott Durow, Software Engineer, Oxford

    Burton, Conducted by Paul

    1998-05-01

    Scott Durow was educated at Bootham School, York. He studied Physics, Mathematics and Chemistry to A-level and went on to Nottingham University to read Medical Physics. After graduating from Nottingham he embarked on his present career as a Software Engineer based in Oxford. He is a musician in his spare time, as a member of a band and playing the French horn.

  11. Microsoft Excel Software Usage for Teaching Science and Engineering Curriculum

    Singh, Gurmukh; Siddiqui, Khalid

    2009-01-01

    In this article, our main objective is to present the use of Microsoft Software Excel 2007/2003 for teaching college and university level curriculum in science and engineering. In particular, we discuss two interesting and fascinating examples of interactive applications of Microsoft Excel targeted for undergraduate students in: 1) computational…

  12. Software engineering article types: An analysis of the literature

    Montesi, M.; Lago, P.

    2008-01-01

    The software engineering (SE) community has recently recognized that the field lacks well-established research paradigms and clear guidance on how to write good research reports. With no comprehensive guide to the different article types in the field, article writing and reviewing heavily depends on

  13. Active Involvement of Software Developers in Usability Engineering

    Bornoe, Nis; Stage, Jan

    2017-01-01

    The essence of usability evaluations is to produce feedback that supports the downstream utility so the interaction design can be improved and problems can be fixed. In practice, software development organizations experience several obstacles for conducting usability engineering. One suggested...... approach is to train and involve developers in all phases of usability activities from evaluations, to problem reporting, and making redesign proposals. Only limited work has previously investigated the impact of actively involving developers in usability engineering. In this paper, we present two small......, and problem fixing. At the organizational level, we found that the attitude towards and understanding of the role of usability engineering improved....

  14. Milestones in software engineering and knowledge engineering history: a comparative review.

    del Águila, Isabel M; Palma, José; Túnez, Samuel

    2014-01-01

    We present a review of the historical evolution of software engineering, intertwining it with the history of knowledge engineering because "those who cannot remember the past are condemned to repeat it." This retrospective represents a further step forward to understanding the current state of both types of engineerings; history has also positive experiences; some of them we would like to remember and to repeat. Two types of engineerings had parallel and divergent evolutions but following a similar pattern. We also define a set of milestones that represent a convergence or divergence of the software development methodologies. These milestones do not appear at the same time in software engineering and knowledge engineering, so lessons learned in one discipline can help in the evolution of the other one.

  15. Milestones in Software Engineering and Knowledge Engineering History: A Comparative Review

    del Águila, Isabel M.; Palma, José; Túnez, Samuel

    2014-01-01

    We present a review of the historical evolution of software engineering, intertwining it with the history of knowledge engineering because “those who cannot remember the past are condemned to repeat it.” This retrospective represents a further step forward to understanding the current state of both types of engineerings; history has also positive experiences; some of them we would like to remember and to repeat. Two types of engineerings had parallel and divergent evolutions but following a similar pattern. We also define a set of milestones that represent a convergence or divergence of the software development methodologies. These milestones do not appear at the same time in software engineering and knowledge engineering, so lessons learned in one discipline can help in the evolution of the other one. PMID:24624046

  16. The importance of training in formal methods in Software Engineering

    John Polansky

    2014-12-01

    Full Text Available The paradigm of formal methods provides systematic techniques and rigorous to software develop and, due the crescent complexity and quality requirements of current products, is necessary introduce them in curriculum of software engineer. In this article is analyzed the importance of train in formal methods and described specific techniques to achieved it efficiently. This techniques are the result of an experimental process in the class room of more than fifteen years in undergraduate and graduate programs, the same as company training. Also are presented a proposal a curriculum to systematic introduction of this paradigm and description of a program in training methods that has been success to industry. Results shows that students gain confidence in formal methods just when found out of the benefits of this in the context of software engineer.

  17. Bringing Model Checking Closer to Practical Software Engineering

    AUTHOR|(CDS)2079681; Templon, J A; Willemse, T.A.C.

    Software grows in size and complexity, making it increasingly challenging to ensure that it behaves correctly. This is especially true for distributed systems, where a multitude of components are running concurrently, making it dicult to anticipate all the possible behaviors emerging in the system as a whole. Certain design errors, such as deadlocks and race-conditions, can often go unnoticed when testing is the only form of verication employed in the software engineering life-cycle. Even when bugs are detected in a running software, revealing the root cause and reproducing the behavior can be time consuming (and even impossible), given the lack of control the engineer has over the execution of the concurrent components, as well as the number of possible scenarios that could have produced the problem. This is especially pronounced for large-scale distributed systems such as the Worldwide Large Hadron Collider Computing Grid. Formal verication methods oer more rigorous means of determining whether a system sat...

  18. Implementation of Process Oriented Guided Inquiry Learning (POGIL) in Engineering

    Douglas, Elliot P.; Chiu, Chu-Chuan

    2013-01-01

    This paper describes implementation and testing of an active learning, team-based pedagogical approach to instruction in engineering. This pedagogy has been termed Process Oriented Guided Inquiry Learning (POGIL), and is based upon the learning cycle model. Rather than sitting in traditional lectures, students work in teams to complete worksheets…

  19. Development of an engine system simulation software package - ESIM

    Erlandsson, Olof

    2000-10-01

    A software package, ESIM is developed for simulating internal combustion engine systems, including models for engine, manifolds, turbocharger, charge-air cooler (inter cooler) and inlet air heater. This study focus on the thermodynamic treatment and methods used in the models. It also includes some examples of system simulations made with these models for validation purposes. The engine model can be classified as a zero-dimensional, single zone model. It includes calculation of the valve flow process, models for heat release and models for in-cylinder, exhaust port and manifold heat transfer. Models are developed for handling turbocharger performance and charge air cooler characteristics. The main purpose of the project related to this work is to use the ESIM software to study heat balance and performance of homogeneous charge compression ignition (HCCI) engine systems. A short description of the HCCI engine is therefore included, pointing out the difficulties, or challenges regarding the HCCI engine, from a system perspective. However, the relations given here, and the code itself, is quite general, making it possible to use these models to simulate spark ignited, as well as direct injected engines.

  20. Incremental Interactive Verification of the Correctness of Object-Oriented Software

    Mehnert, Hannes

    Development of correct object-oriented software is difficult, in particular if a formalised proof of its correctness is demanded. A lot of current software is developed using the object-oriented programming paradigm. This paradigm compensated for safety and security issues with imperative...... structure. For efficiency, our implementation uses copy-on-write and shared mutable data, not observable by a client. I further use this data structure to verify the correctness of a solution to the point location problem. The results demonstrate that I am able to verify the correctness of object-oriented...... programming, such as manual memory management. Popularly used integrated development environments (IDEs) provide features such as debugging and unit testing to facilitate development of robust software, but hardly any development environment supports the development of provable correct software. A tight...

  1. Computer- Aided Design in Power Engineering Application of Software Tools

    Stojkovic, Zlatan

    2012-01-01

    This textbooks demonstrates the application of software tools in solving a series of problems from the field of designing power system structures and systems. It contains four chapters: The first chapter leads the reader through all the phases necessary in the procedures of computer aided modeling and simulation. It guides through the complex problems presenting on the basis of eleven original examples. The second chapter presents  application of software tools in power system calculations of power systems equipment design. Several design example calculations are carried out using engineering standards like MATLAB, EMTP/ATP, Excel & Access, AutoCAD and Simulink. The third chapters focuses on the graphical documentation using a collection of software tools (AutoCAD, EPLAN, SIMARIS SIVACON, SIMARIS DESIGN) which enable the complete automation of the development of graphical documentation of a power systems. In the fourth chapter, the application of software tools in the project management in power systems ...

  2. Embedding object-oriented design in system engineering

    Wieringa, Roelf J.; Kilov, H.; Rumpe, B.; Simmonds, I.

    1999-01-01

    The Unified Modeling Language (UML) is a collection of techniques intended to document design decisions about software. This contrasts with systems engineering approaches such as for example Statemate and the Yourdon Systems Method (YSM), in which the design of an entire system consisting of

  3. Semantic Oriented Agent based Approach towards Engineering Data Management, Web Information Retrieval and User System Communication Problems

    Ahmed, Zeeshan; Gerhard, Detlef

    2010-01-01

    The four intensive problems to the software rose by the software industry .i.e., User System Communication / Human Machine Interface, Meta Data extraction, Information processing & management and Data representation are discussed in this research paper. To contribute in the field we have proposed and described an intelligent semantic oriented agent based search engine including the concepts of intelligent graphical user interface, natural language based information processing, data management...

  4. Object-oriented software for evaluating measurement uncertainty

    Hall, B. D.

    2013-05-01

    An earlier publication (Hall 2006 Metrologia 43 L56-61) introduced the notion of an uncertain number that can be used in data processing to represent quantity estimates with associated uncertainty. The approach can be automated, allowing data processing algorithms to be decomposed into convenient steps, so that complicated measurement procedures can be handled. This paper illustrates the uncertain-number approach using several simple measurement scenarios and two different software tools. One is an extension library for Microsoft Excel®. The other is a special-purpose calculator using the Python programming language.

  5. Object-oriented software for evaluating measurement uncertainty

    Hall, B D

    2013-01-01

    An earlier publication (Hall 2006 Metrologia 43 L56–61) introduced the notion of an uncertain number that can be used in data processing to represent quantity estimates with associated uncertainty. The approach can be automated, allowing data processing algorithms to be decomposed into convenient steps, so that complicated measurement procedures can be handled. This paper illustrates the uncertain-number approach using several simple measurement scenarios and two different software tools. One is an extension library for Microsoft Excel®. The other is a special-purpose calculator using the Python programming language. (paper)

  6. Framework for Small-Scale Experiments in Software Engineering: Guidance and Control Software Project: Software Engineering Case Study

    Hayhurst, Kelly J.

    1998-01-01

    Software is becoming increasingly significant in today's critical avionics systems. To achieve safe, reliable software, government regulatory agencies such as the Federal Aviation Administration (FAA) and the Department of Defense mandate the use of certain software development methods. However, little scientific evidence exists to show a correlation between software development methods and product quality. Given this lack of evidence, a series of experiments has been conducted to understand why and how software fails. The Guidance and Control Software (GCS) project is the latest in this series. The GCS project is a case study of the Requirements and Technical Concepts for Aviation RTCA/DO-178B guidelines, Software Considerations in Airborne Systems and Equipment Certification. All civil transport airframe and equipment vendors are expected to comply with these guidelines in building systems to be certified by the FAA for use in commercial aircraft. For the case study, two implementations of a guidance and control application were developed to comply with the DO-178B guidelines for Level A (critical) software. The development included the requirements, design, coding, verification, configuration management, and quality assurance processes. This paper discusses the details of the GCS project and presents the results of the case study.

  7. The Relationship of Personality Models and Development Tasks in Software Engineering

    Wiesche, Manuel;Krcmar, Helmut

    2015-01-01

    Understanding the personality of software developers has been an ongoing topic in software engineering research. Software engineering researchers applied different theoretical models to understand software developers? personalities to better predict software developers? performance, orchestrate more effective and motivated teams, and identify the person that fits a certain job best. However, empirical results were found as contradicting, challenging validity, and missing guidance for IT perso...

  8. PROFESSIONALLY ORIENTED COURSE OF ENGINEERING-GRAPHICAL TRAINING

    Olga V. Zhuykova

    2015-01-01

    Full Text Available The aim of the article is to present the results of managing the competence oriented self-directed student learning while studying graphical subjects at Kalashnikov Izhevsk State Technical University.Methods. The technology of self-directed engineering-graphical training of future bachelors based on the analysis of educational literature and teaching experience, providing individualization and professional education is suggested. The method of team expert appraisal was used at all stages of self-directed learning management. This method is one of main in qualimetry (the science concerned with assessing and evaluating the quality of any objects and processes; it permits to reveal the components of engineering-graphical competence, to establish the criteria and markers of determining the level of its development, to perform expert evaluation of student tasks and estimation procedures.Results. It has been established that the revitalization of student selfdirected learning owing to professional education and individualization permits to increase the level of student engineering-graphical competence development. Scientific novelty. The criteria evaluation procedures for determining the level of student engineering-graphical competence development in the process of their professional oriented self-directed learning while studying graphical subjects at a technical university are developed.Practical significance. The professional-focused educational trajectories of independent engineering-graphic preparation of students are designed and substantially filled in content. Such training is being realised at the present time at Kalashnikov Izhevsk State Technical University, major «Instrument Engineering». 

  9. Collaboration in Global Software Engineering Based on Process Description Integration

    Klein, Harald; Rausch, Andreas; Fischer, Edward

    Globalization is one of the big trends in software development. Development projects need a variety of different resources with appropriate expert knowledge to be successful. More and more of these resources are nowadays obtained from specialized organizations and countries all over the world, varying in development approaches, processes, and culture. As seen with early outsourcing attempts, collaboration may fail due to these differences. Hence, the major challenge in global software engineering is to streamline collaborating organizations towards a successful conjoint development. Based on typical collaboration scenarios, this paper presents a structured approach to integrate processes in a comprehensible way.

  10. Software engineering capability for Ada (GRASP/Ada Tool)

    Cross, James H., II

    1995-01-01

    The GRASP/Ada project (Graphical Representations of Algorithms, Structures, and Processes for Ada) has successfully created and prototyped a new algorithmic level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and, as a result, improve reliability and reduce costs. The emphasis has been on the automatic generation of the CSD from Ada PDL or source code to support reverse engineering and maintenance. The CSD has the potential to replace traditional prettyprinted Ada Source code. A new Motif compliant graphical user interface has been developed for the GRASP/Ada prototype.

  11. Software engineering techniques and CASE tools in RD13

    Buono, S.; Gaponenko, I.; Jones, R.; Khodabandeh, A.; Mapelli, L.; Mornacchi, G.; Prigent, D.; Sanchez-Corral, E.; Skiadelli, M.; Toppers, A.; Duval, P. Y.; Ferrato, D.; Le Van Suu, A.; Qian, Z.; Rondot, C.; Ambrosini, G.; Fumagalli, G.; Polesello, G.; Aguer, M.; Huet, M.

    1994-12-01

    The RD13 project was approved in April 1991 for the development of a scalable data-taking system suitable for hosting various LHC studies. One of its goals is the exploitation of software engineering techniques, in order to indicate their overall suitability for data acquisition (DAQ), software design and implementation. This paper describes how such techniques have been applied to the development of components of the RD13 DAQ used in test-beam runs at CERN. We describe our experience with the Artifex CASE tool and its associated methodology. The issues raised when code generated by a CASE tool has to be integrated into an existing environment are also discussed.

  12. An object-oriented multi-threaded software beamformation toolbox

    Hansen, Jens Munk; Hemmsen, Martin Christian; Jensen, Jørgen Arendt

    2011-01-01

    Focusing and apodization are an essential part of signal processing in ultrasound imaging. Although the fun- damental principles are simple, the dramatic increase in computational power of CPUs, GPUs, and FPGAs motivates the development of software based beamformers, which further improves image...... new beam formation strategies. It is a general 3D implementation capable of handling a multitude of focusing methods, interpolation schemes, and parametric and dynamic apodization. Despite being exible, it is capable of exploiting parallelization on a single computer, on a cluster, or on both....... On a single computer, it mimics the parallization in a scanner containing multiple beam formers. The focusing is determined using the positions of the transducer elements, presence of virtual sources, and the focus points. For interpolation, a number of interpolation schemes can be chosen, e.g. linear, polyno...

  13. Object oriented reconstruction software for the Instrumented Flux Return of BABAR

    Nardo, E D; Lista, L

    2001-01-01

    BABAR experiment is the first High Energy Physics experiment to extensively use object oriented technology and the C++ programming language for online and offline software. Object orientation permits to reach a high level of flexibility and maintainability of the code, which is a key point in a large project with many developers. These goals are reached with the introduction of reusable code elements, with abstraction of code behaviours and polymorphism. Software design, before code implementation, is the key task that determines the achievement of such a goal. We present the experience with the application of object oriented technology and design patterns to the reconstruction software of the Instrumented Flux Return detector of BABAR experiment. The use of abstract interfaces improved the development of reconstruction code and permitted to flexibly apply modification to reconstruction strategies, and eventually to reduce the maintenance load. The experience during the last years of development is presented....

  14. IEEE [Institute of Electrical and Electronics Engineers] standards and nuclear software quality engineering

    Daughtrey, T.

    1988-01-01

    Significant new nuclear-specific software standards have recently been adopted under the sponsorship of the American Nuclear Society and the American Society of Mechanical Engineers. The interest of the US Nuclear Regulatory Commission has also been expressed through their issuance of NUREG/CR-4640. These efforts all indicate a growing awareness of the need for thorough, referenceable expressions of the way to build in and evaluate quality in nuclear software. A broader professional perspective can be seen in the growing number of software engineering standards sponsored by the Institute of Electrical and Electronics Engineers (IEEE) Computer Society. This family of standards represents a systematic effort to capture professional consensus on quality practices throughout the software development life cycle. The only omission-the implementation phase-is treated by accepted American National Standards Institute or de facto standards for programming languages

  15. A survey of program slicing for software engineering

    Beck, Jon

    1993-01-01

    This research concerns program slicing which is used as a tool for program maintainence of software systems. Program slicing decreases the level of effort required to understand and maintain complex software systems. It was first designed as a debugging aid, but it has since been generalized into various tools and extended to include program comprehension, module cohesion estimation, requirements verification, dead code elimination, and maintainence of several software systems, including reverse engineering, parallelization, portability, and reuse component generation. This paper seeks to address and define terminology, theoretical concepts, program representation, different program graphs, developments in static slicing, dynamic slicing, and semantics and mathematical models. Applications for conventional slicing are presented, along with a prognosis of future work in this field.

  16. Object-Oriented Programming When Developing Software in Geology and Geophysics

    Ahmadulin, R. K.; Bakanovskaya, L. N.

    2017-01-01

    The paper reviews the role of object-oriented programming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-oriented programming when developing software in geology and geophysics. The research was based on a number of problems solved in Geology and Petroleum Production Institute. Distinctive features of these problems are given and areas of application of the object-oriented approach are identified. Developing applications in the sphere of geology and geophysics has shown that the process of creating such products is simplified due to the use of object-oriented programming, firstly when designing structures for data storage and graphical user interfaces.

  17. Software Engineering Laboratory (SEL) database organization and user's guide

    So, Maria; Heller, Gerard; Steinberg, Sandra; Spiegel, Douglas

    1989-01-01

    The organization of the Software Engineering Laboratory (SEL) database is presented. Included are definitions and detailed descriptions of the database tables and views, the SEL data, and system support data. The mapping from the SEL and system support data to the base tables is described. In addition, techniques for accessing the database, through the Database Access Manager for the SEL (DAMSEL) system and via the ORACLE structured query language (SQL), are discussed.

  18. CLIMLAB: a Python-based software toolkit for interactive, process-oriented climate modeling

    Rose, B. E. J.

    2015-12-01

    Global climate is a complex emergent property of the rich interactions between simpler components of the climate system. We build scientific understanding of this system by breaking it down into component process models (e.g. radiation, large-scale dynamics, boundary layer turbulence), understanding each components, and putting them back together. Hands-on experience and freedom to tinker with climate models (whether simple or complex) is invaluable for building physical understanding. CLIMLAB is an open-ended software engine for interactive, process-oriented climate modeling. With CLIMLAB you can interactively mix and match model components, or combine simpler process models together into a more comprehensive model. It was created primarily to support classroom activities, using hands-on modeling to teach fundamentals of climate science at both undergraduate and graduate levels. CLIMLAB is written in Python and ties in with the rich ecosystem of open-source scientific Python tools for numerics and graphics. The IPython notebook format provides an elegant medium for distributing interactive example code. I will give an overview of the current capabilities of CLIMLAB, the curriculum we have developed thus far, and plans for the future. Using CLIMLAB requires some basic Python coding skills. We consider this an educational asset, as we are targeting upper-level undergraduates and Python is an increasingly important language in STEM fields. However CLIMLAB is well suited to be deployed as a computational back-end for a graphical gaming environment based on earth-system modeling.

  19. Arquitectura orientada a servicios para software de apoyo para el proceso personal de software A service oriented architecture for the implementation of the personal software process

    Erick Salinas

    2011-06-01

    Full Text Available El presente trabajo describe una arquitectura orientada a servicios para un software que tiene como objetivo facilitar la implementación de un Proceso Personal de Software en un equipo de desarrollo u organización. Entre las características que posee este software y que son relevantes de mencionar están las de entregar extensibilidad e independencia, esto se ve reflejado en la facilidad para agregar nuevas herramientas al proceso de desarrollo de software integradas al Proceso Personal de Software con un máximo de independencia de sistemas operativos y lenguajes de programación. El software implementado realiza la recolección de los datos necesarios para el Proceso Personal de Software casi completamente automática, considerando que el administrador solamente clasifica los errores que pueden ocurrir cuando se utiliza algún lenguaje de programación en particular, entre otras pequeñas tareas. Esta facilidad de uso hace que la implementación del Proceso Personal de Software se realice exitosamente con un bajo esfuerzo requerido por los integrantes del equipo de desarrollo.This work describes a service oriented architecture of a software application that facilitates the implementation of the Personal Software Process by a development team or an organization. Some of the characteristics of this software and which are important to mention are extensibility and technical environment independence. These characteristics facilitate the process of adding new tools to the software development process integrating them to the Personal Software Process independently of the operating systems and programming languages being used. The implemented software undertakes the data collection necessary to the Personal Software Process almost automatically, since the administrator must only classify the errors that may occur when a particular programming language is used, among other small tasks. This ease of use approach helps to make the implementation of

  20. Application of software engineering to development of reactor-safety codes

    Wilburn, N.P.; Niccoli, L.G.

    1980-11-01

    As a result of the drastically increasing cost of software and the lack of an engineering approach, the technology of Software Engineering is being developed. Software Engineering provides an answer to the increasing cost of developing and maintaining software. It has been applied extensively in the business and aerospace communities and is just now being applied to the development of scientific software and, in particular, to the development of reactor safety codes at HEDL

  1. Analysis and design of the SI-simulator software system for the VHTR-SI process by using the object-oriented analysis and object-oriented design methodology

    Chang, Jiwoon; Shin, Youngjoon; Kim, Jihwan; Lee, Kiyoung; Lee, Wonjae; Chang, Jonghwa; Youn, Cheung

    2008-01-01

    The SI-simulator is an application software system that simulates the dynamic behavior of the VHTR-SI process by the use of mathematical models. Object-oriented analysis (OOA) and object-oriented design (OOD) methodologies were employed for the SI simulator system development. OOA is concerned with developing software engineering requirements and specifications that are expressed as a system's object model (which is composed of a population of interacting objects), as opposed to the traditional data or functional views of systems. OOD techniques are useful for the development of large complex systems. Also, OOA/OOD methodology is usually employed to maximize the reusability and extensibility of a software system. In this paper, we present a design feature for the SI simulator software system by the using methodologies of OOA and OOD

  2. Object oriented fault diagnosis system for space shuttle main engine redlines

    Rogers, John S.; Mohapatra, Saroj Kumar

    1990-01-01

    A great deal of attention has recently been given to Artificial Intelligence research in the area of computer aided diagnostics. Due to the dynamic and complex nature of space shuttle red-line parameters, a research effort is under way to develop a real time diagnostic tool that will employ historical and engineering rulebases as well as a sensor validity checking. The capability of AI software development tools (KEE and G2) will be explored by applying object oriented programming techniques in accomplishing the diagnostic evaluation.

  3. Software

    Macedo, R.; Budd, G.; Ross, E.; Wells, P.

    2010-07-15

    The software section of this journal presented new software programs that have been developed to help in the exploration and development of hydrocarbon resources. Software provider IHS Inc. has made additions to its geological and engineering analysis software tool, IHS PETRA, a product used by geoscientists and engineers to visualize, analyze and manage well production, well log, drilling, reservoir, seismic and other related information. IHS PETRA also includes a directional well module and a decline curve analysis module to improve analysis capabilities in unconventional reservoirs. Petris Technology Inc. has developed a software to help manage the large volumes of data. PetrisWinds Enterprise (PWE) helps users find and manage wellbore data, including conventional wireline and MWD core data; analysis core photos and images; waveforms and NMR; and external files documentation. Ottawa-based Ambercore Software Inc. has been collaborating with Nexen on the Petroleum iQ software for steam assisted gravity drainage (SAGD) producers. Petroleum iQ integrates geology and geophysics data with engineering data in 3D and 4D. Calgary-based Envirosoft Corporation has developed a software that reduces the costly and time-consuming effort required to comply with Directive 39 of the Alberta Energy Resources Conservation Board. The product includes an emissions modelling software. Houston-based Seismic Micro-Technology (SMT) has developed the Kingdom software that features the latest in seismic interpretation. Holland-based Joa Oil and Gas and Calgary-based Computer Modelling Group have both supplied the petroleum industry with advanced reservoir simulation software that enables reservoir interpretation. The 2010 software survey included a guide to new software applications designed to facilitate petroleum exploration, drilling and production activities. Oil and gas producers can use the products for a range of functions, including reservoir characterization and accounting. In

  4. Business oriented educational experiments enhance active learning by engineering students

    Christiansen, Nynne Mia; Schjær-Jacobsen, Hans; Simon, Jens

    2012-01-01

    It is generally agreed that one of the keys to recreating industrial growth after the financial crisis is to mobilize universities and engineering schools to be more actively involved in innovation and entrepreneurship activities in cooperation with industrial companies. This active learning...... exploration symposium on bridging the gap between engineering education and business is proposed on the basis of the Copenhagen University College of Engineering (IHK) being involved in a DKK 50m ongoing project “Business Oriented Educational Experiments” financed by the Capital Region of Denmark...... and the European Social Fund. The project is carried out with other major educational institutions in the Copenhagen area and organized in five themes: 1) world class competences, 2) new interactions between education and business, 3) the experimenting organization, 4) education on demand, and 5) new career paths...

  5. The Implementation of Satellite Attitude Control System Software Using Object Oriented Design

    Reid, W. Mark; Hansell, William; Phillips, Tom; Anderson, Mark O.; Drury, Derek

    1998-01-01

    NASA established the Small Explorer (SNMX) program in 1988 to provide frequent opportunities for highly focused and relatively inexpensive space science missions. The SMEX program has produced five satellites, three of which have been successfully launched. The remaining two spacecraft are scheduled for launch within the coming year. NASA has recently developed a prototype for the next generation Small Explorer spacecraft (SMEX-Lite). This paper describes the object-oriented design (OOD) of the SMEX-Lite Attitude Control System (ACS) software. The SMEX-Lite ACS is three-axis controlled and is capable of performing sub-arc-minute pointing. This paper first describes high level requirements governing the SMEX-Lite ACS software architecture. Next, the context in which the software resides is explained. The paper describes the principles of encapsulation, inheritance, and polymorphism with respect to the implementation of an ACS software system. This paper will also discuss the design of several ACS software components. Specifically, object-oriented designs are presented for sensor data processing, attitude determination, attitude control, and failure detection. Finally, this paper will address the establishment of the ACS Foundation Class (AFC) Library. The AFC is a large software repository, requiring a minimal amount of code modifications to produce ACS software for future projects.

  6. Software Process Improvement through the Removal of Project-Level Knowledge Flow Obstacles: The Perceptions of Software Engineers

    Mitchell, Susan Marie

    2012-01-01

    Uncontrollable costs, schedule overruns, and poor end product quality continue to plague the software engineering field. Innovations formulated with the expectation to minimize or eliminate cost, schedule, and quality problems have generally fallen into one of three categories: programming paradigms, software tools, and software process…

  7. Modeling the Object-Oriented Software Process: OPEN and the Unified Process

    van den Berg, Klaas; Aksit, Mehmet; van den Broek, P.M.

    A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is

  8. Modeling the Object-Oriented Software Process: OPEN and the Unified Process

    van den Berg, Klaas; Aksit, Mehmet; van den Broek, P.M.

    1999-01-01

    A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is reviewed.

  9. Potential Errors and Test Assessment in Software Product Line Engineering

    Hartmut Lackner

    2015-04-01

    Full Text Available Software product lines (SPL are a method for the development of variant-rich software systems. Compared to non-variable systems, testing SPLs is extensive due to an increasingly amount of possible products. Different approaches exist for testing SPLs, but there is less research for assessing the quality of these tests by means of error detection capability. Such test assessment is based on error injection into correct version of the system under test. However to our knowledge, potential errors in SPL engineering have never been systematically identified before. This article presents an overview over existing paradigms for specifying software product lines and the errors that can occur during the respective specification processes. For assessment of test quality, we leverage mutation testing techniques to SPL engineering and implement the identified errors as mutation operators. This allows us to run existing tests against defective products for the purpose of test assessment. From the results, we draw conclusions about the error-proneness of the surveyed SPL design paradigms and how quality of SPL tests can be improved.

  10. Featureous: infrastructure for feature-centric analysis of object-oriented software

    Olszak, Andrzej; Jørgensen, Bo Nørregaard

    2010-01-01

    The decentralized nature of collaborations between objects in object-oriented software makes it difficult to understand how user-observable program features are implemented and how their implementations relate to each other. It is worthwhile to improve this situation, since feature-centric program...... understanding and modification are essential during software evolution and maintenance. In this paper, we present an infrastructure built on top of the NetBeans IDE called Featureous that allows for rapid construction of tools for feature-centric analysis of object-oriented software. Our infrastructure...... encompasses a lightweight feature location mechanism, a number of analytical views and an API allowing for addition of third-party extensions. To form a common conceptual framework for future feature-centric extensions, we propose to structure feature centric analysis along three dimensions: perspective...

  11. FEATUREOUS: AN INTEGRATED ENVIRONMENT FOR FEATURE-CENTRIC ANALYSIS AND MODIFICATION OF OBJECT-ORIENTED SOFTWARE

    Olszak, Andrzej; Jørgensen, Bo Nørregaard

    2011-01-01

    The decentralized nature of collaborations between objects in object-oriented software makes it difficult to understand the implementations of user-observable program features and their respective interdependencies. As feature-centric program understanding and modification are essential during...... software maintenance and evolution, this situation needs to change. In this paper, we present Featureous, an integrated development environment built on top of the NetBeans IDE that facilitates feature-centric analysis of object-oriented software. Our integrated development environment encompasses...... a lightweight feature location mechanism, a number of reusable analytical views, and necessary APIs for supporting future extensions. The base of the integrated development environment is a conceptual framework comprising of three complementary dimensions of comprehension: perspective, abstraction...

  12. Software engineering aspects of real-time programming concepts

    Schoitsch, Erwin

    1986-08-01

    Real-time programming is a discipline of great importance not only in process control, but also in fields like communication, office automation, interactive databases, interactive graphics and operating systems development. General concepts of concurrent programming and constructs for process-synchronization are discussed in detail. Tasking and synchronization concepts, methods of process communication, interrupt and timeout handling in systems based on semaphores, signals, conditional critical regions or on real-time languages like Concurrent PASCAL, MODULA, CHILL and ADA are explained and compared with each other. The second part deals with structuring and modularization of technical processes to build reliable and maintainable real time systems. Software-quality and software engineering aspects are considered throughout the paper.

  13. Changes and challenges in the Software Engineering Laboratory

    Pajerski, Rose

    1994-01-01

    Since 1976, the Software Engineering Laboratory (SEL) has been dedicated to understanding and improving the way in which one NASA organization, the Flight Dynamics Division (FDD), develops, maintains, and manages complex flight dynamics systems. The SEL is composed of three member organizations: NASA/GSFC, the University of Maryland, and Computer Sciences Corporation. During the past 18 years, the SEL's overall goal has remained the same: to improve the FDD's software products and processes in a measured manner. This requires that each development and maintenance effort be viewed, in part, as a SEL experiment which examines a specific technology or builds a model of interest for use on subsequent efforts. The SEL has undertaken many technology studies while developing operational support systems for numerous NASA spacecraft missions.

  14. Outsourcing the development of specific application software using the ESA software engineering standards the SPS software Interlock System

    Denis, B

    1995-01-01

    CERN is considering outsourcing as a solution to the reduction of staff. To need to re-engineer the SPS Software Interlock System provided an opportunity to explore the applicability of outsourcing to our specific controls environment and the ESA PSS-05 standards were selected for the requirements specification, the development, the control and monitoring and the project management. The software produced by the contractor is now fully operational. After outlining the scope and the complexity of the project, a discussion on the ESA PSS-05 will be presented: the choice, the way these standards improve the outsourcing process, the quality induced but also the need to adapt them and their limitation in the definition of the customer-supplier relationship. The success factors and the difficulties of development under contract will also be discussed. The maintenance aspect and the impact on in-house developments will finally be addressed.

  15. Incorporation of the KERN ECDS-PC software into a project oriented software environment

    Oren, W.; Pushor, R.; Ruland, R.

    1986-11-01

    The Stanford Linear Accelerator Center (SLAC) is in the process of building a new particle collider, the Stanford Linear Collider (SLC). The tunnel which houses the SLC is about 3 km long and contains approximately 1000 magnets. Besides a very precise absolute positioning of these magnets, the alignment of adjacent magnet ends is of particular importance to the success of the whole project. Because of this and the limited time frame, a survey method which was not only reliable and self-checking but also fast had to be developed. Therefore, the concept of MAS (Magnet Alignment System) was developed. This system utilizes the on-line data collection and the rigorous least-squares bundle adjustment of the KERN ECDS-PC system to fulfill these requirements. The ECDS software is embedded in a project tailored software system with modules which take care of: fixture and magnet calibration corrections, the calculation of ideal coordinates and their comparison to measured coordinates, the translation of detected misalignments into the coordinate system of the mechanical adjustments and the control of the adjustments with on-line electronic dial-gauges. This paper gives a brief introduction to the SLC project and some of the survey problems which are unique to this machine. The basic ideas of the KERN ECDS-PC system are explained and a discussion of the practical aspects, such as targeting and set-ups, are given. MAS and its modules are explained in detail

  16. Employing industrial standards in software engineering for W7X

    Kuehner, Georg [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Teilinstitut Greifswald, Wendelsteinstrasse 1, D-17491 Greifswald (Germany)], E-mail: kuehner@ipp.mpg.de; Bluhm, Torsten [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Teilinstitut Greifswald, Wendelsteinstrasse 1, D-17491 Greifswald (Germany); Heimann, Peter [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Boltzmannstrasse 2, D-85748 Garching (Germany); Hennig, Christine [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Teilinstitut Greifswald, Wendelsteinstrasse 1, D-17491 Greifswald (Germany); Kroiss, Hugo [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Boltzmannstrasse 2, D-85748 Garching (Germany); Krueger, Alexander [University of Applied Sciences, Schwedenschanze 135, 18435 Stralsund (Germany); Laqua, Heike; Lewerentz, Marc [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Teilinstitut Greifswald, Wendelsteinstrasse 1, D-17491 Greifswald (Germany); Maier, Josef [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Boltzmannstrasse 2, D-85748 Garching (Germany); Riemann, Heike; Schacht, Joerg; Spring, Anett; Werner, Andreas [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Teilinstitut Greifswald, Wendelsteinstrasse 1, D-17491 Greifswald (Germany); Zilker, Manfred [Max-Planck-Institut fuer Plasmaphysik, EURATOM Association, Boltzmannstrasse 2, D-85748 Garching (Germany)

    2009-06-15

    The stellarator W7X is a large complex experiment designed for continuous operation and planned to be operated for about 20 years. Software support is highly demanded for experiment preparation, operation and data analysis which in turn induces serious non-functional requirements on the software quality like, e.g.: {center_dot}high availability, stability, maintainability vs. {center_dot}high flexibility concerning change of functionality, technology, personnel {center_dot}high versatility concerning the scale of system size and performance These challenges are best met by exploiting industrial experience in quality management and assurance (QM/QA), e.g. focusing on top-down development methods, developing an integral functional system model, using UML as a diagramming standard, building vertical prototypes, support for distributed development, etc., which have been used for W7X, however on an 'as necessary' basis. Proceeding in this manner gave significant results for control, data acquisition, corresponding database-structures and user applications over many years. As soon as production systems started using the software in the labs or on a prototype the development activity demanded to be organized in a more rigorous process mainly to provide stable operation conditions. Thus a process improvement activity was started for stepwise introduction of quality assuring processes with tool support taking standards like CMMI, ISO-15504 (SPICE) as a guideline. Experiences obtained so far will be reported. We conclude software engineering and quality assurance has to be an integral part of systems engineering right from the beginning of projects and be organized according to industrial standards to be prepared for the challenges of nuclear fusion research.

  17. Interaction between systems and software engineering in safety-critical systems

    Knight, J.

    1994-01-01

    There are three areas of concern: when is software to be considered safe; what, exactly, is the role of the software engineer; and how do systems, or sometimes applications, engineers and software engineers interact with each other. The author presents his perspective on these questions which he feels differ from those of many in the field. He argues for a clear definition of safety in the software arena, so the engineer knows what he is engineering toward. Software must be viewed as part of the entire system, since it does not function on its own, or isolation. He argues for the establishment of clear specifications in this area

  18. TRITON: graphic software for rational engineering of enzymes.

    Damboský, J; Prokop, M; Koca, J

    2001-01-01

    Engineering of the catalytic properties of enzymes requires knowledge about amino acid residues interacting with the transition state of the substrate. TRITON is a graphic software package for modelling enzymatic reactions for the analysis of essential interactions between the enzyme and its substrate and for in silico construction of protein mutants. The reactions are modelled using semi-empirical quantum-mechanic methods and the protein mutants are constructed by homology modelling. The users are guided through the calculation and data analysis by wizards.

  19. The study on network security based on software engineering

    Jia, Shande; Ao, Qian

    2012-04-01

    Developing a SP is a sensitive task because the SP itself can lead to security weaknesses if it is not conform to the security properties. Hence, appropriate techniques are necessary to overcome such problems. These techniques must accompany the policy throughout its deployment phases. The main contribution of this paper is then, the proposition of three of these activities: validation, test and multi-SP conflict management. Our techniques are inspired by the well established techniques of the software engineering for which we have found some similarities with the security domain.

  20. Towards Multi-Method Research Approach in Empirical Software Engineering

    Mandić, Vladimir; Markkula, Jouni; Oivo, Markku

    This paper presents results of a literature analysis on Empirical Research Approaches in Software Engineering (SE). The analysis explores reasons why traditional methods, such as statistical hypothesis testing and experiment replication are weakly utilized in the field of SE. It appears that basic assumptions and preconditions of the traditional methods are contradicting the actual situation in the SE. Furthermore, we have identified main issues that should be considered by the researcher when selecting the research approach. In virtue of reasons for weak utilization of traditional methods we propose stronger use of Multi-Method approach with Pragmatism as the philosophical standpoint.

  1. COTS-based OO-component approach for software inter-operability and reuse (software systems engineering methodology)

    Yin, J.; Oyaki, A.; Hwang, C.; Hung, C.

    2000-01-01

    The purpose of this research and study paper is to provide a summary description and results of rapid development accomplishments at NASA/JPL in the area of advanced distributed computing technology using a Commercial-Off--The-Shelf (COTS)-based object oriented component approach to open inter-operable software development and software reuse.

  2. DAE Tools: equation-based object-oriented modelling, simulation and optimisation software

    Dragan D. Nikolić

    2016-04-01

    Full Text Available In this work, DAE Tools modelling, simulation and optimisation software, its programming paradigms and main features are presented. The current approaches to mathematical modelling such as the use of modelling languages and general-purpose programming languages are analysed. The common set of capabilities required by the typical simulation software are discussed, and the shortcomings of the current approaches recognised. A new hybrid approach is introduced, and the modelling languages and the hybrid approach are compared in terms of the grammar, compiler, parser and interpreter requirements, maintainability and portability. The most important characteristics of the new approach are discussed, such as: (1 support for the runtime model generation; (2 support for the runtime simulation set-up; (3 support for complex runtime operating procedures; (4 interoperability with the third party software packages (i.e. NumPy/SciPy; (5 suitability for embedding and use as a web application or software as a service; and (6 code-generation, model exchange and co-simulation capabilities. The benefits of an equation-based approach to modelling, implemented in a fourth generation object-oriented general purpose programming language such as Python are discussed. The architecture and the software implementation details as well as the type of problems that can be solved using DAE Tools software are described. Finally, some applications of the software at different levels of abstraction are presented, and its embedding capabilities and suitability for use as a software as a service is demonstrated.

  3. Decision Engines for Software Analysis Using Satisfiability Modulo Theories Solvers

    Bjorner, Nikolaj

    2010-01-01

    The area of software analysis, testing and verification is now undergoing a revolution thanks to the use of automated and scalable support for logical methods. A well-recognized premise is that at the core of software analysis engines is invariably a component using logical formulas for describing states and transformations between system states. The process of using this information for discovering and checking program properties (including such important properties as safety and security) amounts to automatic theorem proving. In particular, theorem provers that directly support common software constructs offer a compelling basis. Such provers are commonly called satisfiability modulo theories (SMT) solvers. Z3 is a state-of-the-art SMT solver. It is developed at Microsoft Research. It can be used to check the satisfiability of logical formulas over one or more theories such as arithmetic, bit-vectors, lists, records and arrays. The talk describes some of the technology behind modern SMT solvers, including the solver Z3. Z3 is currently mainly targeted at solving problems that arise in software analysis and verification. It has been applied to various contexts, such as systems for dynamic symbolic simulation (Pex, SAGE, Vigilante), for program verification and extended static checking (Spec#/Boggie, VCC, HAVOC), for software model checking (Yogi, SLAM), model-based design (FORMULA), security protocol code (F7), program run-time analysis and invariant generation (VS3). We will describe how it integrates support for a variety of theories that arise naturally in the context of the applications. There are several new promising avenues and the talk will touch on some of these and the challenges related to SMT solvers. Proceedings

  4. Software for Preprocessing Data from Rocket-Engine Tests

    Cheng, Chiu-Fu

    2004-01-01

    Three computer programs have been written to preprocess digitized outputs of sensors during rocket-engine tests at Stennis Space Center (SSC). The programs apply exclusively to the SSC E test-stand complex and utilize the SSC file format. The programs are the following: Engineering Units Generator (EUGEN) converts sensor-output-measurement data to engineering units. The inputs to EUGEN are raw binary test-data files, which include the voltage data, a list identifying the data channels, and time codes. EUGEN effects conversion by use of a file that contains calibration coefficients for each channel. QUICKLOOK enables immediate viewing of a few selected channels of data, in contradistinction to viewing only after post-test processing (which can take 30 minutes to several hours depending on the number of channels and other test parameters) of data from all channels. QUICKLOOK converts the selected data into a form in which they can be plotted in engineering units by use of Winplot (a free graphing program written by Rick Paris). EUPLOT provides a quick means for looking at data files generated by EUGEN without the necessity of relying on the PV-WAVE based plotting software.

  5. Improving Software Developer's Competence

    Abrahamsson, Pekka; Kautz, Karlheinz; Sieppi, Heikki

    2002-01-01

    Emerging agile software development methods are people oriented development approaches to be used by the software industry. The personal software process (PSP) is an accepted method for improving the capabilities of a single software engineer. Five original hypotheses regarding the impact...

  6. The classification and evaluation of Computer-Aided Software Engineering tools

    Manley, Gary W.

    1990-01-01

    Approved for public release; distribution unlimited. The use of Computer-Aided Software Engineering (CASE) tools has been viewed as a remedy for the software development crisis by achieving improved productivity and system quality via the automation of all or part of the software engineering process. The proliferation and tremendous variety of tools available have stretched the understanding of experienced practitioners and has had a profound impact on the software engineering process itse...

  7. A Petri Net-Based Software Process Model for Developing Process-Oriented Information Systems

    Li, Yu; Oberweis, Andreas

    Aiming at increasing flexibility, efficiency, effectiveness, and transparency of information processing and resource deployment in organizations to ensure customer satisfaction and high quality of products and services, process-oriented information systems (POIS) represent a promising realization form of computerized business information systems. Due to the complexity of POIS, explicit and specialized software process models are required to guide POIS development. In this chapter we characterize POIS with an architecture framework and present a Petri net-based software process model tailored for POIS development with consideration of organizational roles. As integrated parts of the software process model, we also introduce XML nets, a variant of high-level Petri nets as basic methodology for business processes modeling, and an XML net-based software toolset providing comprehensive functionalities for POIS development.

  8. Improving collaborative learning in online software engineering education

    Neill, Colin J.; DeFranco, Joanna F.; Sangwan, Raghvinder S.

    2017-11-01

    Team projects are commonplace in software engineering education. They address a key educational objective, provide students critical experience relevant to their future careers, allow instructors to set problems of greater scale and complexity than could be tackled individually, and are a vehicle for socially constructed learning. While all student teams experience challenges, those in fully online programmes must also deal with remote working, asynchronous coordination, and computer-mediated communications all of which contribute to greater social distance between team members. We have developed a facilitation framework to aid team collaboration and have demonstrated its efficacy, in prior research, with respect to team performance and outcomes. Those studies indicated, however, that despite experiencing improved project outcomes, students working in effective software engineering teams did not experience significantly improved individual achievement. To address this deficiency we implemented theoretically grounded refinements to the collaboration model based upon peer-tutoring research. Our results indicate a modest, but statistically significant (p = .08), improvement in individual achievement using this refined model.

  9. The Future of Software Engineering for High Performance Computing

    Pope, G [Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)

    2015-07-16

    DOE ASCR requested that from May through mid-July 2015 a study group identify issues and recommend solutions from a software engineering perspective transitioning into the next generation of High Performance Computing. The approach used was to ask some of the DOE complex experts who will be responsible for doing this work to contribute to the study group. The technique used was to solicit elevator speeches: a short and concise write up done as if the author was a speaker with only a few minutes to convince a decision maker of their top issues. Pages 2-18 contain the original texts of the contributed elevator speeches and end notes identifying the 20 contributors. The study group also ranked the importance of each topic, and those scores are displayed with each topic heading. A perfect score (and highest priority) is three, two is medium priority, and one is lowest priority. The highest scoring topic areas were software engineering and testing resources; the lowest scoring area was compliance to DOE standards. The following two paragraphs are an elevator speech summarizing the contributed elevator speeches. Each sentence or phrase in the summary is hyperlinked to its source via a numeral embedded in the text. A risk one liner has also been added to each topic to allow future risk tracking and mitigation.

  10. Using genetic markers to orient the edges in quantitative trait networks: the NEO software.

    Aten, Jason E; Fuller, Tova F; Lusis, Aldons J; Horvath, Steve

    2008-04-15

    Systems genetic studies have been used to identify genetic loci that affect transcript abundances and clinical traits such as body weight. The pairwise correlations between gene expression traits and/or clinical traits can be used to define undirected trait networks. Several authors have argued that genetic markers (e.g expression quantitative trait loci, eQTLs) can serve as causal anchors for orienting the edges of a trait network. The availability of hundreds of thousands of genetic markers poses new challenges: how to relate (anchor) traits to multiple genetic markers, how to score the genetic evidence in favor of an edge orientation, and how to weigh the information from multiple markers. We develop and implement Network Edge Orienting (NEO) methods and software that address the challenges of inferring unconfounded and directed gene networks from microarray-derived gene expression data by integrating mRNA levels with genetic marker data and Structural Equation Model (SEM) comparisons. The NEO software implements several manual and automatic methods for incorporating genetic information to anchor traits. The networks are oriented by considering each edge separately, thus reducing error propagation. To summarize the genetic evidence in favor of a given edge orientation, we propose Local SEM-based Edge Orienting (LEO) scores that compare the fit of several competing causal graphs. SEM fitting indices allow the user to assess local and overall model fit. The NEO software allows the user to carry out a robustness analysis with regard to genetic marker selection. We demonstrate the utility of NEO by recovering known causal relationships in the sterol homeostasis pathway using liver gene expression data from an F2 mouse cross. Further, we use NEO to study the relationship between a disease gene and a biologically important gene co-expression module in liver tissue. The NEO software can be used to orient the edges of gene co-expression networks or quantitative trait

  11. The mythical man-month essays on software engineering

    Brooks, Frederick Phillips

    1995-01-01

    Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time. The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achi...

  12. Perspectives on the future of software engineering essays in honor of Dieter Rombach

    Münch, Jürgen

    2013-01-01

    The dependence on quality software in all areas of life is what makes software engineering a key discipline for today's society. Thus, over the last few decades it has been increasingly recognized that it is particularly important to demonstrate the value of software engineering methods in real-world environments, a task which is the focus of empirical software engineering. One of the leading protagonists of this discipline worldwide is Prof. Dr. Dr. h.c. Dieter Rombach, who dedicated his entire career to empirical software engineering. For his many important contributions to the field he has

  13. Solution Proposals for Japan-Oriented Offshore Software Development in China

    Zhang, Lei; Zhang, Xuan; Chai, Meiping; Tan, Yibing; Miyake, Shigeru; Taniguchi, Yoji; Hosoya, Jun; Mibe, Ryota

    Surveys on the Japan-oriented vendors in China were conducted twice to find out the existent problems in the Japan-oriented offshore software development. From these survey results, four main problems were found out, which were the frequent requirement changes from the product owner, the misunderstanding of the requirement specification in the vendor side, the heavy overhead of the project management and the low-efficiency communication between the product owner and the vendor. Several solutions are proposed to solve these four problems, which mainly consist of the improvement of the offshore software development process and the development of the offshore development supporting tools. The proposed offshore development process is based on the application of the prototype development, the iteration development and the customer test driven development processes. The proposed offshore development supporting tools include the project management assistant tool and the communication assistant tool.

  14. BC Hydro experiences the power of engineering document management software

    Wilkins, A.

    2000-01-01

    The recent popularity of electronic document management software (EDMS), specifically designed for engineering CAD/CAM drawings that holds the promise of reducing paper-pushing and freeing up organizational resources for more productive purposes, is discussed. To illustrate how such systems function, a document management system installed at BC Hydro, with over 2,500 users in two main engineering groups is described. The new system - FileNET - replaces several older systems that have been used as stand-alone systems in various divisions of BC Hydro for some time. Instead of integrating the entire file of some 750,000 documents, the new system has complete records of some 70,000 of the most recent CAD drawings and an on-line index to the older file that is used less frequently. Access to the entire storehouse of drawings is said to be fast, efficient and secure. Automated document control procedures during work-in-progress, viewing, redlining capabilities, seamless integration with CAD tools and Web access to drawings from anywhere within the two engineering divisions, are some of the most noteworthy characteristics of the new system. It does not completely replace paper, but it does promise significant streamlining of the paper handling function. It also ensures that BC Hydro's central computer is the prime repository of all documents and drawings, and that this valuable record of environmental. legal, regulatory and other public policy importance is instantly available, without the need to handle paper

  15. Shaping Software Engineering Curricula Using Open Source Communities: A Case Study

    Bowring, James; Burke, Quinn

    2016-01-01

    This paper documents four years of a novel approach to teaching a two-course sequence in software engineering as part of the ABET-accredited computer science curriculum at the College of Charleston. This approach is team-based and centers on learning software engineering in the context of open source software projects. In the first course, teams…

  16. ROLE OF COMPUTER ORIENTED LABORATORY TRAINING COURSE IN PHYSICS FOR DEVELOPMENT OF KEY COMPETENCES OF FUTURE ENGINEERS

    Iryna Slipukhina

    2014-06-01

    Full Text Available In the article the features of the core competencies, which are formed in the course study of Physics at the Technical University are described. Some features and examples of the use of computer-oriented laboratory work for the formation of technological competencies engineering students are highlighted. Definitely possible elements of interactive content notebook integrated with software analysis of the experimental data.

  17. The Implementation of Satellite Control System Software Using Object Oriented Design

    Anderson, Mark O.; Reid, Mark; Drury, Derek; Hansell, William; Phillips, Tom

    1998-01-01

    NASA established the Small Explorer (SMEX) program in 1988 to provide frequent opportunities for highly focused and relatively inexpensive space science missions that can be launched into low earth orbit by small expendable vehicles. The development schedule for each SMEX spacecraft was three years from start to launch. The SMEX program has produced five satellites; Solar Anomalous and Magnetospheric Particle Explorer (SAMPEX), Fast Auroral Snapshot Explorer (FAST), Submillimeter Wave Astronomy Satellite (SWAS), Transition Region and Coronal Explorer (TRACE) and Wide-Field Infrared Explorer (WIRE). SAMPEX and FAST are on-orbit, TRACE is scheduled to be launched in April of 1998, WIRE is scheduled to be launched in September of 1998, and SWAS is scheduled to be launched in January of 1999. In each of these missions, the Attitude Control System (ACS) software was written using a modular procedural design. Current program goals require complete spacecraft development within 18 months. This requirement has increased pressure to write reusable flight software. Object-Oriented Design (OOD) offers the constructs for developing an application that only needs modification for mission unique requirements. This paper describes the OOD that was used to develop the SMEX-Lite ACS software. The SMEX-Lite ACS is three-axis controlled, momentum stabilized, and is capable of performing sub-arc-minute pointing. The paper first describes the high level requirements which governed the architecture of the SMEX-Lite ACS software. Next, the context in which the software resides is explained. The paper describes the benefits of encapsulation, inheritance and polymorphism with respect to the implementation of an ACS software system. This paper will discuss the design of several software components that comprise the ACS software. Specifically, Object-Oriented designs are presented for sensor data processing, attitude control, attitude determination and failure detection. The paper addresses

  18. APERO, AN OPEN SOURCE BUNDLE ADJUSMENT SOFTWARE FOR AUTOMATIC CALIBRATION AND ORIENTATION OF SET OF IMAGES

    M. Pierrot Deseilligny

    2012-09-01

    Full Text Available IGN has developed a set of photogrammetric tools, APERO and MICMAC, for computing 3D models from set of images. This software, developed initially for its internal needs are now delivered as open source code. This paper focuses on the presentation of APERO the orientation software. Compared to some other free software initiatives, it is probably more complex but also more complete, its targeted user is rather professionals (architects, archaeologist, geomophologist than people. APERO uses both computer vision approach for estimation of initial solution and photogrammetry for a rigorous compensation of the total error; it has a large library of parametric model of distortion allowing a precise modelization of all the kind of pinhole camera we know, including several model of fish-eye; there is also several tools for geo-referencing the result. The results are illustrated on various application, including the data-set of 3D-Arch workshop.

  19. Interactive scalable condensation of reverse engineered UML class diagrams for software comprehension

    Osman, Mohd Hafeez Bin

    2015-01-01

    Software design documentation is a valuable aid in software comprehension. However, keeping the software design up-to-date with evolving source code is challenging and time-consuming. Reverse engineering is one of the options for recovering software architecture from the implementation code.

  20. A Role-Playing Game for a Software Engineering Lab: Developing a Product Line

    Zuppiroli, Sara; Ciancarini, Paolo; Gabbrielli, Maurizio

    2012-01-01

    Software product line development refers to software engineering practices and techniques for creating families of similar software systems from a basic set of reusable components, called shared assets. Teaching how to deal with software product lines in a university lab course is a challenging task, because there are several practical issues that…

  1. RICIS Software Engineering 90 Symposium: Aerospace Applications and Research Directions Proceedings Appendices

    1990-01-01

    Papers presented at RICIS Software Engineering Symposium are compiled. The following subject areas are covered: flight critical software; management of real-time Ada; software reuse; megaprogramming software; Ada net; POSIX and Ada integration in the Space Station Freedom Program; and assessment of formal methods for trustworthy computer systems.

  2. Software Packages to Support Electrical Engineering Virtual Lab

    Manuel Travassos Valdez

    2012-03-01

    Full Text Available The use of Virtual Reality Systems (VRS, as a learning aid, encourages the creation of tools that allow users/students to simulate educational environments on a computer. This article presents a way of building a VRS system with Software Packages to support Electrical Engineering Virtual Laboratories to be used in a near future in the teaching of the curriculum unit of Circuit Theory. The steps required for the construction of a project are presented in this paper. The simulation is still under construction and intends to use a three-dimensional virtual environment laboratory electric measurement, which will allow users/students to experiment and test the modeled equipment. Therefore, there are still no links available for further examination. The result may demonstrate the future potential of applications of Virtual Reality Systems as an efficient and cost-effective learning system.

  3. Repository-based software engineering program: Concept document

    1992-01-01

    This document provides the context for Repository-Based Software Engineering's (RBSE's) evolving functional and operational product requirements, and it is the parent document for development of detailed technical and management plans. When furnished, requirements documents will serve as the governing RBSE product specification. The RBSE Program Management Plan will define resources, schedules, and technical and organizational approaches to fulfilling the goals and objectives of this concept. The purpose of this document is to provide a concise overview of RBSE, describe the rationale for the RBSE Program, and define a clear, common vision for RBSE team members and customers. The document also provides the foundation for developing RBSE user and system requirements and a corresponding Program Management Plan. The concept is used to express the program mission to RBSE users and managers and to provide an exhibit for community review.

  4. Autonomous Cryogenics Loading Operations Simulation Software: Knowledgebase Autonomous Test Engineer

    Wehner, Walter S., Jr.

    2013-01-01

    Working on the ACLO (Autonomous Cryogenics Loading Operations) project I have had the opportunity to add functionality to the physics simulation software known as KATE (Knowledgebase Autonomous Test Engineer), create a new application allowing WYSIWYG (what-you-see-is-what-you-get) creation of KATE schematic files and begin a preliminary design and implementation of a new subsystem that will provide vision services on the IHM (Integrated Health Management) bus. The functionality I added to KATE over the past few months includes a dynamic visual representation of the fluid height in a pipe based on number of gallons of fluid in the pipe and implementing the IHM bus connection within KATE. I also fixed a broken feature in the system called the Browser Display, implemented many bug fixes and made changes to the GUI (Graphical User Interface).

  5. On the Pragmatic Design of Literature Studies in Software Engineering

    Kuhrmann, Marco; Méndez Fernández, Daniel; Daneva, Maya

    2017-01-01

    Systematic literature studies have received much attention in empirical software engineering in recent years. They have become a powerful tool to collect and structure reported knowledge in a systematic and reproducible way. We distinguish systematic literature reviews to systematically analyze...... of publications, which need to be screened, rated for relevance, classified, and eventually analyzed. Although there are several guidelines to conduct literature studies, they do not yet help researchers coping with the specific difficulties encountered in the practical application of these guidelines....... In this article, we present an experience-based guideline to aid researchers in designing systematic literature studies with special emphasis on the data collection and selection procedures. Our guideline aims at providing a blueprint for a practical and pragmatic path through the plethora of currently available...

  6. Software Engineering Research/Developer Collaborations (C104)

    Shell, Elaine; Shull, Forrest

    2005-01-01

    The goal of this collaboration was to produce Flight Software Branch (FSB) process standards for software inspections which could be used across three new missions within the FSB. The standard was developed by Dr. Forrest Shull (Fraunhofer Center for Experimental Software Engineering, Maryland) using the Perspective-Based Inspection approach, (PBI research has been funded by SARP) , then tested on a pilot Branch project. Because the short time scale of the collaboration ruled out a quantitative evaluation, it would be decided whether the standard was suitable for roll-out to other Branch projects based on a qualitative measure: whether the standard received high ratings from Branch personnel as to usability and overall satisfaction. The project used for piloting the Perspective-Based Inspection approach was a multi-mission framework designed for reuse. This was a good choice because key representatives from the three new missions would be involved in the inspections. The perspective-based approach was applied to produce inspection procedures tailored for the specific quality needs of the branch. The technical information to do so was largely drawn through a series of interviews with Branch personnel. The framework team used the procedures to review requirements. The inspections were useful for indicating that a restructuring of the requirements document was needed, which led to changes in the development project plan. The standard was sent out to other Branch personnel for review. Branch personnel were very positive. However, important changes were identified because the perspective of Attitude Control System (ACS) developers had not been adequately represented, a result of the specific personnel interviewed. The net result is that with some further work to incorporate the ACS perspective, and in synchrony with the roll out of independent Branch standards, the PBI approach will be implemented in the FSB. Also, the project intends to continue its collaboration with

  7. Software Engineering and eLearning: The MuSofT Project - www.musoft.org

    Ernst-Erich Doberkat

    2005-12-01

    Full Text Available eLearning supports the education in certain disciplines. Here, we report about novel eLearning concepts, techniques, and tools to support education in Software Engineering, a subdiscipline of computer science. We call this "Software Engineering eLearning". On the other side, software support is a substantial prerequisite for eLearning in any discipline. Thus, Software Engineering techniques have to be applied to develop and maintain those software systems. We call this "eLearning Software Engineering". Both aspects have been investigated in a large joint, BMBF-funded research project, termed MuSofT (Multimedia in Software Engineering. The main results are summarized in this paper.

  8. RICIS Software Engineering 90 Symposium: Aerospace Applications and Research Directions Proceedings

    1990-01-01

    Papers presented at RICIS Software Engineering Symposium are compiled. The following subject areas are covered: synthesis - integrating product and process; Serpent - a user interface management system; prototyping distributed simulation networks; and software reuse.

  9. Overcoming public speaking anxiety of software engineers using virtual reality exposure therapy.

    Nazligul, Merve Denizc; Yilmaz, Murat; Gulec, Ulas; Ali Gozcu, Mert; O'Connor, Rory; Clarke, Paul

    2017-01-01

    Public speaking anxiety is a type of social phobia, which might be commonly seen in novice software engineers. It is usually triggered by a fear of social performance especially when the performer is unfamiliar with the audience. Today, many software engineering activities (e.g. code inspection, peer review, daily meetings, etc.) require social gatherings where individuals need to present their work. However, novice software engineers may not be able to reduce their performance anxiety during...

  10. Quality of Design, Analysis and Reporting of Software Engineering Experiments:A Systematic Review

    By Kampenes, Vigdis

    2007-01-01

    Background: Like any research discipline, software engineering research must be of a certain quality to be valuable. High quality research in software engineering ensures that knowledge is accumulated and helpful advice is given to the industry. One way of assessing research quality is to conduct systematic reviews of the published research literature. Objective: The purpose of this work was to assess the quality of published experiments in software engineering with respect to the validit...

  11. State of the Art : Integrated Management of Requirements in Model-Based Software Engineering

    Thörn, Christer

    2006-01-01

    This report describes the background and future of research concerning integrated management of requirements in model-based software engineering. The focus is on describing the relevant topics and existing theoretical backgrounds that form the basis for the research. The report describes the fundamental difficulties of requirements engineering for software projects, and proposes that the results and methods of models in software engineering can help leverage those problems. Taking inspiration...

  12. Sandia National Laboratories Advanced Simulation and Computing (ASC) software quality plan : ASC software quality engineering practices Version 3.0.

    Turgeon, Jennifer L.; Minana, Molly A.; Hackney, Patricia; Pilch, Martin M.

    2009-01-01

    The purpose of the Sandia National Laboratories (SNL) Advanced Simulation and Computing (ASC) Software Quality Plan is to clearly identify the practices that are the basis for continually improving the quality of ASC software products. Quality is defined in the US Department of Energy/National Nuclear Security Agency (DOE/NNSA) Quality Criteria, Revision 10 (QC-1) as 'conformance to customer requirements and expectations'. This quality plan defines the SNL ASC Program software quality engineering (SQE) practices and provides a mapping of these practices to the SNL Corporate Process Requirement (CPR) 001.3.6; 'Corporate Software Engineering Excellence'. This plan also identifies ASC management's and the software project teams responsibilities in implementing the software quality practices and in assessing progress towards achieving their software quality goals. This SNL ASC Software Quality Plan establishes the signatories commitments to improving software products by applying cost-effective SQE practices. This plan enumerates the SQE practices that comprise the development of SNL ASC's software products and explains the project teams opportunities for tailoring and implementing the practices.

  13. Student goal orientation in learning inquiry skills with modifiable software advisors

    Shimoda, Todd Adrian

    A computer support environment (SCI-WISE) for learning and doing inquiry was designed. The system incorporates software advisors that give task completion advice (eg., forming hypotheses), general purpose advice (e.g., brainstorming), or system modification advice. Advisors' knowledge includes concepts, strategies, examples, referrals to other advisors, and criteria for evaluating good products and skills. Students using SCI-WISE can select the advisors' advice type (specific, general, or hints), and when advisors give advice (anytime, alert, or ask). Students can also modify the advisors' knowledge. The system is designed partly on a theoretical framework that assumes giving students higher levels of agency will facilitate higher-level goal orientation (such as knowledge-building) and produce higher levels of competence. In two studies of sixth graders, science students took a pretest of an open-ended inquiry question and a questionnaire that measured their goal orientations. The students worked in pairs on an inquiry project about memory, using one of two versions of SCI-WISE, one modifiable and one not modifiable. After finishing the project, the students took a posttest similar to the pretest, and evaluated the system. The main hypotheses predicted that knowledge-oriented students using the modifiable version would rate the system higher, use it more effectively, and do better on the inquiry posttest than task-oriented students. The results supported many of the hypotheses generated from the theoretical framework. Knowledge-oriented students tended to rate SCI-WISE higher, use more general purpose and system development advisors, and select more general advice and hints than task-oriented students. On the posttest inquiry test, students with higher goal orientations scored higher on average, particularly when paired with another knowledge oriented student. The studies also showed that goal orientation was not correlated with grade point average. Finally, the

  14. A View on a Successful International Educational Project in Software Engineering

    Zoran Budimac

    2012-01-01

    Full Text Available In this paper, a successful and fruitful joint project will be presented. The project joins participants from 9 countries and from 15 universities. Since it started in 2001, this project entitled “Software Engineering: Computer Science Education and Research Cooperation” helped participants to gain excellent, up to date educational material, apply modern teaching methods, exchange experiences with other participants, and work jointly on the further development of lectures, case-studies, assignments, examination questions, and other necessary elements of a course. Project works under auspices of Stability Pact of South-Eastern Europe, and is supported by DAAD. The project started with the creation of a common beginning course in “Software Engineering”, but over time it grew and the number of other courses was developed. Finished almost completely are the courses in “Object-oriented programming”, “Software Project Management”, “Advanced Compiler Construction”, and “Data Structures and Algorithms”, and some other courses are under development. Aside from the educational collaboration, project members also developed good scientific cooperation, and published several research papers.

  15. Research on Visualization Design Method in the Field of New Media Software Engineering

    Deqiang, Hu

    2018-03-01

    In the new period of increasingly developed science and technology, with the increasingly fierce competition in the market and the increasing demand of the masses, new design and application methods have emerged in the field of new media software engineering, that is, the visualization design method. Applying the visualization design method to the field of new media software engineering can not only improve the actual operation efficiency of new media software engineering but more importantly the quality of software development can be enhanced by means of certain media of communication and transformation; on this basis, the progress and development of new media software engineering in China are also continuously promoted. Therefore, the application of visualization design method in the field of new media software engineering is analysed concretely in this article from the perspective of the overview of visualization design methods and on the basis of systematic analysis of the basic technology.

  16. Video Games and Software Engineers : Designing a study based on the benefits from Video Games and how they can improve Software Engineers

    Cosic Prica, Srdjan

    2017-01-01

    Context: This is a study about investigating if playing video games can improve any skills and characteristics in a software engineer. Due to lack of resources and time, this study will focus on designing a study that others may use to measure the results and if video games actually can improve software engineers. Objectives: The main objectives are finding the benefits of playing video games and how those benefits are discovered. Meaning what types of games and for how long someone needs to ...

  17. Advanced software development workstation. Comparison of two object-oriented development methodologies

    Izygon, Michel E.

    1992-01-01

    This report is an attempt to clarify some of the concerns raised about the OMT method, specifically that OMT is weaker than the Booch method in a few key areas. This interim report specifically addresses the following issues: (1) is OMT object-oriented or only data-driven?; (2) can OMT be used as a front-end to implementation in C++?; (3) the inheritance concept in OMT is in contradiction with the 'pure and real' inheritance concept found in object-oriented (OO) design; (4) low support for software life-cycle issues, for project and risk management; (5) uselessness of functional modeling for the ROSE project; and (6) problems with event-driven and simulation systems. The conclusion of this report is that both Booch's method and Rumbaugh's method are good OO methods, each with strengths and weaknesses in different areas of the development process.

  18. Software engineering for the EBR-II data acquisition system conversion

    Schorzman, W.

    1988-01-01

    The purpose of this paper is to outline how EBR-II engineering approached the data acquisition system (DAS) software conversion project with the restraints of operational transparency and six weeks for final implementation and testing. Software engineering is a relatively new discipline that provides a structured philosopy for software conversion. The software life cycle is structured into six basic steps: 1) initiation, 2) requirements definition, 3) design, 4) programming, 5) testing, and 6) operations. These steps are loosely defined and can be altered to fit specific software applications. DAS software is encompassed from three sources: 1) custom software, 2) system software, and 3) in-house application software. A data flow structure is used to describe the DAS software. The categories are: 1) software used to bring signals into the central processer, 2) software that transforms the analog data to engineering units and then logs the data in the data store, and 3) software used to transport and display the data. The focus of this paper is to describe how the conversion team used a structured engineering approach and utilized the resources available to produce a quality system on time. Although successful, the conversion process provided some pit falls and stumbling blocks. Working through these obstacles enhanced our understanding and surfaced in the form of LESSONS LEARNED, which are gracefully shared in this paper

  19. An Application-oriented Open Software Platform for Multi-purpose Field Robotics

    Jensen, Kjeld

    that solve simple tasks such as mowing, and automatic tractor steering that navigates through a planned route under the supervision of an operator. The outdoor environment in which the robot operates is often very complex. This places great demands on the robot's ability to perceive the environment and based...... on this behave in a way that is appropriate and productive with respect to the given task while being safe for nearby people, animals and objects. Researchers are challenged by the considerable resources required to develop robot software capable of supporting experiments in such a complex perception...... and behavior. The lack of collaboration between research groups contributes to the problem, the scientific publications describe methods and results from the work, but little software for field robots are released and documented for use by others. The hypothesis of this work is that an application oriented...

  20. Software-based evaluation of toric IOL orientation in a multicenter clinical study.

    Kasthurirangan, Sanjeev; Feuchter, Lucas; Smith, Pamela; Nixon, Donald

    2014-12-01

    To evaluate the rotational stability of a new one-piece hydrophobic acrylic toric intraocular lens (IOL) using a custom-developed software for analysis of slit-lamp photographs. In a prospective, multicenter study, 174 eyes were implanted with the TECNIS Toric IOL (Abbott Medical Optics, Inc., Santa Ana, CA). A custom-developed software was used to analyze high-resolution slit-lamp photographs of 156 eyes taken at day 1 (baseline) and 1, 3, and 6 months postoperatively. The software uses iris and sclera landmarks to align the baseline image and later images for comparison. Validation of software was performed through repeated analyses of protractor images rotated from 0.1° to 10.0° and randomly selected photographs of 20 eyes. Software validation showed precision (repeatability plus reproducibility variation) of 0.02° using protractor images and 2.22° using slit-lamp photographs. Good quality slit-lamp images and clear landmarks were necessary for precise measurements. At 6 months, 94.2% of eyes had 5° or less change in IOL orientation versus baseline; only 2 eyes (1.4%) had axis shift greater than 30°. Most eyes were within 5° or less of rotation between 1 and 3 months (92.9%) and 3 and 6 months (94.1%). Mean absolute axis change (± standard deviation) from 1 day to 6 months was 2.70° ± 5.51°. The new custom software was precise and quick in analyzing slit-lamp photographs to determine postoperative toric IOL rotation. Copyright 2014, SLACK Incorporated.

  1. ROSE: A realtime object oriented software environment for high fidelity replica simulation

    Abramovitch, A.

    1994-01-01

    An object oriented software environment used for the production testing and documentation of real time models for high fidelity training simulators encompasses a wide variety of software constructs including code generators for various classes of physical systems, model executive control programs, a high resolution graphics editor, as well as databases and associated access routines used to store and control information transfer among the various software entities. CAE Electronics' newly developed ROSE allows for the generation and integrated test of thermalhydraulic, analog control, digital control and electrical system models. Based on an iconical/standard subroutine representation of standard plant components along with an admittance matrix solution governed by the topology of the system under consideration, the ROSE blends together network solution algorithms and standard component models, both previously time tested via manual implementation into a single integrated automated software environment. The methodology employed to construct the ROSE, along with a synopsis of the various CASE tools integrated together to form a complete graphics based system for high fidelity real time code generation and validation is described in the presentation. (1 fig.)

  2. Simulation Based Studies in Software Engineering: A Matter of Validity

    Breno Bernard Nicolau de França

    2015-04-01

    Full Text Available Despite the possible lack of validity when compared with other science areas, Simulation-Based Studies (SBS in Software Engineering (SE have supported the achievement of some results in the field. However, as it happens with any other sort of experimental study, it is important to identify and deal with threats to validity aiming at increasing their strength and reinforcing results confidence. OBJECTIVE: To identify potential threats to SBS validity in SE and suggest ways to mitigate them. METHOD: To apply qualitative analysis in a dataset resulted from the aggregation of data from a quasi-systematic literature review combined with ad-hoc surveyed information regarding other science areas. RESULTS: The analysis of data extracted from 15 technical papers allowed the identification and classification of 28 different threats to validity concerned with SBS in SE according Cook and Campbell’s categories. Besides, 12 verification and validation procedures applicable to SBS were also analyzed and organized due to their ability to detect these threats to validity. These results were used to make available an improved set of guidelines regarding the planning and reporting of SBS in SE. CONCLUSIONS: Simulation based studies add different threats to validity when compared with traditional studies. They are not well observed and therefore, it is not easy to identify and mitigate all of them without explicit guidance, as the one depicted in this paper.

  3. Success Factors for Using Case Method in Teaching and Learning Software Engineering

    Razali, Rozilawati; Zainal, Dzulaiha Aryanee Putri

    2013-01-01

    The Case Method (CM) has long been used effectively in Social Science education. Its potential use in Applied Science such as Software Engineering (SE) however has yet to be further explored. SE is an engineering discipline that concerns the principles, methods and tools used throughout the software development lifecycle. In CM, subjects are…

  4. Changes in Transferable Knowledge Resulting from Study in a Graduate Software Engineering Curriculum

    Bareiss, Ray; Sedano, Todd; Katz, Edward

    2012-01-01

    This paper presents the initial results of a study of the evolution of students' knowledge of software engineering from the beginning to the end of a master's degree curriculum in software engineering. Students were presented with a problem involving the initiation of a complex new project at the beginning of the program and again at the end of…

  5. The Impact of Software on Associate Degree Programs in Electronic Engineering Technology.

    Hata, David M.

    1986-01-01

    Assesses the range and extent of computer assisted instruction software available in electronic engineering technology education. Examines the need for software skills in four areas: (1) high-level languages; (2) assembly language; (3) computer-aided engineering; and (4) computer-aided instruction. Outlines strategies for the future in three…

  6. Advanced software development workstation project: Engineering scripting language. Graphical editor

    1992-01-01

    Software development is widely considered to be a bottleneck in the development of complex systems, both in terms of development and in terms of maintenance of deployed systems. Cost of software development and maintenance can also be very high. One approach to reducing costs and relieving this bottleneck is increasing the reuse of software designs and software components. A method for achieving such reuse is a software parts composition system. Such a system consists of a language for modeling software parts and their interfaces, a catalog of existing parts, an editor for combining parts, and a code generator that takes a specification and generates code for that application in the target language. The Advanced Software Development Workstation is intended to be an expert system shell designed to provide the capabilities of a software part composition system.

  7. Continuous software engineering – a microservices architecture perspective

    O'Connor, Rory; Elger, Peter; Clarke, Paul

    2017-01-01

    From its earliest days, software development has been beset with challenges in relation to timely delivery, appropriateness of features and quality of deliverables. Many advances in software development processes have helped to address these concerns. For example, agile software development has helped to deliver working software more frequently and capability maturity frameworks have brought about improved consistency in quality levels. However, the age-old challenge of better, cheaper, faste...

  8. Using UML Modeling to Facilitate Three-Tier Architecture Projects in Software Engineering Courses

    Mitra, Sandeep

    2014-01-01

    This article presents the use of a model-centric approach to facilitate software development projects conforming to the three-tier architecture in undergraduate software engineering courses. Many instructors intend that such projects create software applications for use by real-world customers. While it is important that the first version of these…

  9. Increasing the reliability of ecological models using modern software engineering techniques

    Robert M. Scheller; Brian R. Sturtevant; Eric J. Gustafson; Brendan C. Ward; David J. Mladenoff

    2009-01-01

    Modern software development techniques are largely unknown to ecologists. Typically, ecological models and other software tools are developed for limited research purposes, and additional capabilities are added later, usually in an ad hoc manner. Modern software engineering techniques can substantially increase scientific rigor and confidence in ecological models and...

  10. Glass-based integrated optical splitters: engineering oriented research

    Hao, Yinlei; Zheng, Weiwei; Yang, Jianyi; Jiang, Xiaoqing; Wang, Minghua

    2010-10-01

    Optical splitter is one of most typical device heavily demanded in implementation of Fiber To The Home (FTTH) system. Due to its compatibility with optical fibers, low propagation loss, flexibility, and most distinguishingly, potentially costeffectiveness, glass-based integrated optical splitters made by ion-exchange technology promise to be very attractive in application of optical communication networks. Aiming at integrated optical splitters applied in optical communication network, glass ion-exchange waveguide process is developed, which includes two steps: thermal salts ion-exchange and field-assisted ion-diffusion. By this process, high performance optical splitters are fabricated in specially melted glass substrate. Main performance parameters of these splitters, including maximum insertion loss (IL), polarization dependence loss (PDL), and IL uniformity are all in accordance with corresponding specifications in generic requirements for optic branching components (GR-1209-CORE). In this paper, glass based integrated optical splitters manufacturing is demonstrated, after which, engineering-oriented research work results on glass-based optical splitter are presented.

  11. A Web-based modeling tool for the SEMAT Essence theory of software engineering

    Daniel Graziotin

    2013-09-01

    Full Text Available As opposed to more mature subjects, software engineering lacks general theories that establish its foundations as a discipline. The Essence Theory of software engineering (Essence has been proposed by the Software Engineering Methods and Theory (SEMAT initiative. The goal of Essence is to develop a theoretically sound basis for software engineering practice and its wide adoption. However, Essence is far from reaching academic- and industry-wide adoption. The reasons for this include a struggle to foresee its utilization potential and a lack of tools for implementation. SEMAT Accelerator (SematAcc is a Web-positioning tool for a software engineering endeavor, which implements the SEMAT’s Essence kernel. SematAcc permits the use of Essence, thus helping to understand it. The tool enables the teaching, adoption, and research of Essence in controlled experiments and case studies.

  12. Professional Training in Software Engineering: A Critical Need in the United States

    Jennifer Waldrow

    2012-06-01

    Full Text Available The software is related to almost every aspect of daily life: manufacturing, banking, travel, communications, defense, medicine, research, government, education, entertainment, law ... Is an essential part of military systems and is used in all civilian sectors, including safety and mission critical. Moreover, the complexity of many of these systems has increased exponentially in recent decades and the software has become an essential component for all of them. Unfortunately, the "systems of higher education", in almost all countries have not kept pace with these changes. The current science and engineering programs, both undergraduate and graduate, they need to incorporate more training in Software Engineering. It is especially true in areas such as aerospace engineering, because these systems are highly dependent on computer, information, communications and software. This article presents an analysis of the current situation of the United States in what has to do with software engineering training that receive and require the aerospace engineers.

  13. Proceedings International Workshop on Formal Engineering approaches to Software Components and Architectures

    Kofroň, Jan; Tumova, Jana

    2017-01-01

    These are the proceedings of the 14th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA). The workshop was held on April 22, 2017 in Uppsala (Sweden) as a satellite event to the European Joint Conference on Theory and Practice of Software (ETAPS'17). The aim of the FESCA workshop is to bring together junior researchers from formal methods, software engineering, and industry interested in the development and application of formal modelling ...

  14. Proceedings 10th International Workshop on Formal Engineering Approaches to Software Components and Architectures

    Buhnova, Barbora; Happe, Lucia; Kofroň, Jan

    2013-01-01

    These are the proceedings of the 10th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA). The workshop was held on March 23, 2013 in Rome (Italy) as a satellite event to the European Joint Conference on Theory and Practice of Software (ETAPS'13). The aim of the FESCA workshop is to bring together both young and senior researchers from formal methods, software engineering, and industry interested in the development and application of formal...

  15. A Brief Study of Software Engineering Professional Continuing Education in DoD Acquisition

    2010-04-01

    Lifecycle Processes (IEEE 12207 ) (810) 37% 61% 2% Guide to the Software Engineering Body of K l d (SWEBOK) (804) 67% 31% 2% now e ge Software...Engineering-Software Measurement Process ( ISO /IEC 15939) (797) 55% 44% 2% Capability Maturity Model Integration (806) 17% 81% 2% Six Sigma Process...Improvement (804) 7% 91% 1% ISO 9000 Quality Management Systems (803) 10% 89% 1% 28 Conclusions Significant problem areas R i tequ remen s Management Very

  16. The Ethics of Software Engineering should be an Ethics for the Client

    McBride, Neil

    2012-01-01

    The developing nature of software engineering requires not a revision of an ailing code but a revolution in ethical thinking that acknowledges the purpose and practice of software engineering. Computer systems are designed and implemented to support human purposeful activity. Whether the software is concerned with student enrollment, customer relationship management, or hospital administration, its success lies in the extent to which it enables others to en...

  17. Modeling a distributed environment for a petroleum reservoir engineering application with software product line

    Scheidt, Rafael de Faria; Vilain, Patrícia; Dantas, M A R

    2014-01-01

    Petroleum reservoir engineering is a complex and interesting field that requires large amount of computational facilities to achieve successful results. Usually, software environments for this field are developed without taking care out of possible interactions and extensibilities required by reservoir engineers. In this paper, we present a research work which it is characterized by the design and implementation based on a software product line model for a real distributed reservoir engineering environment. Experimental results indicate successfully the utilization of this approach for the design of distributed software architecture. In addition, all components from the proposal provided greater visibility of the organization and processes for the reservoir engineers

  18. Modeling a distributed environment for a petroleum reservoir engineering application with software product line

    de Faria Scheidt, Rafael; Vilain, Patrícia; Dantas, M. A. R.

    2014-10-01

    Petroleum reservoir engineering is a complex and interesting field that requires large amount of computational facilities to achieve successful results. Usually, software environments for this field are developed without taking care out of possible interactions and extensibilities required by reservoir engineers. In this paper, we present a research work which it is characterized by the design and implementation based on a software product line model for a real distributed reservoir engineering environment. Experimental results indicate successfully the utilization of this approach for the design of distributed software architecture. In addition, all components from the proposal provided greater visibility of the organization and processes for the reservoir engineers.

  19. A system for deduction-based formal verification of workflow-oriented software models

    Klimek Radosław

    2014-12-01

    Full Text Available The work concerns formal verification of workflow-oriented software models using the deductive approach. The formal correctness of a model’s behaviour is considered. Manually building logical specifications, which are regarded as a set of temporal logic formulas, seems to be a significant obstacle for an inexperienced user when applying the deductive approach. A system, along with its architecture, for deduction-based verification of workflow-oriented models is proposed. The process inference is based on the semantic tableaux method, which has some advantages when compared with traditional deduction strategies. The algorithm for automatic generation of logical specifications is proposed. The generation procedure is based on predefined workflow patterns for BPMN, which is a standard and dominant notation for the modeling of business processes. The main idea behind the approach is to consider patterns, defined in terms of temporal logic, as a kind of (logical primitives which enable the transformation of models to temporal logic formulas constituting a logical specification. Automation of the generation process is crucial for bridging the gap between the intuitiveness of deductive reasoning and the difficulty of its practical application when logical specifications are built manually. This approach has gone some way towards supporting, hopefully enhancing, our understanding of deduction-based formal verification of workflow-oriented models.

  20. HiCAT Software Infrastructure: Safe hardware control with object oriented Python

    Moriarty, Christopher; Brooks, Keira; Soummer, Remi

    2018-01-01

    High contrast imaging for Complex Aperture Telescopes (HiCAT) is a testbed designed to demonstrate coronagraphy and wavefront control for segmented on-axis space telescopes such as envisioned for LUVOIR. To limit the air movements in the testbed room, software interfaces for several different hardware components were developed to completely automate operations. When developing software interfaces for many different pieces of hardware, unhandled errors are commonplace and can prevent the software from properly closing a hardware resource. Some fragile components (e.g. deformable mirrors) can be permanently damaged because of this. We present an object oriented Python-based infrastructure to safely automate hardware control and optical experiments. Specifically, conducting high-contrast imaging experiments while monitoring humidity and power status along with graceful shutdown processes even for unexpected errors. Python contains a construct called a “context manager” that allows you define code to run when a resource is opened or closed. Context managers ensure that a resource is properly closed, even when unhandled errors occur. Harnessing the context manager design, we also use Python’s multiprocessing library to monitor humidity and power status without interrupting the experiment. Upon detecting a safety problem, the master process sends an event to the child process that triggers the context managers to gracefully close any open resources. This infrastructure allows us to queue up several experiments and safely operate the testbed without a human in the loop.

  1. Pengembangan Aplikasi Manajemen Pelatihan Laboratorium Software Engineering Di Fakultas Teknik Sistem Komputer

    Faiz Risaludin Islami

    2016-04-01

    Full Text Available System computer engineering of Diponegoro University has a software engineering laboratory fonctioned to provide the learning and training activities in order to give the opportunity for the students, to examine and to apply the theory or the research and the verification scientifical subject study or a part of certain subject study. The probleme emerge in this training is less the information about the training accepted by the society who willing to attend the training at the software engineering laboratory. In propose, to solve all the problemes appear, the writer make a Management Trainee Developement Application System of Software Engineering Laboratory at Faculty of System Computer Engineering gave a complete information about the training and the registration in software engineering laboratory. Management Trainee Application of Software Engineering Laboratory at Faculty of System Computer Engineering is an application based on website, made by using the program language PHP in scope Framework Code Igniter, and also MySQL for database. The developement methode used the waterfall methode, while designing the application used the UML modele. The result from this application is the realization an application based on website which is abble to manage the trainee data in software engineering laboratory, for example to manage the participant training data, the list of training data, the time schedule training data, admin data, the participant traininh data along the completed training History data.

  2. A Comparison Between Five Models Of Software Engineering

    Nabil Mohammed Ali Munassar; A. Govardhan

    2010-01-01

    This research deals with a vital and important issue in computer world. It is concerned with the software management processes that examine the area of software development through the development models, which are known as software development life cycle. It represents five of the development models namely, waterfall, Iteration, V-shaped, spiral and Extreme programming. These models have advantages and disadvantages as well. Therefore, the main objective of this research is to represent diff...

  3. Intelligent Data-Driven Reverse Engineering of Software Design Patterns

    Alhusain, Sultan

    2016-01-01

    Recognising implemented instances of Design Patterns (DPs) in software design discloses and recovers a wealth of information about the intention of the original designers and the rationale for their design decisions. Because it is often the case that the documentation available for software systems, if any, is poor and/or obsolete, recovering such information can be of great help and importance for maintenance tasks. However, since DPs are abstractly and vaguely defined, a set of software cla...

  4. A Phenomena-Oriented Environment for Teaching Process Modeling: Novel Modeling Software and Its Use in Problem Solving.

    Foss, Alan S.; Geurts, Kevin R.; Goodeve, Peter J.; Dahm, Kevin D.; Stephanopoulos, George; Bieszczad, Jerry; Koulouris, Alexandros

    1999-01-01

    Discusses a program that offers students a phenomenon-oriented environment expressed in the fundamental concepts and language of chemical engineering such as mass and energy balancing, phase equilibria, reaction stoichiometry and rate, modes of heat, and species transport. (CCM)

  5. NASA JPL Distributed Systems Technology (DST) Object-Oriented Component Approach for Software Inter-Operability and Reuse

    Hall, Laverne; Hung, Chaw-Kwei; Lin, Imin

    2000-01-01

    The purpose of this paper is to provide a description of NASA JPL Distributed Systems Technology (DST) Section's object-oriented component approach to open inter-operable systems software development and software reuse. It will address what is meant by the terminology object component software, give an overview of the component-based development approach and how it relates to infrastructure support of software architectures and promotes reuse, enumerate on the benefits of this approach, and give examples of application prototypes demonstrating its usage and advantages. Utilization of the object-oriented component technology approach for system development and software reuse will apply to several areas within JPL, and possibly across other NASA Centers.

  6. Embedded and real time system development a software engineering perspective concepts, methods and principles

    Saeed, Saqib; Darwish, Ashraf; Abraham, Ajith

    2014-01-01

    Nowadays embedded and real-time systems contain complex software. The complexity of embedded systems is increasing, and the amount and variety of software in the embedded products are growing. This creates a big challenge for embedded and real-time software development processes and there is a need to develop separate metrics and benchmarks. “Embedded and Real Time System Development: A Software Engineering Perspective: Concepts, Methods and Principles” presents practical as well as conceptual knowledge of the latest tools, techniques and methodologies of embedded software engineering and real-time systems. Each chapter includes an in-depth investigation regarding the actual or potential role of software engineering tools in the context of the embedded system and real-time system. The book presents state-of-the art and future perspectives with industry experts, researchers, and academicians sharing ideas and experiences including surrounding frontier technologies, breakthroughs, innovative solutions and...

  7. Questioning the Role of Requirements Engineering in the Causes of Safety-Critical Software Failures

    Johnson, C. W.; Holloway, C. M.

    2006-01-01

    Many software failures stem from inadequate requirements engineering. This view has been supported both by detailed accident investigations and by a number of empirical studies; however, such investigations can be misleading. It is often difficult to distinguish between failures in requirements engineering and problems elsewhere in the software development lifecycle. Further pitfalls arise from the assumption that inadequate requirements engineering is a cause of all software related accidents for which the system fails to meet its requirements. This paper identifies some of the problems that have arisen from an undue focus on the role of requirements engineering in the causes of major accidents. The intention is to provoke further debate within the emerging field of forensic software engineering.

  8. Engineering Play: Children's Software and the Cultural Politics of Edutainment

    Ito, Mizuko

    2006-01-01

    The late 1980s saw the emergence of a new genre of instructional media, "edutainment", which utilized the capabilities of multimedia personal computers to animate software designed to both educate and entertain young children. This paper describes the production of, marketing of and play with edutainment software as a contemporary example of…

  9. Caesy: A software tool for computer-aided engineering

    Wette, Matt

    1993-01-01

    A new software tool, Caesy, is described. This tool provides a strongly typed programming environment for research in the development of algorithms and software for computer-aided control system design. A description of the user language and its implementation as they currently stand are presented along with a description of work in progress and areas of future work.

  10. An Assessment between Software Development Life Cycle Models of Software Engineering

    Er. KESHAV VERMA; Er. PRAMOD KUMAR; Er. MOHIT KUMAR; Er.GYANESH TIWARI

    2013-01-01

    This research deals with an essential and important subject in Digital world. It is related with the software managing processes that inspect the part of software development during the development models, which are called as software development life cycle. It shows five of the development models namely, waterfall, Iteration, V-shaped, spiral and Extreme programming. These models have advantages and disadvantages as well. So, the main objective of this research is to represent dissimilar mod...

  11. IEEE Computer Society/Software Engineering Institute Software Process Achievement (SPA) Award 2009

    2011-03-01

    capabilities to our GDM. We also introduced software as a service ( SaaS ) as part our technology solutions and have further enhanced our ability to...model PROSPER Infosys production support methodology Q&P quality and productivity R&D research and development SaaS software as a service ... Software Development Life Cycle (SDLC) 23 Table 10: Scientific Estimation Coverage by Service Line 27 CMU/SEI-2011-TR-008 | vi CMU/SEI-2011

  12. Software Engineering Issues for Cyber-Physical Systems

    Al-Jaroodi, Jameela; Mohamed, Nader; Jawhar, Imad

    2016-01-01

    step; however, designing and implementing the right software to integrate and use them effectively is essential. The software facilitates better interfaces, more control and adds smart services, high flexibility and many other added values and features to the CPS. However, software development for CPS......Cyber-Physical Systems (CPS) provide many smart features for enhancing physical processes. These systems are designed with a set of distributed hardware, software, and network components that are embedded in physical systems and environments or attached to humans. Together they function seamlessly...... to offer specific functionalities or features that help enhance human lives, operations or environments. While different CPS components play important roles in a successful CPS development, the software plays the most important role among them. Acquiring and using high quality CPS components is the first...

  13. What does it mean to use a method? Towards a practice theory for software engineering

    Dittrich, Yvonne

    2016-01-01

    Context Methods and processes, along with the tools to support them, are at the heart of software engineering as a discipline. However, as we all know, that often the use of the same method neither impacts software projects in a comparable manner nor the software they result in. What is lacking...... software development and teaching are indicated. Conclusion The theoretical/philosophical concepts allow the explaining of heterogeneity in application of software engineering methods in line with empirical research results....... is an understanding of how methods affect software development. Objective The article develops a set of concepts based on the practice-concept in philosophy of sociology as a base to describe software development as social practice, and develop an understanding of methods and their application that explains...

  14. A handbook of software and systems engineering empirical observations, laws and theories

    Endres, Albert

    2003-01-01

    This book is intended as a handbook for students and practitioners alike. The book is structured around the type of tasks that practitioners are confronted with, beginning with requirements definition and concluding with maintenance and withdrawal. It identifies and discusses existing laws that have a significant impact on the software engineering field. These laws are largely independent of the technologies involved, which allow students to learn the principles underlying software engineering. This also guides students toward the best practice when implementing software engineering techniques.

  15. Re-engineering software systems in the Department of Defense using integrated computer aided software engineering tools

    Jennings, Charles A.

    1992-01-01

    Approved for public release; distribution is unlimited The Department of Defense (DoD) is plagues with severe cost overruns and delays in developing software systems. Existing software within Dod, some developed 15-to 20 years ago, require continual maintenance and modification. Major difficulties arise with maintaining older systems due to cryptic source code and a lack of adequate documentation. To remedy this situation, the DoD, is pursuing the integrated computer aided software engi...

  16. Seven Processes that Enable NASA Software Engineering Technologies

    Housch, Helen; Godfrey, Sally

    2011-01-01

    This slide presentation reviews seven processes that NASA uses to ensure that software is developed, acquired and maintained as specified in the NPR 7150.2A requirement. The requirement is to ensure that all software be appraised for the Capability Maturity Model Integration (CMMI). The enumerated processes are: (7) Product Integration, (6) Configuration Management, (5) Verification, (4) Software Assurance, (3) Measurement and Analysis, (2) Requirements Management and (1) Planning & Monitoring. Each of these is described and the group(s) that are responsible is described.

  17. Software Support of Modelling using Ergonomic Tools in Engineering

    Darina Dupláková

    2017-08-01

    Full Text Available One of the preconditions for correct development of industrial production is continuous interconnecting of virtual reality and real world by computer software. Computer software are used for product modelling, creation of technical documentation, scheduling, management and optimization of manufacturing processes, and efficiency increase of human work in manufacturing plants. This article describes the frequent used ergonomic software which helping to increase of human work by error rate reducing, risks factors of working environment, injury in workplaces and elimination of arising occupational diseases. They are categorized in the field of micro ergonomics and they are applicable at the manufacturing level with flexible approach in solving of established problems.

  18. Software engineering and data management for automated payload experiment tool

    Maddux, Gary A.; Provancha, Anna; Chattam, David

    1994-01-01

    The Microgravity Projects Office identified a need to develop a software package that will lead experiment developers through the development planning process, obtain necessary information, establish an electronic data exchange avenue, and allow easier manipulation/reformatting of the collected information. An MS-DOS compatible software package called the Automated Payload Experiment Tool (APET) has been developed and delivered. The objective of this task is to expand on the results of the APET work previously performed by University of Alabama in Huntsville (UAH) and provide versions of the software in a Macintosh and Windows compatible format. Appendix 1 science requirements document (SRD) Users Manual is attached.

  19. Putting ROSE to Work: A Proposed Application of a Request-Oriented Scheduling Engine for Space Station Operations

    Jaap, John; Muery, Kim

    2000-01-01

    Scheduling engines are found at the core of software systems that plan and schedule activities and resources. A Request-Oriented Scheduling Engine (ROSE) is one that processes a single request (adding a task to a timeline) and then waits for another request. For the International Space Station, a robust ROSE-based system would support multiple, simultaneous users, each formulating requests (defining scheduling requirements), submitting these requests via the internet to a single scheduling engine operating on a single timeline, and immediately viewing the resulting timeline. ROSE is significantly different from the engine currently used to schedule Space Station operations. The current engine supports essentially one person at a time, with a pre-defined set of requirements from many payloads, working in either a "batch" scheduling mode or an interactive/manual scheduling mode. A planning and scheduling process that takes advantage of the features of ROSE could produce greater customer satisfaction at reduced cost and reduced flow time. This paper describes a possible ROSE-based scheduling process and identifies the additional software component required to support it. Resulting changes to the management and control of the process are also discussed.

  20. Comparison of Engine Simulation Software for Development of Control System

    KinYip Chan

    2013-01-01

    Full Text Available Most commonly used commercial engine simulation packages generate detailed estimation of the combustion and gas flow parameters. These parameters are required for advanced research on fluid flow and heat transfer and development of geometries of engine components. However, engine control involves different operating parameters. Various sensors are installed into the engine, the combustion performance is recorded, and data is sent to engine control unit (ECU. ECU computes the new set of parameters to make fine adjustments to actuators providing better engine performance. Such techniques include variable valve timing, variable ignition timing, variable air to fuel ratio, and variable compression ratio. In the present study, two of the commercial packages, Ricardo Wave and Lotus Engine Simulation, have been tested on the capabilities for engine control purposes. These packages are compared with an in-house developed package and with reference results available from the literature. Different numerical experiments have been carried out from which it can be concluded that all packages predict similar profiles of pressure and temperature in the engine cylinder. Moreover, those are in reasonable agreement with the reference results while in-house developed package is possible to run simulations with changing speed for engine control purpose.