Technical Writing - Software Engineering Life Cycle Review
|
|
- Annice Hunt
- 3 years ago
- Views:
Transcription
1 CS212: HARD SKILLS Announcements Overview motivation solitary programming engineering and software engineering software life cycle development models modularity documentation quality, legality, 1. Motivation 1.1 Last Time people work with people! need soft skills - project management - leadership - group dynamics - pair programming 1.2 This Time people work on stuff! hard skills - solitary programming reminder - beyond programming: engineering - software engineering - business and legal issues 1.3 Goals now: work in teams to write code later: work in teams on projects ultimately: satisfying career! Solitary Programming 2.1 The Gist Problem Process Solution? 2.2 Programming As Writing brainstorming research outline draft polish Iterate brainstorming planning (nouns, verbs) algorithm code program 2.3 Iteration and Development stepwise refinement: - baby steps - breaking problem into more manageable pieces development process: - top-down - bottom-up 2.4 Stubbing stubbing - classes - methods - documentation/specification examples: class BinExpr implements AST { } class UnExpr implements AST { } public class Program implements AST { public Program(Tokenizer t, String sourcename) throws Exception { } public String generatecode() { return ""; } public String tostring() { return ""; } } // public class BC: { // Start program (compile Bali into sam) // Set source (Bali) and output file (sam): // Create AST and store in progtree: // Generate sam code and store in progcode: // Print target to output file (sam): // Print actual parse tree: // Close file streams: // } 3 4
2 3. Engineering 3.1 What is Engineering? ABET: The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind. 3.2 History of Engineering historical: - military engineering - civil(ian) engineering: John Smeaton (1700s) - first woman civil engineer: Nora Stanton Blatch, Cornell, Class of 1905! engineering in the US - started at US Military Academy - specialization and drift from military caused more branching 4. Software Engineering 4.1 What is Software Engineering? From The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. Original definition (1969, first conference on SE): The establishment and use of sound engineering methods and principles to obtain reliable software that works on real machines. see also Documentation/history_html Brief History Robert L. Glass from his book In the Beginning: Recollections of Software Pioneers The Pioneering Era ( ) - punch cards! - introduction of high(er)-level languages The Stabilizing Era ( ) - notion of structured programming - software becomes valuable The Micro Era (1980-Present) - computers for everybody! - GUIs 4.3 Engineering VS Software Engineering some controversy! - states attach legality to engineer - see davis.pdf primary differences: - E: ability to build from prefab components SE: redesigns from scratch - E: tolerances SE: lacks them - E: metrics (measuring systems, as in physical units) SE: yes? no? what do you think? 7 8
3 4.4 Virtual Engineering a DIS invention game design, but more general: - application and extension of engineering principles and design for a virtual environment - the virtual engineer not only designs entities, but defines the principles to which the entities must adhere 4.5 Classic References The Art of Computer Programming, D. E. Knuth Introduction to Algorithms, T. H. Cormen, et al The C Programming Language, Kernighan and Ritchie 4.6 Organizations Software Life Cycle 5.1 The Gist birth growth rebirth eventual death: Develop Use Modify Obsolete? Phases - Analysis - Design - Implementation - Testing description of phases below order of phases? next section Analysis the what : specifications for software four steps: - define user - define needs - define requirements - define methods 5.3 Design the how : plans on how to develop the specs no actual programming yet mostly planning lots of charts and diagrams 5.4 Implementation the stuff : actual coding interim steps: - pseudocode - flowcharts, data flow diagrams choice of language(s) 5.5 Testing the check : does the software meet the specs? two general approaches: - black box: tester knows nothing of program - white box: tester knows everything about program 11 12
4 6. Development Models 6.1 Waterfall Model most classic development flows in one direction: analysis testing Analysis Design Implementation Testing should you use? - advantage: phases finish in synch - disadvantage: finding problem 6.2 Incremental Model break process into many steps each step provides more detail for example, complete entire program as stubs then begin to fill them in essentially, waterfall repeated many times 6.3 Extreme Programming popular new methodology snippets of approach: - frequent small releases - testing up front: unit testing JUnit: - pair programming many more details check out CASE computer aided software engineering software to help build software Modularity 7.1 Modules small portion of code/plan modularity overriding philosophy: - stepwise refinement - structured program - unit testing approach - top-down/bottom-up design - classes! 7.2 Tools want to represent module connections structure chart for procedural flow class diagram for OOP UML: unified modeling language - flow - design Coupling want modules to be independent forms of coupling: - control: transfer control, as with procedures - data: sharing data - more OOP: mostly control coupling because of encapsulation horrors of global data 7.4 Cohesion how closely processes are related; degree of relatedness of internal parts want this to be high why? - philosophy: each function has unique purpose - example: UNIX tools forms: - logical cohesion (weaker): related activities collected together - functional cohesion (stronger): all parts of module geared for same task OOP: objects usually logically cohesive, but methods can be functionally cohesive 15 16
5 8. Documentation 8.1 Engineers and Writing do engineers need to write? reports, presentations papers, books 8.2 Technical Writing actually, it s own field must interact with writers in design team 8.3 Comments preconditions, postconditions Javadoc 8.4 User Manuals/On-line Help short, active sentences simple language KISS 9. Legal Issues 9.1 Ownership and Copyright who owns software that you write? copyright, fair use, Liability engineering and law: - liability insurance - professional engineering license software liability? peer review? Free? peer review issue possibly handled by rethinking privacy ware : - shareware - freeware free software : - freedom to share - open source initiative: Open source promotes software reliability and quality by supporting independent peer review and rapid evolution of source code. 9.4 Quality Standards interesting facts (1996, IEEE study): - for 25 million lines of code, 90% of all defects attributed to modules that had 13% of the code - 95% of serious design defects from 2.5% of code documented horrors: : Risks Forum: Certification and Licensing software engineering as engineering profession? 19 20
Software Life Cycle. Management of what to do in what order
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
More informationSOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationChapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
More informationChapter 7: Software Engineering
Chapter 7: Software Engineering Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 7: Software Engineering 7.1 The Software Engineering
More informationSoftware Process Models. Xin Feng
Software Process Models Xin Feng Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the
More informationDescribe the process of parallelization as it relates to problem solving.
Level 2 (recommended for grades 6 9) Computer Science and Community Middle school/junior high school students begin using computational thinking as a problem-solving tool. They begin to appreciate the
More informationInstructional Design Framework CSE: Unit 1 Lesson 1
Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results
More informationSoftware Development: The Waterfall Model
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
More informationKarunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationCS314: Course Summary
CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need
More informationThe Elective Part of the NSS ICT Curriculum D. Software Development
of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills
More informationBest-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at
More informationADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
More informationChapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
More informationSoftware Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software engineering and to explain its importance To set out the answers
More informationCOMPUTER SCIENCE (5651) Test at a Glance
COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate
More informationProgramming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
More informationSoftware Engineering and Scientific Computing
Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de
More informationCOURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4
COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution
More informationARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development
More informationChapter 1 An Introduction to Computers and Problem Solving
hapter 1 n Introduction to omputers and Problem Solving Section 1.1 n Introduction to omputers 1. Visual Basic is considered to be a () first-generation language. (B) package. () higher-level language.
More informationBS Computer Science (2013 2014)
BS Computer Science (2013 2014) Program Information Point of Contact Venkat Gudivada (gudivada@marshall.edu) Support for University and College Missions Marshall University is a multi campus public university
More informationSoftware Development. Craft or Engineering?
Software Development Craft or Engineering? Dr. Neil Roodyn Developing software for too long! Founded 5 software companies Teaching and mentoring around the world since 1991 Mission: Increase the value
More informationJava Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
More informationSoftware Design. Software Design. Software design is the process that adds implementation details to the requirements.
Software Design Software Design Software design is the process that adds implementation details to the requirements. It produces a design specification that can be mapped onto a program. It may take several
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationSettlers of Catan Phase 1
Settlers of Catan Phase 1 Objective In this phase you will design, implement, and test the following subsystems: 1. Catan Model 2. Server Proxy 3. Server Poller Catan Model The Catan Model will be at the
More informationChapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
More informationAnalysis and Design of Software Systems Practical Session 01. System Layering
Analysis and Design of Software Systems Practical Session 01 System Layering Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in
More informationCOURSE CSE1010: COMPUTER SCIENCE 1. Prerequisite:
COURSE CSE1010: COMPUTER SCIENCE 1 Level: Prerequisite: Description: Parameters: Introductory None Students explore hardware, software and processes. This includes an introduction to the algorithm as a
More informationChapter 1: Key Concepts of Programming and Software Engineering
Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development
More informationSECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
More informationLecture 3 Software Development Processes
Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationChapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
More informationProcess Models and Metrics
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
More informationChapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
More informationObject-Oriented Design Guidelines
Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
More informationUC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.
CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the
More informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationSoftware Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
More informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationLecture 03 (04.11.2013) Quality of the Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software
More informationChakra Vs Spiral Model - A Practical Approach
Chakra - A new era in Software Lifecycle modeling technique R.P.Muthu Assistant Professor, Department of Computer Science Indian Institute of Technology, Bombay. Abstract: Every old thing has to be modified
More informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationABET General Outcomes. Student Learning Outcomes for BS in Computing
ABET General a. An ability to apply knowledge of computing and mathematics appropriate to the program s student outcomes and to the discipline b. An ability to analyze a problem, and identify and define
More informationJava course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
More informationINTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
More informationTexas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design
Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design STANDARD CORRELATING PAGES Standard (1) The student demonstrates knowledge and appropriate
More informationDomains and Competencies
Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the
More informationVAIL-Plant Asset Integrity Management System. Software Development Process
VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15
More information6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
More informationModule 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
More informationEstablishing Great Software Development Process(es) for Your Organization. By Dale Mayes DMayes@HomePortEngineering.com
Establishing Great Software Development Process(es) for Your Organization By Dale Mayes DMayes@HomePortEngineering.com Class: ETP-410 Embedded Systems Conference San Francisco 2005 Abstract: There are
More informationSome programming experience in a high-level structured programming language is recommended.
Python Programming Course Description This course is an introduction to the Python programming language. Programming techniques covered by this course include modularity, abstraction, top-down design,
More informationSoftware Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
More informationCS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)
CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html
More informationValue Engineering VE with Risk Assessment RA
Preparation Conclude & Report Value Engineering VE with Risk Assessment RA yes START Plan for VE and RA Value Engineering Job Plan 1 2 Function Information Analysis 3 Creative 4 Evaluation 5 Develop recommendations
More informationIF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type
IF2261 Software Engineering Introduction Program Studi Teknik Informatika STEI ITB What is software? Definitions: Computer programs, procedures, and possibly associated documentation and data pertaining
More informationSoftware testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
More informationA Project Based Approach for Teaching System Analysis, Design, and Implementation Courses
A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses Nabil A. Yousif 1 and Masoud Naghedolfeizi 2 Abstract-In curricula of Computer Information Systems at Fort Valley
More informationExecution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
More informationGénie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus
More informationDevelopment Methodologies Compared
N CYCLES software solutions Development Methodologies Compared Why different projects require different development methodologies. December 2002 Dan Marks 65 Germantown Court 1616 West Gate Circle Suite
More informationSoftware Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia
Software Development Lifecycle Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia About Me Currently manage a team of 10 Program Managers at Microsoft Research Asia Over
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More information(BA122) Software Engineer s Workshop (SEW)
Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems
More informationEVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
More informationAgile Methodologies and Its Processes
International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information
More informationTotal Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)
Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011
More information02-201: Programming for Scientists
1. Course Information 1.1 Course description 02-201: Programming for Scientists Carl Kingsford Fall 2015 Provides a practical introduction to programming for students with little or no prior programming
More informationLecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
More informationProgress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona
Progress Report Aspect Oriented Programming meets Design Patterns Academic Programme MSc in Advanced Computer Science Guillermo Antonio Toro Bayona Supervisor Dr. John Sargeant The University of Manchester
More informationMICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language
More informationA Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming
A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming "The only way to learn a new programming language is by writing programs in it." -- B. Kernighan and D. Ritchie "Computers
More informationFormal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
More informationTitle: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
More informationHow To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationSoftware Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
More informationON THE CONGRUENCE OF MODULARITY AND CODE COUPLING
ON THE CONGRUENCE OF MODULARITY AND CODE COUPLING University of Trier Fabian Beck and Stephan Diehl Modular Sofware Systems For human beings, the only way to manage a complex system or solve a problem
More informationVragen en opdracht. Complexity. Modularity. Intra-modular complexity measures
Vragen en opdracht Complexity Wat wordt er bedoeld met design g defensively? Wat is het gevolg van hoge complexiteit icm ontwerp? Opdracht: http://www.win.tue.nl/~mvdbrand/courses/se/1011/opgaven.html
More information11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
More informationD6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers
More informationAcknowledgement. Software Engineering. CS 3141: Team Software Project Introduction
CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for
More informationSyllabus for CS 134 Java Programming
- Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.
More informationJava 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationSoftware Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
More informationFunctional Decomposition Top-Down Development
Functional Decomposition Top-Down Development The top-down approach builds a system by stepwise refinement, starting with a definition of its abstract function. You start the process by expressing a topmost
More informationThe Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
More informationSoftware Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model
Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between
More informationTest Specification. Introduction
Test Specification Introduction Goals and Objectives GameForge is a graphical tool used to aid in the design and creation of video games. A user with little or no experience with Microsoft DirectX and/or
More informationAnalysis of Object Oriented Software by Using Software Modularization Matrix
Analysis of Object Oriented Software by Using Software Modularization Matrix Anup 1, Mahesh Kumar 2 1 M.Tech Student, 2 Assistant Professor, Department of Computer Science and Application, RPS College,
More informationMorris School District. Computer Science 2 Curriculum Grades 9-12
Morris School District 31 Hazel Street Morristown, NJ 07960 Morris School District Computer Science 2 Curriculum Grades 9-12 Mackey Pendergrast, Superintendent Submitted by: Samantha Margenau Date: May,
More informationCourse MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: rwhitney@discoveritt.com Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
More informationSoftware Engineering. Introduction. Lecturer: Giuseppe Santucci
Software Engineering Introduction Lecturer: Giuseppe Santucci Summary Some useful pieces of information Introduction to Software Engineering Standardization of Software Process 2 Software Engineering Classes
More informationSoftware Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,
More informationUse Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling
Software Development Life Cycle Training Set A: Requirements Analysis Part 3: Use Case Modeling Use Case Modeling There are several ways to capture and organize software system requirements. The first
More information