Course Software Engineering SE Overview and Introduction
(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 SE vs. CS Computer Science is the theory of programming SE is more the practice of doing it
(c) Michael Brueckner Properties of Software Developed พัฒนา once หนึ่งครั้ง Maybe in many versions Can be distributed เผยแพร่ at low cost CD-ROM / DVD Download By „air“ Can be used without waste ของเสีย
(c) Michael Brueckner Software Products-1 Generic โดยทั่วไป products Customized ซึ่งสร้างตามคำสั่งเฉพาะของ ลูกค้าคนเดียว products We have to manage versions
(c) Michael Brueckner Software Products-2 Application software Office programs Utilities Multimedia software Security software Funware System software Operating systems Drivers
(c) Michael Brueckner Project Management Defining a process model Planning projects Structuring activities Team building Controlling
(c) Michael Brueckner Requirement Management Asking questions Structure the requirements Create a reference-oriented requirements base Make requirements understandable
(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 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 Types of Software Systems Transaction Processing Batch Processing Real Time Processing Transaction: การติดต่อทางธุรกิจ / การ ดำเนินการ / ความสัมพันธ์ระหว่างบุคคล
(c) Michael Brueckner Transaction Processing On-line or transaction processing (TP) systems Interactive ซึ่งมีการสื่อสารระหว่างกัน systems(usually database system) Each request (like query, input) is a transaction E.g. decision support system and strategic planning system airlines, railroads, hotels, financial services, government, credit card and banking industries
(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 SE Process Model-1a SE process model is a simplified ทำให้ง่ายขึ้น view on the software process from a specific โดยเฉพาะ perspective ทัศนคติ, e.g. workflow perspective: task 1 (worked out by team 1) – task 2 (worked out by team 2) – task 3 (worked out by team 3)
(c) Michael Brueckner Example: Workflow
(c) Michael Brueckner SE Process Model-1b SE process model is a simplified ทำให้ง่ายขึ้น view on the software process from a specific โดยเฉพาะ perspective ทัศนคติ, e.g. dataflow perspective: Data of customer order: product name, how many items Data go to sales and logistics dept. Sales search for price – logistics search for product ID Price goes to accounting dept., product ID to inventory dept. Accounting dept. work out the invoice Inventory search for availability... Invoice role บทบาท -action การกระทำ perspective
(c) Michael Brueckner Example: Dataflow
(c) Michael Brueckner SE Process Model-1b SE process model is a simplified ทำให้ง่ายขึ้น view on the software process from a specific โดยเฉพาะ perspective ทัศนคติ, e.g. role บทบาท -action การกระทำ perspective
(c) Michael Brueckner Example: Role-Action
(c) Michael Brueckner Project Management / Some Terms Project Project Management Phase Milestone Deliveries = Project Document Work Breakdown Structure Time scheduling Work scheduling
(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 / Work Scheduling During work scheduling you assign มอบหมาย people (project staff) to every task in the work breakdown structure. You have to take into account พิจารณา the skill ความเชี่ยวชาญ and the availability ใช้ประโยชน์ได้ of the staff. Writing the storyboard Review Setting up the budget Casting
(c) Michael Brueckner Project Management / Time Scheduling The Time Scheduling results เป็นผล in a time plan that shows the work breakdown structure on a calendar ปฏิทิน / รายการแสดงเวลานัด. Take into account how many people work on a specific task. Let‘s say: 40 days for slide creation 1 person needs 40 days 40 persons need 1 day. But: This is not always true. Think: On woman needs 9 months to give birth. And 9 women?
(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 page number => it will take a least time to review a document, you cannot share the work