Course 254 451 Software Engineering Final Test Preparation Michael Brueckner.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
Advertisements

John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
หลักการและแนวคิดการนำ สื่ออิเล็กทรอนิกส์ มาใช้ใน การเรียนการสอน ผศ. นพ. ทรงพล ศรีสุโข 30 ก. ย
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
ขั้นตอนวิธีและเครื่องมือในการพัฒนาโปรแกรม (ต่อ)
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Project Based Learning
การซ้อนทับกัน และคลื่นนิ่ง
Supreeya Wongtra-ngan,MD.,MHPEd. CLINICAL COMPETENCIES  Factual Knowledge  Technical Skill  Problem Solving Skill  Communication Skill  Manners &
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
BC 423 Systems Analysis and Design อ. พนิดา ตันศิริ ต่อ 1648 Grading Criteria 1.Mid-term Exam40 % 2. Final.
BC423 Systems Analysis and Design อ. พนิดา ตันศิริ ต่อ 1640
รู้จักกับเทคโนโลยี RFID เบื้องต้น
Emergency Response System for Elderly and PWDs: Design & Development
CIO Roles and Responsibilities
การอบรมเชิงปฏิบัติการเรื่อง “การสร้างข้อสอบ OSCE”
Database Management System
Marketing to Business.
อาจารย์ มธ. อธิบายการใช้ โมเดลของ
ระบบการจัดเก็บในคลังสินค้า
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
บทที่ 12 Virtual Private Networks
Helping you make better treatment decisions for your patients.
BUSINESS SYSTEM ANALYST Course Description. Role of a Business Analyst  A "Business Analyst" (BA). In some companies, the BA plays a technical role with.
บทที่ 2. วิศวกรรมระบบ (Systems Engineering)
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering Class 5 / Requirements Engineering Michael Bruecknerphone (ext. 3233) อ. มิช่า
Course Software Engineering SE Overview and Introduction.
Course Software Engineering Lecture 3: The Products / History and Future of SE Michael Brueckner.
Course Software Engineering SE Overview and Introduction.
Project Management Wathana Yeunyong, Ph.D..
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม
Modern Management นำเสนอโดย อาจารย์มุกดา ยี่หวา คณะบริหารธุรกิจ.
Create the Knowledge Management Blueprint
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
บทที่ 2 งบการเงินพื้นฐาน BASIC FINANCIAL STATEMENTS 2.
By Dr Nongyao Premkamolnetr Policy Innovation Center, KMUTT 17 January 2009.
July Lecture Side Lecture by Suradet Tantrairatn Lecturer and Researcher Chapter Four June 2010 Definitions, Goals, and Objective.
Food Alert System of Thailand (FAST) EU-Thailand Economic Co-operation Small Projects Facility.
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
Mini KM.
Introduction to Earned Value Analysis.
Lecture on Grading. Instructor: Ajarn Neill Grant Office: Room Course Website: (NO
Writing a research. Why Research?  To find whether the messages and the materials are appropriate to the target group  To modify the messages and the.
iWaLL โดย 1. นายวีกิจ สัจจะมโนรมย์
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
1-1: Software Project Management การจัดการโครงงานซอฟต์แวร์ Software Project Management การจัดการโครงงานซอฟต์แวร์ ความหมายการจัดการโครงงาน.
Project Framework Risk & Issue Management Sponsor Management
วิธีการทำงานของ ตัวประมวลผลสารสนเทศมีการ ศึกษาวิเคราะห์ และออกแบบโครง สร้างหน้าที่ด้วยสถาปัตยกรรมองค์ประกอบ 6 ส่วน ในตัวประมวลผลสารสนเทศ ได้แก่……………..
M prapansilp 09 1 มุมมองในระบบและกลไก เพื่อเด็กไทยมีโภชนาการสมวัย โครงการพัฒนาระบบและกลไกเพื่อ เด็กไทยมีโภชนาการสมวัย หลุยส์แทรเวิร์น กรุงเทพฯ 28 มิถุนายน.
การบริหารการประเมินผลการปฏิบัติงาน Performance Management
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Dianne J. Hall David B. Paradice James F. Courtney Proceedings of the 34th Hawaii International Conference on System Sciences
ทุนทางปัญญา Intellectual Capital KM743 Session 3.1
เอกสารเรียนวันที่ 27 มกราคม 2555
Chapter 3 Simple Supervised learning
Thai Quality Software (TQS)
An Online Computer Assisted Instruction Development of Electronics Devices Subject for Learning Effectiveness Testing By Assoc.Prof. Suwanna Sombunsukho.
Introduction of DREAM สุวรรณา ประณีตวตกุล คณะเศรษฐศาสตร์ มหาวิทยาลัยเกษตรศาสตร์
The Analysis of Strands, Standards and Indicators for Tests
 Mr.Nitirat Tanthavech.  HTML forms are used to pass data to a server.  A form can contain input elements like text fields, checkboxes, radio-buttons,
The management of change Changes in work patterns and jobs
<insert problem title>
Extreme Programming Explained: Embrace Change
STRATEGIES FOR SUCCESS
Description of Training
Year 9 Term 1 Foundation (Unit 1) INTEGERS, ROUNDING AND PLACE VALUE
ใบสำเนางานนำเสนอ:

Course Software Engineering Final Test Preparation Michael Brueckner

(c) Michael Brueckner Introduction to Software Engineering  Terminology คำศัพท์เฉพาะทาง :  software,  software engineering,  software engineers,  software products  Difference ความแตกต่าง between software engineering and systems engineering  Difference between software engineering and computer science

(c) Michael Brueckner Software  Software comprises รวมถึง computer programs and data plus technical descriptions used to run the programs.  Def (John W. Turkey): Software is everything in a computer which is not hardware.  In legal เกี่ยวกับกฎหมาย / ได้รับอนุญาตตาม กฎหมาย view software is intellectual work ทรัพย์สินทางปัญญา

(c) Michael Brueckner Software Engineering  All activities which lead to a software product  Get all requirements  Design the system  Programming  Testing the system  Track the versions  Manage the people

(c) Michael Brueckner Software Products-1  Generic โดยทั่วไป products  Customized ซึ่งสร้าง ตามคำสั่งเฉพาะของ ลูกค้าคนเดียว products  We have to manage versions Where do you think do we have to manage more versions?

(c) Michael Brueckner Software Development Process Basic Ideas  Requirements – Specification ข้อจำกัด  Development – Implementation ทำให้มีผล  Validation การให้เหตุผล – Distribution  Evolution วิวัฒนาการ – more versions!  Process models ต้นแบบ = simplified ทำให้ ง่ายขึ้น description of SW development

(c) Michael Brueckner Software Engineering  „systematic ซึ่งเป็นระบบ,  disciplined,  quantifiable ซึ่งบอกจำนวน approach วิธีการ ทำให้ถึงจุดหมาย  to the development,  Operation การดำเนินการ, and  Maintenance การรักษาสภาพ of software".

(c) Michael Brueckner Inter-Disciplinary Software Engineering Example: Air Traffic Control System

(c) Michael Brueckner Engineering & Management  Science: experiments; empirical studies; theories characterizing system behavior (e.g. system reliability)  Management: organizing teams and activities; controlling and monitoring  Human factors: ergonomics in user interface design; user task understanding and modeling  Engineering: application of science to typical problems; solutions to typical problems; working out principles and good practices

(c) Michael Brueckner Principles of SE  Modularity ประกอบด้วยหน่วยแยกต่างๆ and Decomposition การเน่าเปื่อย  Abstraction นามธรรม  Anticipation การรอคอยอย่างคาดหวัง of Change (“think in advance” ล่วงหน้า )  Generality กฎเกณฑ์ทั่วไป  Incrementality การเพิ่มขึ้น  Reliability ความน่าเชื่อถือ

(c) Michael Brueckner Why is SE important?-1  Since the 1950s computers are part of modern society. This leads to the  need to be reliable เชื่อถือได้  need to be safe ปลอดภัย  need to be secure ไม่มีกังวล (stable)

(c) Michael Brueckner Why is SE important?-2  Software is an important factor in business  Functional (the features)  Used for daily work  Used for communication  Used for information retrieval (information ist the most important factor in todays business)  Cost ค่าใช้จ่าย  Cost: only once (1 x),  money is the most important decision maker in business  Revenue รายได้

(c) Michael Brueckner SE has to do with...  Programming  Problem solving  Management of people (psychology)  Processes

(c) Michael Brueckner Types of Software Systems  Transaction Processing  Batch Processing  Real Time Processing  Transaction: การติดต่อทางธุรกิจ / การ ดำเนินการ / ความสัมพันธ์ระหว่างบุคคล

(c) Michael Brueckner Batch Processing  Software is executed all at once  No need for user interaction  Used for time consuming ที่สิ้นเปลืองเวลา มาก processing  Movie rendering การแปล (put into other format)  Simulation software

(c) Michael Brueckner Real Time Processing  Quick response software (like embedded software)  Data from environment สภาพแวดล้อม is processed  process control plants (manufacturing, refining),  telephone switching systems,  hospital patient monitoring systems,  air traffic control  weather data collection, water quality

(c) Michael Brueckner Real Time vs. Transaction Processing  Real time can work automatically โดยอัตโนมัติ  Response การตอบสนอง depends on the state of the system (HW- SW)  Example: telephone switch –  all lines are busy  More complex design work needed  Safety issues  First version must be without bugs!  Example: Patient Monitoring System for hospital

(c) Michael Brueckner Software Engineering Technology  Three layers  (1) Process แนวทางปฏิบัติ  (2) Methods วิธี of management and technology  (3) Tools เครื่องมือ

(c) Michael Brueckner SE Process  Engineering Process  is a series อนุกรม of steps ก้าว to create a quality product* at the right time  is like a road map  has to be adapted ทำให้เหมาะ to the needs  leads to stability เสถียรภาพ, control and organization of the project activities *quality product: code, data and documents

(c) Michael Brueckner SE Process Model-2  Basic SE process models  Linear Model (Waterfall)  Evolution วิวัฒนาการ Model (Prototyping)  Reusable นำกลับมาใช้ใหม่ Components Model

(c) Michael Brueckner Linear Process Model-1  Problem definition  Requirements  Development  Testing  are distinct and separate phases

(c) Michael Brueckner Linear Process Model-2

(c) Michael Brueckner SE Process Model-2  Basic SE process models  Linear Model (Waterfall)  Evolution Model (Prototyping)  Reusable Components Model

(c) Michael Brueckner Evolution Model-1  (1) Evolution Model 1: Development like an exploration  Find out with the customers how the system will work  Add new features according to customer understanding  (2) Evolution Model 2: Throw away prototype  Starts with poor understanding of requirements  Team develops a „quick and dirty“ system  Refinement

(c) Michael Brueckner Example: Evolution Model

(c) Michael Brueckner Evolutionary Model-2 Validation Final version Development Intermediate versions Specification Initial version Outline description Concurrent activities

(c) Michael Brueckner SE Process Model-2  Basic SE process models  Linear Model (Waterfall)  Evolution Model (Prototyping)  Reusable Components Model

(c) Michael Brueckner Reusable Components Model-1  Process stages  Component analysis  Requirements modification  System design with reuse  Development and integration

(c) Michael Brueckner Reusable Components Model-2 Requirements specification Component analysis Development and integration System design with reuse Requirements modification System validation Component analysis Outside System Inside System

(c) Michael Brueckner Project Management / Project  Examples: I build my own PC from spare parts: 1 person with limited budget, 1 month time schedule Bring a man on the moon: people with Mio. USD-budget, 7 years time schedule Implementation of an information system: 50 people, 1 Mio. budget, 6 months time schedule A project is a temporary ที่เป็นการชั่วคราว endeavor ความ พยายาม with a budget งบประมาณ and a timeline to achieve สำเร็จ particular aims and to which project management can be applied.

(c) Michael Brueckner Project Management / Definition  PM standardizes ทำให้เป็นมาตรฐาน and structures สร้างโครงสร้าง the basic จำเป็นที่สุด tasks in a project  PM aims at completing a project in the most cost- effective and efficient ซึ่งมีประสิทธิภาพ way Project Management is the application of knowledge, skills, tools, and techniques to the activities in a project. Project management comprises five basic tasks – Initiating ริเริ่ม, Planning วางแผน, Executing ดำเนินการ, Controlling ตรวจสอบ, Closing จบ

(c) Michael Brueckner Project Management / Phase  Example: Project Start (Phase)  Activities: get the manpower กำลังคน, get the money, get the room and equipment, define the project‘s deadline กำหนดเวลา สุดท้ายที่ต้องทำให้เสร็จ  Milestone: Project application การขอ is signed  Documents: „Project Structure“, „Project Plan“ (time and budget), „Project Mission“ จุดมุ่งหมาย A Project Phase is a set of activities in a project which form a major ส่วนใหญ่ part of the work. The project phase is completed with a project milestone and defined documents that have to be delivered.

(c) Michael Brueckner Project Management / Milestone Example: End of Project (Milestone):  Completes the phase "Installation and Maintenance“  Delivered documents: "Project Completion Approval" signed by Project Board A Milestone completes a project phase. It is defined as a date at which required ต้องการ documents have to be delivered. MS1 Phase 1Phase 2 MS2...

(c) Michael Brueckner Project Management / Deliveries, Project Document For some results in the project there must be substitute คนหรือสิ่งที่เข้าแทนที่ documents, such as for executable code. A Project Document is a document which has a defined scope ขอบเขต and content สาร relevant เข้า ประเด็น to the project. Every Project Document must have an author (responsible for delivering ส่ง at time เกิดขึ้นเหมาะสมกับเวลา and in sufficient พอเพียง quality) and a review การทบทวน team (one or many persons).

(c) Michael Brueckner PM / Work Breakdown Structure-1 The Work Breakdown Structure (WBS) is a plan which defines all the work that has to be done until the project is completed. Information investigation 10 days Keywords from "Principles of IS" "Journal of IM" / Web Scheduling (16 lectures, 15 labs) 2 days How many slides per class, types of exercises Excel Outline of slides days Analyzing keywords Brainstorming..... Example / Part of the WBS of a course

(c) Michael Brueckner PM / Work Breakdown Structure-2  Sometimes you add รวม the dependencies การพึ่งพาอาศัย / เมืองขึ้น to the WBS  This called a task network (Pressman, p. 180/181) Here you see the dependencies of the tasks and a timeline

(c) Michael Brueckner Project Management / Time Scheduling  Another example: Document review  People need to read the document carefully อย่างระมัดระวัง  Depends ขึ้นอยู่กับ on the difficulty ความ ยากลำบาก  Depends on the number of pages  => it will take a minimal น้อยที่สุด time to review a document, you cannot share ใช้ ร่วมกัน the work Example:

(c) Michael Brueckner Terminology  Requirements Engineering is the process in the software development life cycle where we find out, analyze, organize and check ตรวจสอบ the constraints ความยับยั้งชั่งใจ / ข้อจำกัด of the system  The Requirements Engineering Process consists of 5 distinct steps:  Requirements Elicitation ( เคลื่อนย้ายออกไปจาก )  Requirements Analysis and Negotiation ( การเจรจาต่อรอง )  Requirements Specification  Requirements Validation ( การให้เหตุผล )  Requirements Management

(c) Michael Brueckner Interviews-1  Most important way to specify requirements  Important to understand the current way of work or „system“  Almost the only way to investigate problems with situation ... but who are the right persons to interview?

(c) Michael Brueckner Paper Work  Very important:  Collect ไปนำมา all different types of working papers  forms  memos  notes  reports  Where do they come from  Where do they go to Information flow Forms Memos Reports

(c) Michael Brueckner Observation  Watch what happens  Follow people as they do their work within the current system  Maybe you can set up a small „dummy“* system to watch the staff carefully as they work their tasks *) dummy = the very first prototype

(c) Michael Brueckner Requirements Management-1  Why?  Requirements usually change during the lifecycle of the system/product  The requirements (and their changes!) must be  identified ระบุชื่อ  controlled ตรวจสอบ  tracked ติดตาม Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner Requirement Management-2  Identification / Example <requirement-type><requirement-number><requirement-type>:  F = functional  D = data requirement  I = interface requirement Requirements Elicitation Requirements Analysis and Negotiation Requirements Specification Requirements Validation Requirements Management

(c) Michael Brueckner Requirements Management-3  Make a table for keeping track of req. A01A02A03Ann R01V R02Vv R03vvV R04Vv R05V Rnnvv Requirements Specific aspects of system/product

(c) Michael Brueckner Problems of RE  The boundary ( ขอบเขต ) of the system is poorly described  Customers/users specify unnecessary ที่เกิน จำเป็น technical details that confuse ( ผสมปนเป กัน ) rather than clarify ทำให้ใสสะอาด / ทำให้ เข้าใจง่าย  Customers/users are not completely อย่างเสร็จ สมบูรณ์ sure what is needed  Customers/users omit ( ละเลยไป ) information that they think is „obvious“ ชัดเจน  Requirements change เปลี่ยน over time

(c) Michael Brueckner What is system modelling?  System modelling helps the analyst นักวิเคราะห์ to understand the functionality การทำงาน of the system  Models are used to talk with customers  Different models present the system from different perspectives ทัศนคติ  External ภายนอก perspective shows the context or environment of the system  Behavioural perspective shows its behaviour together with users and other systems  Structural เกี่ยวกับโครงสร้าง perspective shows the system or data architecture

(c) Michael Brueckner Data dictionaries  Data dictionaries are lists of all of the names used in the system models. Descriptions of the entities, relationships and attributes are also included ประกอบด้วย.  Advantages  Support name management and avoid หลีกเลี่ยง duplication การทำซ้ำ  Store สิ่งที่กักตุนไว้ of organisational knowledge linking analysis, design and implementation

(c) Michael Brueckner Configuration Management? Software is? Code Data Technical Description (Documents)

(c) Michael Brueckner  New versions of software systems / Why?  For different machines/OS;  Different functionality;  Tailored for particular user requirements.  Configuration management manages changing software systems:  System change is a team activity;  CM aims to control the costs and effort of making changes to a system. Configuration management

(c) Michael Brueckner Configuration management  Sets procedures and standards to manage changing software products  CM is part of the general quality คุณภาพ management process.

(c) Michael Brueckner Baseline  When given to CM, software systems are sometimes called as they are a starting เริ่ม point for further ซึ่งเพิ่มเข้ามา development.  When given to CM, software systems are sometimes called baselines as they are a starting เริ่ม point for further ซึ่งเพิ่มเข้ามา development.

(c) Michael Brueckner Versions and System Families Initial System HP version PC version SUN version Windows XP v. Linux version CE version v.1 v.1.01 v.1.1 v.1 v.1.1 v.2 v.1 v.1.01 v.1.05 v.0.9 v.1 v.1.1 v.1 v.1.01 v.1.1

(c) Michael Brueckner  All deliverables (documents) have to be managed:  Specifications  Designs  Programs  Test data  User manuals  Thousands of separate documents may be generated for a large, complex software system – most of them will have more than 1 version! Configuration Management Planning

(c) Michael Brueckner  Software systems are subject to ทำให้มี continual change requests ความต้องการ :  From users  From developers  From market forces.  Change management keeps track เขียน บันทึก of these changes and ensures ทำ ให้แน่ใจ that they are implemented in the most cost-effective way. Change management

(c) Michael Brueckner  Version: An instance กรณี / การ ดำเนินคดี ( กฎหมาย ) of a system which is functionally distinct แตกต่างชัดเจน in some way from other system instances.  Variant: An instance of a system which is functionally identical เหมือนกัน but non-functionally distinct from other instances of a system.  Release: An instance of a system which is distributed to users outside of the development team. Versions/Variants/Releases Windows 95 Windows 98 Windows XP Windows XP SP0.1 Windows XP SP2 Windows XP Windows XP SP2

(c) Michael Brueckner System releases are …  more than a set of executable programs.  May also include:  Configuration files defining how the release is configured (=built) for a particular installation  Data files needed for system operation  Installation program (Windows) or shell script (Unix, Linux) to install the system on target HW  Electronic and paper documentation  Packaging ภาชนะบรรจุ and associated publicity การเผยแพร่

(c) Michael Brueckner Release creation  Collect all files and documentation which we need to create a system release.  We need  Configuration descriptions (documentation)  Installation scripts (code and data)  Every release has to be well documented  So we know what the release is  We can create again if necessary