Software Engineering - University Of Cape Town

1y ago
154 Views
3 Downloads
1.83 MB
178 Pages
Last View : Today
Last Download : 5m ago
Upload by : Lilly Kaiser
Transcription

Software EngineeringThe Department of Computer Science, University of Cape Town

Software Engineeringby The Department of Computer Science, University of Cape TownPublication date 2010Copyright 2005-2010 University of Cape Town

Table of Contents1. Introduction . 1Objectives . 1Introduction . 1Information systems and software . 1The importance of software engineering . 2Systems . 2System boundaries . 3Categories of information system and software programs . 4Information systems . 4Legacy systems . 6The benefits of software systems . 7Tactical benefits . 7Strategic benefits . 7The reasons for change . 8Software myths . 8Management myths . 8Customer / end-user myths . 8Programmer myths . 9Review . 9Questions . 9Answers . 122. Process and Model . 16Objectives . 16The software crisis . 16The code-and-fix approach to software development . 16Software engineering and the software process . 17The layers of software engineering . 18A generic framework of the software process . 19Software models . 20Prescriptive and agile models . 20Computer Aided Software Engineering: CASE . 31Review . 35Questions . 35Answers . 363. Requirements Engineering . 38Objectives . 38Requirements engineering . 38What is requirements engineering? . 38The steps in detail . 39Inception . 39Elicitation . 40Elaboration . 40Negotiation . 40Specification . 40Validation . 40Management . 41Use case modeling . 41Use case modeling in the UML specification . 41Review . 55Questions . 55Answers . 564. An Introduction to Analysis and Design . 58Objectives . 58Introduction . 58System analysis . 58iii

Software EngineeringSystem design . 58The relation between analysis and design . 58Introduction to models . 59Definition of the term “model” . 59The properties of models . 60Model properties: maintainability and disposability . 60Model properties: graphics and text . 61Model properties: comprehension . 61The main models of traditional analysis and design . 61Class model . 62Data-flow diagram . 62Sequence diagrams . 63Useful points . 64The benefits of using formal models . 64Case studies . 64Review . 65Questions . 65Answers . 655. Object-oriented Analysis and Design . 67Objectives . 67Introduction . 67Modelling standpoints . 67Classes and objects . 68Classification . 68Classification in object-oriented design . 69A definition of class and object . 69Examples of classes . 69Some thoughts on the relationship between classes and objects . 70Concrete and conceptual classes . 70Attributes . 71Operations . 73Dynamic behaviour and state . 73UML notation and conventions . 74Symbol . 74Naming conventions . 75Finding classes . 76Relationships between classes . 76Specifying relationships in detail . 77Inheritance . 78Abstract classes . 79Aggregation and composition . 80Aggregation . 80Composition . 80Self-association and roles . 81Link classes and link attributes . 81Constraints and notes . 82Notes . 82Constraints . 82Class-Responsibility-Collaborator cards . 82From model to program . 83Dynamic behaviour . 83Interaction diagrams . 83Summary . 84Review . 85Questions . 85Answers . 886. Data-Flow Diagrams . 93Objectives . 93iv

Software EngineeringIntroduction to data-flow diagrams . 93What are data-flow diagrams? . 93An example data-flow diagram . 93The benefits of data-flow diagrams . 94Case study . 95The different kinds (and levels) of data-flow diagrams . 95Elements of data-flow diagrams . 95Processes . 96Data-flows . 97Data stores . 98External entities . 99Multiple copies of entities and data stores on the same diagram . 99Context diagrams . 100What is a context diagram? . 100Constructing a context diagram . 100Level 1 data-flow diagrams . 101What is a level 1 DFD? . 101Constructing level 1 DFDs . 101Decomposing diagrams into level 2 and lower hierarchical levels . 102What is a level 2 (or lower) DFD? . 102Constructing level 2 (and lower) DFDs — functional decomposition . 103Making levels . 103Balancing . 104Numbering . 104Process descriptions . 105Validation . 105An example in constructing a data-flow diagram . 106Identify the system boundaries . 106Follow inputs . 107Follow events . 107Fill in gaps . 108Repeat . 108Review . 109Questions . 109Answers . 1127. Design . 129Objectives . 129Introduction . 129Abstraction . 129Architecture . 129Patterns . 130Modularity . 130Information hiding . 131Functional independence . 131Stepwise refinement . 131Refactoring . 132Design classes . 132Review . 133Questions . 133Answers . 1338. Design Patterns . 135Objectives . 135Introduction to design patterns . 135The idea of a pattern . 135The origins of design patterns . 137Patterns in software design . 138Design patterns in object-oriented programming . 139Definitions of terms and concepts . 139v

Software EngineeringScope of development activity: applications, toolkits, frameworks . 140Pattern classifications and pattern catalogue . 140Behavioural patterns . 141Creational patterns . 143Structural patterns . 144How to use a design pattern . 145Patterns in Java . 145The Observer pattern in Java . 145The Model-View-Controller pattern . 149Abstract factory facilities in Java . 150Composite patterns in Java . 151Review . 152Questions . 152Answers . 1549. Software Testing . 156Objectives . 156Introduction to software testing . 156The testers . 156The developers . 156An independent testing team . 157The customer . 157Principles of software testing . 157The completion of software testing . 157Writing testable software . 158Test cases and test case design . 158Testing strategies . 158Unit testing . 159Integration testing . 159Validation testing . 160System testing . 160Testing advice . 160Flow graphs, cyclomatic complexity and white-box testing . 161Black-box testing . 164Object-oriented testing . 165Debugging . 165Brute force debugging . 165Backtracking . 165Cause elimination . 165Bisect . 166Review . 166Questions . 166Answers . 167vi

List of Figures1.1. A diagrammatic representation of a system . 32.1. The code-and-fix approach . 162.2. The process with requirements . 172.3. The layers of software engineering . 192.4. The waterfall method . 212.5. The incremental development software model . 222.6. Disposable prototyping . 252.7. SELECT-Enterprise screenshot . 322.8. Java code . 332.9. A command-line Java interpreter . 333.1. Actor representations . 433.2. The system boundary . 463.3. Representations of use cases . 473.4. Use case association . 483.5. Use of stereotypes in use case relationships . 483.6. A use case example, without generalisation . 513.7. Use case generalisation . 513.8. Use case example, with generalisation . 523.9. A full example . 533.10. Without generalisation . 553.11. With generalisation . 564.1. An example class model of an estate agency . 624.2. An example of a data-flow diagram . 634.3. An example of a sequence diagram . 635.1. The UML symbol for a class . 745.2. A relationship between two classes . 765.3. Indicating multiplicity . 775.4. Generalisation-specialisation represented in the UML . 785.5. The representation of aggregation in the UML . 805.6. The representation of composition in the UML . 805.7. Link attributes . 815.8. The notation for notes . 825.9. Sequence diagram notation in the UML . 846.1. An example data-flow diagram . 946.2. The notation for a process . 966.3. Notation for a data-flow . 976.4. Notation for a data store . 986.5. Notation for external entities . 996.6. How to notate duplicated external entities . 996.7. How to notate duplicate data stores . 1006.8. A context diagram for Video-Rental LTD . 1006.9. A level 1 DFD for Video-Rental LTD . 1016.10. A level 2 data-flow diagram for Video-Rental LTD . 1026.11. Find the external entities . 1098.1. A simple pattern for a bridge . 1358.2. The girder . 1368.3. The arch . 1368.4. Suspension . 1368.5. Subdivision . 1378.6. Narrowing .

discipline of software engineering. First, software is engineered rather than manufactured. Once the software has been developed, there remains no significant “manufacturing” process that could possibly lower the software's quality (i.e., introduce software errors, cause the software

Related Documents:

Oct 30, 2020 · 3 Cape Henlopen "RONC Cape Terrific"; "Cape Chickenlopen" Cape Higgon "RONC Cape Courageous" Cape Horn "RONC Cape Seldom" Cape Jellison "Tuff Boat"; "Cape J" Cape Knox "Cape Cutthroat" Cape Morgan "RONC Cape Anchor"; "The Workhorse of the Sea" Cape Shoalwater "Bilgewater" Cape Small "Three Puka Puka" (from her hull number 95300 and the Hawaiian word for

1 School of Business, University of Cape Coast, Cape Coast, Ghana 2 College of Distance Education, University of Cape Coast, Cape Coast, Ghana Correspondence: George Tackie, School of Business, University of Cape Coast, Cape Coast, Ghana. E-mail: gtackie@ucc.edu.gh

CAPE MAY COUNTY (05) CONRAD JOHNSON JR CAPE MAY COUNTY FIRE MARSHAL 171 Crest Haven Rd CAPE MAY COURT HOUSE NJ 08210 (609) 465-1134 FAX (609) 463-0670 cjohnson@co.cape-may.nj.us CONRAD JOHNSON CAPE MAY COUNTY FIRE TRAINING ACADEMY DN-306 4 MOORE RD CAPE MAY COURT HOUSE NJ 08210 (609) 465-1134 FAX (609) 463-067

5. Cape Metro Health Forum The Learning Network serves as the umbrella body in the Western Cape and includes 4 higher education institutions: 1. University of Cape Town (UCT) 2. University of the Western Cape (UWC) 3. Maastricht University, in the Netherlands 4. Warwick University in the UK

1 School of Business, University of Cape Coast, Cape Coast, Ghana 2 Registrar’s Office, University of Mines and Technology, Tarkwa, Ghana 3 Directorate of Legal, Consular, and General Services, University of Cape Coast, Ghana. Correspondence: Owusu, G. A., School of Business, University of Cape Coast, Cape Coast, Ghana

University of the Western Cape, Cape Town, South Africa), M Mthethwa (Chronic Disease Initiative for Africa, University of Cape Town, Cape Town, South Africa), P Smith (The Desmond Tutu HIV Centre, Institute for Infectious Disease and Molecular Medicine, Faculty of Health Sciences, University of Cape Town,

High School, Ghana, bCollege of Distance Education, University of Cape Coast, Ghana, cIndependent Researcher, Ghana, dE-learning and Technology Unit, College of Distance Education, University of Cape Coast, Cape Coast, Ghana. eDeputy Director, Directorate of ICT's, University of Cape Coast, Cape Coast, Ghana.

17 OCT 2021 185U.S. Coast Pilot 4, Chapter 3 Cape Henry to Key West (1) The Atlantic Coast of the United States from Cape Henry to Cape Florida is low and sandy, backed by woods. From Cape Florida to Key West the coast is formed by

Cape Fear River Water Questions and “Answers . What is the Cape Fear River Watershed? Answer: The Cape Fear Watershed is the largest watershed contained entirely within the state and the only river that directly drains to the Atlantic Ocean. The Lower Cape Fear watershed is comprised

The Medical School of Bamako Bamako 1. Dr. Fasseha Kassahun Dept. of Physics Addis Ababa University P. O. Box. 1176 Addis Ababa ETHIOPIA 2. Mr. Takale Seda . UNIVERSITY OF CAPE COAST PROGRAMME University of Cape Coast. Cape Coast. Department of Physics 25.

Cape Coast Technical University(Formerly Cape Coast Polytechnic) was established in 1984 as a second cycle institution. In 1986, it operated under the Ghana Education Service to offer intermediate courses leading to the award of non-tertiary certificates. Following the enactment of PNDCL 321 in 1992, the University was upgraded to

1. Department of Statistics, University of Cape Coast, Cape Coast, Ghana 2. Directorate of Academic Planning and Quality Assurance, Cape Coast Technical University, P. O. Box AD50, Cape Coast, Ghana * E-mail of the corresponding author: mykemanford@yahoo.com Abstract

Directorate of Research, Innovation and Consultancy, University of Cape Coast, Cape Coast, Ghana *Corresponding Author: Isaac Nketsiah, Directorate of Research, Innovation and Consultancy,University of Cape Coast, Cape Coast, Ghana, isaac.nketsiah@ucc.edu.gh INTRODUCTION The success or failure of small and medium

Higher education, employment and economic growth: Exploring the interactions Haroon Bhorata,b, Aalia Cassimc* and David Tsengc† aProfessor, School of Economics, University of Cape Town, Rondebosch, Cape Town, South Africa; bDirector, Development Policy Research Unit, University of Cape Town, Rondebosch, Cape Town, South Africa ;

Materials Science and Engineering, Mechanical Engineering, Production Engineering, Chemical Engineering, Textile Engineering, Nuclear Engineering, Electrical Engineering, Civil Engineering, other related Engineering discipline Energy Resources Engineering (ERE) The students’ academic background should be: Mechanical Power Engineering, Energy .

2 2.Software Engineering Body of Knowledge The Software Engineering Body of Knowledge (SWEBOK) is an international standard ISO/IEC TR 19759:2005[1] specifying a guide to the generally accepted Software Engineering Body of Knowledge. The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) has

Agriculture in the Western Cape in the 4IR 10 Drivers and megatrends set to disrupt farming 13 Opportunities and challenges 14 Future scenarios for the Western Cape 16 The rise of agricultural technologies 18 Taking a closer look 18 The technology matrix 19 Overview and applications 20 What does this mean for farming in the Western Cape? 26

policy in Western Cape. We compared these metrics between Cape Town and more rural Western Cape districts. Methods Data Source We extracted records of TB laboratory tests conduct-ed on clinical samples at the NHLS TB laboratory in Green Point, Cape Town, during January 1, 2012–July 31, 2015. These tests were used to diagnose and moni -

The Western Cape Province is the fourth largest province of South Africa in terms of land size. It is also accepted that agriculture is a significant contributor to economic activity and output for the Western Cape Province. The Western Cape is relatively unique in terms of agricultural production in that it is a typical Mediterranean climate area.

alimentaire Version 2: 11/2018 3 2.16. Un additif repris sur la liste des ingrédients d'un fromage n'est pas un additif autorisé dans le fromage. L'additif est toutefois autorisé dans un ingrédient. L'additif peut-il être présent avec