软件工程 主讲人 : 张敏灵. Software Engineering. URL:

Size: px
Start display at page:

Download "软件工程 主讲人 : 张敏灵. Software Engineering. URL:"

Transcription

1 软件工程 Software Engineering 主讲人 : 张敏灵 zhangml@seu.edu.cn URL:

2 教材 Bernd Bruegge, Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java, 3rd edition Prentice Hall, 2010 布吕格 [ 美 ], 迪图瓦 [ 美 ] 面向对象软件工程 : 使用 UML 模式与 Java, 第 3 版 清华大学出版社, 2011

3 课程信息 学时 / 学分 1-16 周 ( 周二 ),3 学分 讲授内容 ( 红色标注部分 ) Part I: 软件工程导论 UML 等 Part II: 需求获取 分析 设计 测试等 Part III: 配置管理 项目管理 软件生命周期等 考核方式 平时成绩 ( 出勤率 + 作业 ):5% 课程 Project:20% 期末考试 :75%

4

5

6 Using UML, Patterns, and Java Object-Oriented Software Engineering

7 Requirements for this Class You are proficient in a programming language, but you have no experience in analysis or design of a system You want to learn more about the technical aspects of analysis and design of complex software systems

8 Objectives of the Class Appreciate Software Engineering: Build complex software systems in the context of frequent change Understand how to Produce a high quality software system within time While dealing with complexity and change Acquire technical knowledge (main emphasis) Acquire managerial knowledge

9 A Few Examples Year 1900 bug In 1992, Mary from Winona, Minnesota, received an invitation to attend a kindergarten. Mary was 104 at the time. Leap-year bug A supermarket was fined $1000 for having meat around 1 day too long, on February The computer program printing the expiration date without considering 1988 was a leap year. Late and over budget In 1995, bugs in the automated luggage system of the new Denver International Airport caused suitcases to be chewed up. The airport opened 16 months later, $3.2 billion over budget, with a mostly manual luggage system.

10 Another Example: Space Shuttle Software Cost: $10 Billion, millions of dollars more than planned Time: 3 years late Quality: First launch of Columbia was cancelled because of a synchronization problem with the Shuttle's 5 onboard computers. Error was traced back to a change made 2 years earlier when a programmer changed a delay factor in an interrupt handler from 50 to 80 milliseconds. The likelihood of the error was small enough, that the error caused no harm during thousands of hours of testing. Substantial errors still exist. Astronauts are supplied with a book of known software problems "Program Notes and Waivers".

11 Characteristics of Software Systems Software systems are complex creations Perform many functions Achieve many different, and often conflicting, objectives Comprise many components Many participants from different disciplines take part in Development process and software life cycle often spans many years Software systems are subject to constant changes Clients/end-user s requirements change Errors are discovered Developers have a better understanding New technologies emerge, staff turn-around

12 Software Engineering: Definition Software Engineering (SE) is a collection of techniques, methodologies and tools that help with the production of a high quality software system with a given budget before a given deadline while change occurs. 20

13 SE: A More Detailed Definition Software engineering is a modeling, problem-solving, knowledge acquisition, and rationale-driven activity. Modeling Software engineers deals with complexity through modeling Problem-solving Models are used to search for an acceptable solution within budget and time constraints Knowledge acquisition Software engineers collect data, organize it into information, and formalize it into knowledge Rationale-driven Software engineers need to capture the context in which decisions were made and the rationale behind these decisions

14 Modeling What is model? An abstract representation of a system Enables us to answer questions about the system; Allows us to visualize and understand systems Why modeling for software engineers Understand the environment which the system operates Train traffic control train signaling procedures; Stock trading system trading rules Build a model of the application/problem domain Understand the system they could build Evaluate different solutions and trade-offs Build a model of the solution domain Object-Oriented (OO) Combine application & solution domains by modeling both with objects and relationships

15 Problem Solving Engineering is a problem-solving activity So does SE Five steps of engineering method Formulate the problem Analyze the problem Search for solutions Decide on the appropriate solution Specify the solution Six steps of object-oriented software engineering (OOSE) Requirement elicitation + Analysis Formulate the problem with client and build the application domain model System design Analyze the problem, break it into smaller pieces, select general strategies for designing the system Object design Select detail solutions for each piece and decide on the appropriate solution Implementation Realize the system by translating the solution domain model into executable codes Testing Evaluate the appropriateness of the respective models

16 Knowledge Acquisition A common mistake The acquisition of knowledge needed to build a system is linear Both for software engineers and managers Knowledge acquisition is a nonlinear process The addition of a new piece of information may invalidate all the knowledge we have acquired for understanding Implications: We must be prepared to start from scratch Software life cycle Waterfall model: assume linear dependencies in software development Risk-based development: anticipate surprises at late in a project by identifying the high-risk components Issue-based development: Any development activity in OOSE can influence any other activity All activities are executed in parallel Difficult to manage than linear development process

17 Rationale-Driven Difficult life of a software engineer Assumptions that developers make about a system change constantly The solution domain models are in constant flux Design and implementation faults discovered during testing Usability problems discovered during user evaluation The emergence of a new technology A typical task of software engineers Change a currently operational software system Capturing and accessing the rationale of a system is necessary A non-trivial task For every decision made, several alternatives may have been made, considered and argued Rationale information (context in which decision being made) is often inexplicit

18 SE Concepts Project Whose purpose is to develop a software system Composed of a number Activities Activity Composed of a number Tasks Task Consumes resources and produces WorkProduct Resources Participants, Time, or Equipment WorkProduct System, Model or Document

19 UML Diagram for SE Concepts

20 Participants and Roles Participants: All the persons involved in the project The client orders and pays for the system The developers construct the system The project manager plans and budgets the project and coordinates the developers and the client The end users are supported by the system Role: A set of responsibilities in the project A role is associated with a set of tasks It is assigned to a participant The same participant can fill multiple roles A TicketDistributor system

21 Roles for the TicketDistributor Project

22 Systems and Models System A collection of interconnected parts E.g.: A TicketDistributor for underground trains Model Any abstraction of the system Blueprints for TicketDistributor, schematics of its electrical wiring, objects models of its software, etc. A project itself is a system that can be modeled Project schedule Budget Planned deadline

23 Work Products Work Product: An artifact produced during development A document, a piece of software, a system, a model, etc. Internal work product: for the project s internal consumption Deliverable: must be delivered to a client (Defined prior to the start of the project and specified by a contract)

24 Activities, Tasks, and Resources Activity: A set of tasks performed towards a specific purpose Requirement elicitation: An activity with purpose to define what the system will do for the client Delivery: An activity with purpose to install the system at an operational location Management: An activity with purpose to monitor and control the project such that it meets the goal (e.g., deadline, quality, budget) Activities may comprise other activities (Delivery Installation+Training) A.k.a. phase Task: An atomic unit of work that can be managed E.g.: A manager assigns it to a developer, the developer carries it out, and the manager monitors the progress and completion of the task Consumes resources, result in work products, and depend on work products produced by other tasks Resources: Assets that are used to accomplish work Time, equipment, and labor

25 Activities, Tasks, and Resources for the TicketDistributor Project

26 Functional and Nonfunctional Requirements Requirements: Features that the system must have Functional requirement: A specification of a function that the system must support The user must be able to purchase tickets The user must be able to access tariff information Nonfunctional requirement: A constraint on the operation of the system that is not related directly to a function of the system The user must be provided feedback in less than one second The colors used in interface should be consistent with the company colors Using specific hardware platform Security requirements How to provide backward compatibility

27 Notations, Methods and Methodologies Notations: Graphical or textual set of rules for representing a model Roman alphabet representing words Data flow diagram [De Marco, 1978] representing data sources, sinks, transformations; Z [Spivey, 1989] representing systems based on set theory Unified Modeling Language (UML) representing OO models Method: A repeatable technique specifying the steps involved in solving a specific problem Recipe cooking a specific dish Sorting algorithm ordering elements of a list; Rationale management justifying change Methodology: A collection of methods for 1) solving a class of problems; 2) specifying how and when each method should be used Seafood cookbook a collection of recipes OO methodologies: Royce s methodology [Royce, 1998], Object Modeling Technique (OMT, [Rumbaugh et al., 1991]), Catalysis [D Souza, 1994]

28 Methodologies Used in This Book No golden methodologies OMT: Provide methods for three activities Analysis, System Design, Object Design RUP: Provide methods for three activities Analysis, Design, Requirement Capture Catalysis: Same as RUP Focus more on reuse of design and code using patterns and frameworks Methodology in this book Requirement elicitation and analysis: methods similar to OOSE [Jacobson et al. 1992] System design and object design: similar to those of OMT Change-related activities: design rationale research [Moran & Carroll, 1996] Configuration management: maintenance of large systems [Babich, 1986]

29 SE Development Activities Requirements Elicitation Analysis System Design Object Design Implementation Testing

30 Requirement Elicitation Activity: Client and developers define the purpose of the system Result: Description of the system in terms of actors and use cases Actors: end users, other computers to be dealt with, environment, etc. Use cases: sequence of events that describe all the possible actions between an actor and the system for a given piece of functionality

31 Analysis Activity: Produce a model of the system that is correct, complete, consistent, and unambiguous Result: A system model in terms of structure and dynamic interoperation Structure: UML class diagram Dynamic interoperation: UML state machine diagram, UML sequence diagram

32 System Design Activity: 1) Define the design goals of the project; 2) Decompose the system into smaller subsystems that can be realized by individual teams Hardware/software platform used, persistent data management strategy, global control flow, access control policy, Result: A system model (similar as analysis) including strategies for building the system, the subsystem decomposition, etc. Analysis deals with entities that the client can understand System design deals with a much more refined model that includes many entities that are beyond the comprehension (interest) of the client

33 Object Design, Implementation, and Testing Object Design Activity: Define solution domain objects to bridge the gap between the analysis model and the hardware/software platform defined during system design Precisely describing object and subsystem interfaces, selecting off-the-shelf components, attain goals such as extensibility, comprehensibility, high-performance Result: A detailed object model annotated with constraints and precise description for each element Implementation Activity: Translate the solution domain model into source codes Result: Implementations of the attributes and methods of each object Testing Activity: Find differences between the system and its models Result: Faults discovered in various steps of the SE process

34 SE Management Activities SE is not only about development, but also about management Planning and monitoring the status of project Tracking changes Coordinating resources to ensure high-quality, on time delivery within budget Management Activities Communication Rationale Management Software Configuration Management Project Management Software Life Cycle

35 Communication The most critical and time-consuming activity in software engineering Exchange of models and documents about the system and its application domain Reporting the status of work products, providing feedback on its quality Raising and negotiating issues Communicating decisions Misunderstanding and omissions faults and delays expensive to be corrected later in the development The most effective way Conventions On notations: representing information UML diagrams, templates for document writing and meeting minutes On tools: manipulating information CASE (Computer Aided Software Engineering) for maintaining models, word processors for generating documents On procedures: raising and resolving issues Meeting procedures, review procedures, inspection procedures

36 Rationale Management Rationale (justification of decision) is the most important information developers need when changing the system Given a decision, its rationale include The problem that it addresses The alternatives that developers considered The criteria that developers used to evaluate the alternatives The debate developers went through to achieve consensus The decision With rationale management, we can A new alternative arrives compared with all other evaluated alternatives A decision being questioned recover its rationale to justify it Complex, difficult to update and maintain Issue models

37 Software Configuration Management Monitors and controls changes in work products Change pervades software development Requirements change as client requests new features and as developers improve their understanding of the application domain Hardware/software platforms change as new technology emerges System changes as faults are discovered during testing and then repaired Software configuration management can Deal with changes during all stages of development Enable developers to track changes: roll back to a well-defined state of the system when a change fails Enable developers to control changes: any change needs to be assessed and approved before being implemented

38 Project Management & Software Life Cycle Project Management Include the oversight activities ensuring the delivery of a high-quality system on time and within budget does not produce any artifact of its own Planning and budgeting the project, hiring developers and organizing them into teams, monitoring the status of the project, intervening when deviations occur Software Life Cycle A general model of the software development process The process of developing software can be viewed as a complex system with Inputs Outputs Activities Resources

39 Summary Why do we need software engineering Characteristics of software systems Software systems are complex creations Software systems are subject to constant changes What is software engineering A collection of techniques, methodologies and tools that help with the production of a high quality software system on time and within budget, while change occurs Software engineering is a modeling, problem-solving, knowledge acquisition, and rationale-driven activity Modeling: An abstract representation of a system Problem-solving: Six steps of OOSE Knowledge acquisition: A nonlinear process Rationale-driven: Handling changes

40 Summary SE Concepts: Project, activity, task, resources, work products Participants and roles Systems and models Work products Internal work product, deliverable Functional and nonfunctional requirements Notations, methods, and methodologies SE Development Activities Requirement elicitation, analysis, system design, object design, implementation, testing SE Management Activities Communications, rationale management, software configuration management, project management, software life cycle

Object-Oriented Software Engineering Using UML, Patterns, and Java. Chapter 1: Introduction

Object-Oriented Software Engineering Using UML, Patterns, and Java. Chapter 1: Introduction Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 1: Introduction Object-Oriented Software Engineering Using UML, Patterns, and Java Ingegneria del software: scenario di riferimento

More information

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 1: Introduction!

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 1: Introduction! Chapter 1: Introduction! Ingegneria del software: scenario di riferimento Ingegneria del software: scenario di riferimento Ingegneria del software: scenario di riferimento Ingegneria del software: scenario

More information

Chapter 1: Introduction

Chapter 1: Introduction Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction What is a computer program? A list of instructions, written in a specific programming language (Java, C, Fortran,

More information

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition Chapter 1 What is Software Engineering Shari L. Pfleeger Joanne M. Atlee 4 th Edition Contents 1.1 What is Software Engineering? 1.2 How Successful Have We Been? 1.3 What Is Good Software? 1.4 Who Does

More information

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition Chapter 1 What is Software Engineering Shari L. Pfleeger Joanne M. Atlee 4 th Edition Contents 1.1 What is Software Engineering? 1.2 How Successful Have We Been? 1.3 What Is Good Software? 1.4 Who Does

More information

Model-Based Design From Rapid Prototyping to Production

Model-Based Design From Rapid Prototyping to Production Model-Based Design From Rapid Prototyping to Production 基于模型的设计 从快速原型到产品 Paul Smith Director Consulting Services MathWorks 2014 The MathWorks, Inc. 1 Prototyping to Production 原型到产品 Production Code Generation

More information

Chapter 1. Contents. 1.1 What is Software Engineering! Solving Problems. Objectives. What is Software Engineering

Chapter 1. Contents. 1.1 What is Software Engineering! Solving Problems. Objectives. What is Software Engineering Chapter 1 What is Software Engineering Shari L. Pfleeger Joanne M. Atlee 4 th Edition Contents 1.1 What is Software Engineering? 1.2 How Successful Have We Been? 1.3 What Is Good Software? 1.4 Who Does

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 3.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 THE SOFTWARE PROCESS Overview Slide 3.3

More information

Curriculum Plan for the CEPM Program of Jiangsu University (CEPM 2011 Batch and later)

Curriculum Plan for the CEPM Program of Jiangsu University (CEPM 2011 Batch and later) Curriculum Plan for the CEPM Program of Jiangsu University (CEPM 2011 Batch and later) Duration of Study The four-year Civil Engineering and Project Management (CEPM) undergraduate program consists of

More information

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3. Slide 3.1 CHAPTER 3 Slide 3.2 Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 3.3 Overview (contd) Slide 3.4

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Software Engineering I Lecture 4 14. November 2006 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation Requirements elicitation challenges

More information

Requirements Engineering

Requirements Engineering Requirements Engineering Software Engineering Andreas Zeller Saarland University Requirements Engineering The Real World Requirements Engineering A description of what the system should do (but not how)

More information

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung 2 David Kung Object-Oriented Software Engineering An Agile Unified Methodology Solutions Manual 3 Message to Instructors July 10, 2013 The solutions provided in this manual may not be complete, or 100%

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap UML Introduction Basic UML concepts 2 Basic Notations of UML Requirement Phase Analysis Phase Design Phase Object Design Phase 1. Use Case Diagrams

More information

Software Lifecycle Activities

Software Lifecycle Activities Software Lifecycle Activities Requirements Elicitation Requirements Analysis System Design Object Design Implementation Testing Expressed in Terms Of Implemented Structured By Realized By By Verified By

More information

Chapter 8 Understanding Requirements

Chapter 8 Understanding Requirements Chapter 8 Understanding Requirements Software Engineering: A Practitioner s Approach, 8th edition by Roger S. Pressman 1 Outline What is RE? RE Tasks RE Process Eliciting Requirements( 需求获取 ) Developing

More information

Requirements Engineering and Software Architecture Project Description

Requirements Engineering and Software Architecture Project Description Requirements Engineering and Software Architecture Project Description Requirements Engineering Project Description The project is student-driven. There will be external sponsors, users, and others that

More information

REQUIREMENTS ENGINEERING

REQUIREMENTS ENGINEERING 1 REQUIREMENTS ENGINEERING Chapter 4- by Ian Sommerville TOPICS COVERED Functional and non-functional requirements The software requirements document Requirements specification Requirements engineering

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 09/03/2014 Pending Items Due by 09/03/2014 Students: (Pending) Write one page Introduction about yourself

More information

Chapter 3 Prescriptive Process Models

Chapter 3 Prescriptive Process Models Chapter 3 Prescriptive Process Models - Generic process framework (revisited) - Traditional process models - Specialized process models - The unified process Generic Process Framework Communication Involves

More information

Software Engineering. Zheng Li( 李征 ) Jing Wan( 万静 )

Software Engineering. Zheng Li( 李征 ) Jing Wan( 万静 ) Software Engineering Zheng Li( 李征 ) Jing Wan( 万静 ) Couse Assessment Total 40 Lesson 32 Project 8 TextBooks: 软件工程 : 实践者的研究方法 ( 英文精编版第 8 版 ) Software Engineering: A Practitioner s Approach, 8/e Roger S.Pressman

More information

Software Engineering II - Exercise

Software Engineering II - Exercise Software Engineering II - Exercise April 29 th 2009 Software Project Management Plan Bernd Bruegge Helmut Naughton Applied Software Engineering Technische Universitaet Muenchen http://wwwbrugge.in.tum.de

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/05/2014 Student Registration System (SRS) RC University Management Board approved a new Student Registration

More information

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

INFORMATION SYSTEMS ANALYSIS AND DESIGN

INFORMATION SYSTEMS ANALYSIS AND DESIGN INFORMATION SYSTEMS ANALYSIS AND DESIGN Shouhong Wang Hai Wang Universal-Publishers Boca Raton TABLE OF CONTENTS PREFACE 7 CHAPTER 1. INTRODUCTION 13 1.1. Context of Information Systems Analysis and Design

More information

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 3, Project Organization and Communication

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 3, Project Organization and Communication Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 3, Project Organization and Communication How it should go Requirements! Analysis! Design! Implementation! System Testing! Delivery

More information

Rational Unified Process (RUP) in e-business Development

Rational Unified Process (RUP) in e-business Development Rational Unified Process (RUP) in e-business Development Jouko Poutanen/11.3.2005 2004 IBM Corporation Agenda Characteristics of e-business Development Business Modeling with RUP and UML Rational Tools

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 08/25/2014 Introduction About me Qualifications B.E. (Electronics & Communications) M.S. (CS) Ph.D. Candidate

More information

Course Organization. Lecture 1/Part 1

Course Organization. Lecture 1/Part 1 Course Organization Lecture 1/Part 1 1 Outline About me About the course Lectures Seminars Evaluation Literature 2 About me: Ing. RNDr. Barbora Bühnová, Ph.D. Industrial experience Research Quality of

More information

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

More information

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Chapter 3, Project Organization and Communication

Chapter 3, Project Organization and Communication Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication Lecture Outline Project Definition Project Organization Roles Tasks & Activities Work

More information

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1 Development Process and Analysis LTOOD/OOAD - Verified Software Systems 1 Software Crisis Declared in the late 60 s Expressed by delays and failures of major software projects (unreached goals, unpredictable

More information

PMP Exam Preparation Workshop. Chapter # 5 Project Scope Management

PMP Exam Preparation Workshop. Chapter # 5 Project Scope Management PMP Exam Preparation Workshop Chapter # 5 Copyright PMI SOC 2013 1 Learning Objectives By the end of this session you will understand: How scope management processes relate to the process groups Project

More information

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap What is software engineering? Modeling Problem solving Knowledge acquisition Rational Managing Software development Communication Rational Management

More information

System Engineering. Instructor: Dr. Jerry Gao

System Engineering. Instructor: Dr. Jerry Gao System Engineering Instructor: Dr. Jerry Gao System Engineering - System Engineering Hierarchy - System Modeling - Information Engineering: An Overview - Product Engineering: An Overview - Information

More information

Algorithms in Bioinformatics 生物信息学算法原理

Algorithms in Bioinformatics 生物信息学算法原理 Algorithms in Bioinformatics 生物信息学算法原理 Chaochun Wei ( 韦朝春 ) ccwei@sjtu.edu.cn http://cbb.sjtu.edu.cn/~ccwei Jing Li ( 李婧 ) Fall 2013 1 Contents What is Bioinformatics What is an algorithm Why we need algorithm

More information

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators Including Knowledge and Skills, and CSPB01.01 Identify and analyze customer software needs and requirements. CSPB01.01.01.00 Gather data to identify customer requirements. CSPB01.01.01.01 Gather information

More information

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators Including Knowledge and Skills, and ICPB01.01 Identify and analyze customer software needs and requirements. ICPB01.01.01.00 Gather data to identify customer requirements. ICPB01.01.01.01 Gather information

More information

The software process

The software process Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation

More information

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1 Requirements Engineering SE Tutorial RE - 1 What Are Requirements? Customer s needs, expectations, and measures of effectiveness Items that are necessary, needed, or demanded Implicit or explicit criteria

More information

Requirements Knowledge Model. Business. Event. Business. responding. Business. Use Case 1.. Business tracing * * * * Requirement

Requirements Knowledge Model. Business. Event. Business. responding. Business. Use Case 1.. Business tracing * * * * Requirement Requirements Knowledge Model This model provides a language for communicating the knowledge that you discover during requirements-related activities. We present it here as a guide to the information you

More information

MATLAB 汽车大数据分析平台的构建及应用

MATLAB 汽车大数据分析平台的构建及应用 MATLAB 汽车大数据分析平台的构建及应用 卓金武 MathWorks 中国 steven.zhuo@mathworks.cn 2015 The MathWorks, Inc. 1 牛人如何看汽车大数据分析? Today's cars produce upwards of 25GB of information per hour information is helping us understand

More information

Why Document the Architecture? EEC 421/521: Software Engineering. Design Process. Thinking About Design. Stakeholder Communication.

Why Document the Architecture? EEC 421/521: Software Engineering. Design Process. Thinking About Design. Stakeholder Communication. Why Document the Architecture? EEC 421/521: Software Engineering Architectural Design Stakeholder Communication High-level presentation of system System Analysis Big effect on performance, reliability,

More information

Requirements Verification and Validation

Requirements Verification and Validation SEG3101 (Fall 2010) Requirements Verification and Validation SE502: Software Requirements Engineering 1 Table of Contents Introduction to Requirements Verification and Validation Requirements Verification

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT 1 1. What are software myths Answer: Management myths: We already have a book

More information

Chapter 4 Project Integration Management

Chapter 4 Project Integration Management PAGE - 1 - Chapter 4 Project Integration Management PAGE - 2 - Time Management 1. Activity Definition 2. Activity Sequencing 3. Activity Resource Estimating 4. Activity Duration Estimating 5. Schedule

More information

土木工程专业本科人才培养计划. Undergraduate Program for Specialty in Civil Engineering

土木工程专业本科人才培养计划. Undergraduate Program for Specialty in Civil Engineering 土木工程与力学学院 土木工程与力学学院下设 5 个系, 即工程力学系 建筑工程系 道路与桥梁工程系 工程管理系和交通工程系 设有四个本科专业 : 土木工程 工程管理 工程力学 交通工程 全院共有教职工 180 余人, : 中国工程院院士 1 人 ( 双聘 ), 中国科学院院士 1 人 ( 双聘 ), 国家级教学名师 1 人, 国家杰出青年基金获得者 1 人, 长江学者特聘教授 2 人, 长江学者讲座教授

More information

NDIA Test and Evaluation Conference

NDIA Test and Evaluation Conference NDIA Test and Evaluation Conference Model Based Systems Engineering (MBSE) and Modeling and Simulation (M&S) adding value to Test and Evaluation (T&E) March 16, 2011 Larry Grello High Performance Technologies,

More information

Shanghai. Trainee Data Processing Executive. MMR is a Global Market Research company specialising in Food, Drink and Personal Care research

Shanghai. Trainee Data Processing Executive. MMR is a Global Market Research company specialising in Food, Drink and Personal Care research 150 employees 12 employees 15 employees MMR is a Global Market Research company specialising in Food, Drink and Personal Care research Our clients rely on high quality data to make informed business decisions

More information

FOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN

FOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN FOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN Loyd Baker, Paul Clemente, Bob Cohen, Larry Permenter, Byron Purves, and Pete Salmon INCOSE Model Driven System Interest Group Abstract. This paper

More information

Software Engineering. What is Software Engineering? What does SE do? CS / COE 1530

Software Engineering. What is Software Engineering? What does SE do? CS / COE 1530 Software Engineering CS / COE 1530 Lecture 1 What is Software Engineering? What is software? What is engineering? Why taught in Computer Science Department? What does SE do? Software engineering comprises

More information

Requirements Engineering and Software Architecture Project Description

Requirements Engineering and Software Architecture Project Description Requirements Engineering and Software Architecture Project Description Requirements Engineering Project Description This project is student-driven. There will be external sponsors, users, and others that

More information

Chapter 12, Rationale Management

Chapter 12, Rationale Management Chapter 12, Rationale Management Using UML, Patterns, and Java Object-Oriented Software Engineering An aircraft example A320 First fly-by-wire passenger aircraft 150 seats, short to medium haul A319 &

More information

Global Journal of Engineering Science and Research Management

Global Journal of Engineering Science and Research Management SW REQUIREMENT ENGINEERING IN PRACTICE Smita Raj* * C-204, Shiksha Niketan, Vasundhara, Sec-5, Ghaziabad 201012 DOI: 10.5281/zenodo.199474 KEYWORDS: Requirement, Requirement engineering, process models,

More information

Analysis on the Parking demand of the Commercial Buildings Considering the Public Transport Accessibility

Analysis on the Parking demand of the Commercial Buildings Considering the Public Transport Accessibility Analysis on the Parking demand of the Commercial Buildings Considering the Public ransport Accessibility Commercial Buildings in Beijing as an Example Huanmei Qin 1, Qing Xiao 1, Hongzhi Guan 1, Xiaosong

More information

Section ACARA Content Descriptors Completed? RCJA 1 - Project Overview / What are your initial thoughts to solving the problem?

Section ACARA Content Descriptors Completed? RCJA 1 - Project Overview / What are your initial thoughts to solving the problem? Section ACARA Content Descriptors Completed? RCJA 1 - Project Overview / What are your initial thoughts to solving the problem? ACTDIP017 - Define problems in terms of data and functional requirements,

More information

Software Engineering and Software Engineers

Software Engineering and Software Engineers CS2 Software Engineering note 1 Software Engineering and Software Engineers The aim of the Software Engineering thread in CS2 is to further develop the study of the engineering process involved in creating

More information

Functional requirements and acceptance testing

Functional requirements and acceptance testing Functional requirements and acceptance testing Lecture 3 Software Engineering TDDC88/TDDC93 autumn 2007 Department of Computer and Information Science Linköping University, Sweden Message from the course

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions

More information

[Name] [ ID] [Contact Number]

[Name] [ ID] [Contact Number] [Name] [Email ID] [Contact Number] THIS IS ONLY MODEL RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. PROFILE SUMMARY 15+ years of IT experience in Consulting and worked with the Major clients for the

More information

ACCAspace ACCA P5 习题详解. Provided by. Advanced Performance management (APM) 高级业绩管理第十二讲 ACCA Lecturer: Jerry Lin

ACCAspace ACCA P5 习题详解. Provided by. Advanced Performance management (APM) 高级业绩管理第十二讲 ACCA Lecturer: Jerry Lin ACCAspace Provided by ACCA Research ACCA Institute Research ACCA 课程研究学院 Institute ACCA P5 习题详解 Advanced Performance management (APM) 高级业绩管理第十二讲 ACCA Lecturer: Jerry Lin Syllabus Relational diagram of main

More information

Pertemuan 2. Software Engineering: The Process

Pertemuan 2. Software Engineering: The Process Pertemuan 2 Software Engineering: The Process Collect Your Project Topic What is Software Engineering? Software engineering is the establishment and sound engineering principles in order to obtain economically

More information

SPIN AND RE-SPIN A WEB TO CATCH ALL POSSIBLE BUGS: A NEW WAY TO BUILD AND CONTINUOUSLY REFINE A PROCESS PERFORMANCE MODEL

SPIN AND RE-SPIN A WEB TO CATCH ALL POSSIBLE BUGS: A NEW WAY TO BUILD AND CONTINUOUSLY REFINE A PROCESS PERFORMANCE MODEL SPIN AND RE-SPIN A WEB TO CATCH ALL POSSIBLE BUGS: A NEW WAY TO BUILD AND CONTINUOUSLY REFINE A PROCESS PERFORMANCE MODEL NAME: Bin Cong with co-authors Eric Zhou,Kaijian Xu TITLE: Chief Process Architect

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

Production and Education

Production and Education Dr. Steffen Kersten Fakultät Erziehungswissenschaften, Institut für Berufspädagogik und Berufliche Didaktiken Production and Education Beijing, September 2018 Influence factors of vocational education

More information

7. Project Management

7. Project Management Subject/Topic/Focus: 7. Project Management Management of Systems Engineering Processes Summary: Project management Systems engineering Maturity model and process improvement Literature: Ian Sommerville:

More information

Enterprise Architecture: an ideal discipline for use in Supply Chain Management

Enterprise Architecture: an ideal discipline for use in Supply Chain Management Enterprise Architecture: an ideal discipline for use in Supply Chain Management Richard Freggi Senior Supply Chain Architect (TOGAF 9.1 certified level 2) HP Inc. Content Understanding Supply Chain Management

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering 2. Requirements Collection Mircea F. Lungu Based on a lecture by Oscar Nierstrasz. Roadmap > The Requirements Engineering Process > Functional and non-functional requirements

More information

Babu Madhav Institute of Information Technology, UTU 2017

Babu Madhav Institute of Information Technology, UTU 2017 Five Years Integrated M.Sc. (IT) Semester 3 Question Bank 060010312 CC9 Software Engineering Unit 1 Introduction to Software Engineering and Object-Oriented Concepts 1. What is software? 2. Which documents

More information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation Chapter 2 Software Processes Lecture 1 Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing

More information

System and Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

System and Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the answers

More information

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220 Requirements Organisation, Analysis and Negotiation Software Requirements & Project Management CITS3220 Organising Requirements Viewpoints Interactor viewpoints: people or other systems that interact

More information

PMBOK Guide Fifth Edition Pre Release Version October 10, 2012

PMBOK Guide Fifth Edition Pre Release Version October 10, 2012 5.3.1 Define Scope: Inputs PMBOK Guide Fifth Edition 5.3.1.1 Scope Management Plan Described in Section 5.1.3.1.The scope management plan is a component of the project management plan that establishes

More information

ETASS II SKILL LEVEL AND LABOR CATEGORY DESCRIPTIONS. Skill Levels

ETASS II SKILL LEVEL AND LABOR CATEGORY DESCRIPTIONS. Skill Levels ETASS II SKILL LEVEL AND LABOR CATEGORY DESCRIPTIONS Skill Levels Level Entry I Intermediate II Senior III Principal IV Knowledge/Skill Description Applies fundamental concepts, processes, practices, and

More information

The Rational Unified Process for Systems Engineering PART II: Distinctive Features

The Rational Unified Process for Systems Engineering PART II: Distinctive Features The Rational Unified Process for Systems Engineering PART II: Distinctive Features by Murray Cantor Principal Consultant Rational Software Corporation In Part I of this article, published in last month's

More information

Acquiring IT Applications and Infrastructure

Acquiring IT Applications and Infrastructure Chapter 15 Acquiring IT Applications and Infrastructure Information Technology For Management 6th Edition Turban, Leidner, McLean, Wetherbe Lecture Slides by L. Beaubien, Providence College John Wiley

More information

Past, Present and Future Directions with Open Demand Response Communications

Past, Present and Future Directions with Open Demand Response Communications Past, Present and Future Directions with Open Demand Response Communications Mary Ann Piette Director, Demand Response Research Center Lawrence Berkeley National Laboratory 2018 OpenADR Alliance Member

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 4 Integrated Object-Oriented Methodologies: OPM and RUP 1 Object Process Methodology (OPM) Introduced by Dori in 1995. Primarily intended

More information

生物信息中的算法设计 概率统计模型 2014 年春

生物信息中的算法设计 概率统计模型 2014 年春 生物信息中的算法设计 概率统计模型 2014 年春 有关信息 邓明华 Email: dengmh@pku.edu.cn Office: 北京大学理科一号楼 1579E Phone: 62767562, 13522856599 课程网页 考评 平时作业 :20% 期末 Project:80% 以下 PPT 部分来源于 Zhaohui Qin( University of Emory) 2011 年北京大学统计中心暑期课程第一讲

More information

Who Am I? Project Basics. Project. Why Project? Alternative (names) Poloya s Method. Computer Science program ISD Datasystem AB (6 years)

Who Am I? Project Basics. Project. Why Project? Alternative (names) Poloya s Method. Computer Science program ISD Datasystem AB (6 years) Project Basics Anders Hessel Department of Information Technology Uppsala University Who Am I? Computer Science program ISD Datasystem AB (6 years) Developer Technical Project Manager 1 ½ year Ericsson

More information

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs. What are requirements? Basics of Requirement Engineering Muzaffar Iqbal Farooqi A requirement is a necessary attribute in a system, a statement that identifies a capability, characteristic, or quality

More information

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II Process, Models, Methods, Diagrams Software Development Life Cyles Part - II A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process maturity based

More information

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations Business Requirements Business requirements collected from multiple sources might conflict. For example, consider a kiosk product with embedded software that will be sold to retail stores and used by the

More information

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques. BA31 - Unified Modeling Language (UML) for Business Analysts This course will provide Business Analysts with new capabilities to improve their skills with using visual modeling techniques to document requirements.

More information

Watson Internet of Things. Agile Development Why requirements matter

Watson Internet of Things. Agile Development Why requirements matter Watson Internet of Things Agile Development Why requirements matter Executive summary The clear benefits of agile development better collaboration, incremental delivery, early error detection and the elimination

More information

Machine Learning and Analytics. Machine Learning. Data Lake Analytics. HDInsight (Hadoop, Spark, Storm, HBase Managed Clusters) Stream Analytics

Machine Learning and Analytics. Machine Learning. Data Lake Analytics. HDInsight (Hadoop, Spark, Storm, HBase Managed Clusters) Stream Analytics 微软云上数据平台概括 Data Sources Information Management Big Data Stores Machine Learning and Analytics Intelligence People Data Factory Data Lake Store Machine Learning Cognitive Services Data Catalog SQL Data

More information

People matters How to effectively manage talents and customers? Michael Zhang Industry Principal, Financial Services

People matters How to effectively manage talents and customers? Michael Zhang Industry Principal, Financial Services People matters How to effectively manage talents and customers? Michael Zhang Industry Principal, Financial Services Today s challenges for Financial Institutions Business Model Restructuring Diversification

More information

Requirements Elicitation. Software Requirements and Design CITS 4401 Lecture 17

Requirements Elicitation. Software Requirements and Design CITS 4401 Lecture 17 Requirements Elicitation Software Requirements and Design CITS 4401 Lecture 17 Lecture Overview What is requirements elicitation? Underlying difficulties Generic Techniques Specific Techniques Requirements

More information

Software Modeling & Analysis

Software Modeling & Analysis Software Modeling & Analysis OOPT (Object Oriented Process with Trace) Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is OOPT? OOPT (Object Oriented Process with Trace) A software process based on RUP Revision

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

Managing Information Technology 6 th Edition

Managing Information Technology 6 th Edition Managing Information Technology 6 th Edition CHAPTER 9 BASIC INFORMATION SYSTEMS CONCEPTS Copyright 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 What is a system? The Systems View It s the

More information

Object-Oriented Modeling: A Roadmap

Object-Oriented Modeling: A Roadmap University of Paderborn Leiden University Object-Oriented Modeling: A Roadmap University of Paderborn Leiden University Software Development: Traditional (?) Approach implementation June 8, 2000 ICSE 2000:

More information

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

Air pollution in large cities Bjarne Sivertsen Norwegian Institute for Air Research. Sino-Norwegian cooperation, EXPO 2010

Air pollution in large cities Bjarne Sivertsen Norwegian Institute for Air Research. Sino-Norwegian cooperation, EXPO 2010 Air pollution in large cities Bjarne Sivertsen Sino-Norwegian cooperation, EXPO 2010 城市化 Urbanization 导致人口对空气污染的曝露和健康损害上升 causes increased population exposure and health effects Rise of megacities 2015

More information

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, 2003 Requirements Engineering Class Objectives Students will be able to define the two process areas associated with the Requirements

More information

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1 Lectures 2 & 3 Software Processes Software Engineering, COMP201 Slide 1 What is a Process? When we provide a service or create a product we always follow a sequence of steps to accomplish a set of tasks

More information