...Chapter 1: Why Software Engineering? Learning objectives: After studying this chapter, you should be able to: · Define what is meant by software engineering and describe the differences between computer science and software engineering. · Understand the track record of software engineering. · Identify the characteristics of “good software”. · Define what is meant by a systems approach to building software and understand why a systems approach is important. · Describe how software engineering has changed since the 1970s. Summary: This chapter addresses the track record of software engineering, motivating the reader and highlighting key issues that are examined in later chapters. In particular, the chapter uses Wasserman's key factors to help define software engineering. The chapter also describes the differences between computer science and software engineering and explains some of the major types of problems that can be encountered. The chapter explores the need to take a systems approach to building software. The main emphasis of this chapter is to lay the groundwork for the rest of the book. Software engineers use their knowledge of computers and computing to help solve problems. For problem-solving, software engineering makes use of analysis and synthesis. Software engineers begin investigating a problem by analyzing it, breaking it into pieces that are easier to deal with and understand. Once a problem is analyzed, a solution is synthesized based...
Words: 1130 - Pages: 5
...©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 1 Objectives To explain the main tasks undertaken by project managers To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process To show how graphical schedule representations are used by project management To discuss the notion of risks and the risk management process ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 2 Topics covered Management activities Project planning Project scheduling Risk management ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 3 Software project management Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software. Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 4 Software management distinctions The product is intangible. The product is uniquely flexible. Software engineering is not recognized as an engineering discipline with the sane status as mechanical, electrical engineering, etc. The software development process is not standardised. Many software projects are 'one-off'...
Words: 1741 - Pages: 7
...1. Pankaj Jalote. An Integrated approach to Software Engineering 6th Edition 2. Ghezzi, Jazayeri, Mandrioli “Fundamentals of Software Engineering”, 2/E, Pearson Education, 2002 3. Stephen R Schach “Software Engineering with JAVA”, TMH An Introduction to Software Engineering Let us start with a question : You are given a problem for which you have to build a software system that most students feel will be approximately 10,000 LOC. If your are working full time on it, how long will it take you to build this system ? What could be your answer ??? • • • Perhaps 2 to 3 months What can you say about productivity? If completion time is 2 months, we can say that the productivity is 5000 LOC per person-month Now, let us take an alternative scenario – we act as clients and pose the same problem to a company that is in the business of developing software for clients What would you say about the productivity? it is fair to say a productivity figure of 1,000 LOC per person-month !!!! Why this difference in two scenarios ???? The Problem Domain Student System • • Built to illustrate something or for hobby Not for solving any real problem Solves some problem of some users where larger systems or businesses may depend on the software Where problems in the software can lead to significant direct or indirect loss Industrial Strength Software [P. Jalote] • • Student system versus Industrial Strength Software Usually small in...
Words: 635 - Pages: 3
...Introduction to Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk Somnuk Keretho/Kasetsart University Outline of this presentation • • • • • • Scope of Software Engineering Object-Oriented Software Development Software Process Software Life-Cycle Models Object Orientation Software Quality Assessment Reference to Chapter 1/2/3 of “Software Engineering with JAVA”, S.R. Schach, McGraw-Hill, 1997. Somnuk Keretho/Kasetsart University 2 Scope of Software Engineering • Software engineering is a discipline whose aim is the production of fault-free software, that is delivered on time, within budget, and satisfies the user’s needs. Somnuk Keretho/Kasetsart University 3 Scope of Software Engineering • Historical Aspects: – 1967, a NATO group coined the term “Software Engineering” – 1968 NATO Software Engineering Conference concurred that “Software production should be an engineering-like activity”. – Using philosophies and paradigms of established engineering disciplines to solve “Software Crisis: that the quality of software was generally unacceptably low and that deadlines and cost limits were not being met”. Somnuk Keretho/Kasetsart University 4 Scope of Software Engineering • Economic Aspects – Software Engineering v.s. Computer Science • The computer scientist investigates...
Words: 1590 - Pages: 7
...for people all over the world. One path a person may choose to take is Software Engineering. What exactly is Software Engineering? Software Engineering is the study of development, maintenance and utilization of engineering to the design software. Projects that are larger than others require the system software to be built by a team or teams of engineers. In chapter 1 of Software Engineering Essentials Volume1: The Development Process the topic we discuss is Software Requirements. First, you have to understand what exactly software requirements are. The whole goal of the requirements phase in software development is being able to accurately decide what to build and then being able to document the result properly. All system requirements should be determined before the system design process. System design is the process where you come to the conclusion of which parts of the requirements will be designated to hardware and which to software. If you are not careful, you can easily run into a requirement problem. Not only are requirement problems continual they can be expensive. Requirements errors account for 70 percent to 85 percent of the rework costs on a software project (Wiegers 2003). In the article “Software requirements engineering: what, why, who, when and how”, “If one finds a requirements defect during the requirements phase and it costs one unit to fix (for example, three engineering hours, $500), the cost of fixing that same defect will typically increase...
Words: 959 - Pages: 4
...2011 download.benjaminsommer.com Benjamin Sommer [SOFTWARE ENGINEERING LECTURE NOTES] Brief and detailed notes from lectures held at the Ludwig-Maximilian-University, Faculty of Computer Science in Germany. This document neither claims completeness, nor correctness of the presented topic. Please let me know in case of errors or missing information: contact.benjaminsommer.com [SOFTWARE ENGINEERING LECTURE NOTES] October 21, 2011 OVERVIEW SOFTWARE PROCESSES SOFTWARE PROCESS MODELS PROCESS ACTIVITIES COPING WITH CHANGE THE RATIONAL UNIFIED PROCESS AGILE SOFTWARE DEVELOPMENT AGILE METHODS PLAN-DRIVEN AND AGILE DEVELOPMENT EXTREME PROGRAMMING AGILE PROJECT MANAGEMENT SCALING AGILE METHODS REQUIREMENTS ENGINEERING FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS THE SOFTWARE REQUIREMENTS DOCUMENT REQUIREMENTS SPECIFICATION REQUIREMENTS ENGINEERING PROCESSES REQUIREMENTS ELICITATION AND ANALYSIS REQUIREMENTS VALIDATION REQUIREMENTS MANAGEMENT SYSTEM MODELING CONTEXT MODELS INTERACTION MODELS STRUCTURAL MODELS BEHAVIORAL MODELS MODEL-DRIVEN ENGINEERING ARCHITECTURAL DESIGN ARCHITECTURAL DESIGN DECISIONS ARCHITECTURAL VIEWS ARCHITECTURAL PATTERNS APPLICATION ARCHITECTURES DESIGN AND IMPLEMENTATION OBJECT-ORIENTED DESIGN USING THE UML DESIGN PATTERNS IMPLEMENTATION ISSUES OPEN SOURCE DEVELOPMENT SOFTWARE TESTING DEVELOPMENT TESTING TEST-DRIVEN DEVELOPMENT RELEASE TESTING download.benjaminsommer.com | 1 3 5 5 7 10 13 16 16 17 17 19 20 21 21 23 24 25 26 29 30 31 32 32 33 34 35 37 38 39...
Words: 24348 - Pages: 98
... Orooj Fatma Reg.No. 11111317 Section: - Q2104 MBA (HHM) Introduction of case study:- This case study is about software performance engineering, which was applied in hospital information management system to reduce response time. Software Performance Engineering (SPE) is a systematic, quantitative approach to the cost-effective development of software systems to meet performance requirements. SPE, a software-oriented approach, focuses on architecture, design, and implementation choices. This process is mainly used to avoid any discrepancy in the final product as it tries to eliminate error while designing and production of proposed product only. In this case study through software performance engineering response time was reduced by 1.25 second this improvement was achieved because of list processing of bio tests and medicine order, as they were sending test order and medicine prescription in form of bunch. And another feature of this upgraded software was that it setup its connection in advance i.e. prior to operator clicks for registration. Response time reduction at each stage will ultimately result in more satisfied customer for hospital. Response time is an important parameter for the evaluation of performance and reduction in this will result in elevated performance...
Words: 1246 - Pages: 5
...Artificial Intelligence and Software Engineering: Status and Future Trends Jörg Rech, Klaus-Dieter Althoff The disciplines of Artificial Intelligence and Software Engineering have many commonalities. Both deal with modeling real world objects from the real world like business processes, expert knowledge, or process models. This article gives a short overview about these disciplines and describes some current research topics against the background of common points of contact. 1 Introduction During the last decades the disciplines of Artificial Intelligence (AI) and Software Engineering (SE) have developed separately without much exchange of research results. In AI we researched techniques for the computations that made it possible to perceive, reason, and act. Research in SE was concerned with supporting human beings to develop better software faster. Today, several research directions of both disciplines come closer together and are beginning to build new research areas. Software Agents play an important role as research objects in Distributed AI (DAI) as well as in agentoriented software engineering (AOSE). Knowledge-Based Systems (KBS) are being investigated for learning software organizations (LSO) as well as knowledge engineering. Ambient Intelligence (AmI) is a new research area for distributed, non-intrusive, and intelligent software systems both from the direction of how to build these systems as well as how to design the collaboration between ambient systems. Last...
Words: 6393 - Pages: 26
...Robert P. Ward Software Engineering in the Small Smaller-sized software companies are developing significant products that need effective, tailored software engineering practices. n 1968, the NATO Software Engineering Conference in Garmisch, Germany [6] initiated the concept of software engineering, identifying the problems with producing large, high-quality software applications. In 1975, De Remer [2] introduced the terms, “programming in the small” and “programming in the large” to differentiate the development characteristics of large-scale software development from detailed programming (for example, data structures and algorithms). The principal source of large-scale software at the time was development contracts issued by the U.S. Department of Defense. Since then, virtually all software engineering literature has concentrated explicitly and implicitly on the model of DoD contract software development. Since the late 1970s, the microcomputer revolution has dramatically increased the quantity of software produced, the average I size of programs, and the number of companies involved in software development. Much more software is produced for internal use, commercial applications, and the mass-market than for deep-pocketed government and large industry. Using the number of units sold, mass-market software dwarfs the other forms of software sales. The growth of the software industry has produced many small companies that do not do contract software, but rather compete...
Words: 2136 - Pages: 9
...LITERATURE REVIEW ON SOFTWARE ENGINEERING FOR COMPUTER GAMES Name: Course: Date Page 1 Abstract Games have often been very common in the past period of time, but with the discovery of computer games, they have penetrated. In spite of the third vista to computer games which is verifiable, it pertains to investigating what characteristics those who play such games anticipate from the gaming using the computer. Permit us state the meaning of a computer game as a play which is undertaken with an aid of a computer program. This meaning still leaves behind some flexibility because it does not imply that the whole game happens in the computer. For instance, Chess may be played on the computer screen and on a true-globe board, heedless to whether the one who objects to the play is a computer application. Huizinga in his classic work defined play as ``an activity which proceeds within certain limits of time and space, in a visible order, according to rules freely accepted, and outside the sphere of necessity or material utility. The play mood is one of rapture and enthusiasm, and is sacred or festive in accordance with the occasion. A feeling of exaltation and tension accompanies the action, mirth and relaxation follow``. A lexicon likewise states the meaning of game as `‘a universal form of recreation generally including any activity engaged in for diversion or amusement and often establishing a situation that involves a contest or rivalry’`. Besides, Elliot...
Words: 8674 - Pages: 35
...Using the CMM in Small Organizations ---Company XYZ Abstract The Capability Maturity Model (CMM) for Software developed by the Software Engineering Institute has had a major influence on software process and quality improvement around the world. This paper discusses how to use the CMM correctly and effectively in small organizations ,analyze the current stat of the company and how to make the company get into a higher level .By using questionnaires ,analyzing the collected information and giving my recommendation . Introduction The Software CMM defines a five-level framework for how an organization matures its software process. The most well-known aspect of the CMM is its description of five stages, or maturity levels, of an organization’s software process .These levels describe an evolutionary path from ad hoc, chaotic processes to mature, disciplined software processes. The five maturity levels prescribe priorities for successful process improvement, whose validity has been documented in many case studies and surveys. Here is the table of 5 maturity levels , different focus and KPAs . |Level |Focus | |Small |16 – 50 employees and several products | |Very small |3 – 15 employees and several products ...
Words: 1714 - Pages: 7
...Engineering and Technology Management Tools and Applications For a listing of recent titles in the Artech House Technology Management and Professional Development Library, turn to the back of this book. Engineering and Technology Management Tools and Applications B. S. Dhillon Artech House Boston • London www.artechhouse.com Library of Congress Cataloging-in-Publication Data Dhillon, B. S. Engineering and technology management tools and applications/B.S. Dhillon. p. cm. — (Artech House technology management and professional development library) Includes bibliographical references and index. ISBN 1-58053-265-9 (alk. paper) 1. Engineering—Management. 2. Technology—Management. I. Title. II. Series. TA190 .D47 2002 620’.0068—dc21 2002074491 British Library Cataloguing in Publication Data Dhillon, B. S. Engineering and technology management tools and applications. (Artech House technology management and professional development library) 1. Engineering—Management 2. Technology—Management I. Title 620’ . 0068 ISBN 1-58053-265-9 Cover design by Igor Valdman © 2002 ARTECH HOUSE, INC. 685 Canton Street Norwood, MA 02062 All rights reserved. Printed and bound in the United States of America. No part of this book may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from the publisher. All terms mentioned in this book that...
Words: 97747 - Pages: 391
...Term paper On Design patterns Advanced topics in software engineering CSC 532 Submitted by:- Harpreet Singh Abstract:- Design patterns, a standard solution to problems in object oriented software engineering, are considered to be a well formed language to represent software design. Their benefits have been widely acknowledged by software professionals throughout the world. Design patterns can be classified according to multiple criteria the most common being the type of problem they solve. Till today many design patterns have been established and many more are being found as time passes. Patterns capture knowledge from various parts of software developing. Design patterns are helpful to the designers in a way that they represent the collective wisdom and experience of the community and their implementation leads to better quality software and also a novice designer does not find it difficult to understand the systems functionality. A very important advantage of design patterns is the fact that they speed up the development process by providing an almost ready-made solution that has been used earlier and proved to be efficient. Another advantage is that they allow for a generalized solution that does not depend on understanding a specific design problem from all its aspects, and thus ease reusing this solution. Apart from that they help the new developers to ignore traps and pitfalls which have earlier been learned by other developers by costly experience...
Words: 2632 - Pages: 11
...1) List the major security problems of CNB of Oklahoma and relate them to the attack methods described in section 9.2 through 9.4. The Security problems faced by CNB are as follows • Malware • Malicious software • Unprecedented of Spam Malware, short for malicious software, is software used to disrupt computer operation, gather sensitive information, or gain access to private computer systems. It can appear in the form of code, scripts, active content, and other software. 'Malware' is a general term used to refer to a variety of forms of hostile or intrusive software. Malware includes computer viruses, ransomware, worms, trojan horses, rootkits, keyloggers, dialers, spyware, adware, malicious BHOs, rogue security software, and other malicious programs; the majority of active malware threats are usually worms or trojans rather than viruses. In law, malware is sometimes known as a computer contaminant, as in the legal codes of several U.S. States. Malware is different from defective software, which is a legitimate software but contains harmful bugs that were not corrected before release. However, some malware is disguised as genuine software, and may come from an official company website in the form of a useful or attractive program which has the harmful malware embedded in it along with additional tracking software that gathers marketing statistics. Software such as anti-virus, anti-malware, and firewalls are relied upon by users at home, small and large...
Words: 830 - Pages: 4
...1. What is the difference between a. and a. Week Activity and What I Learned This week's learning topics were Software Reengineering and Software Documentation. Since there are no discussion assignments and programming assignments, I focused on understanding the contents of reading assignments. Here are the key notes I learned from reading assignments. Software re-engineering Software reengineering updates legacy systems to improve maintainability. Compared to completely redeveloping software, the main benefits of reengineering are reduced risk and cost. While redeveloping essential software involves high risks, such as incorrect system specifications and development problems, reengineering can significantly reduce costs, potentially by a...
Words: 597 - Pages: 3