Course Software Engineering SE Overview and Introduction
(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 Engineers People who apply SE methods Special Software Engineers Testing engineers System analysts Software designers ...
(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 Software Development Process Processes for different types of software Application development Operating system development Embedded software (=programmed HW device) Maybe different processes Different customers, users Different requirement structure
(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 Overview of the course The following slides will be
(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 Design Management Find a solution to the requirements Software specification Reviewing Structured design methods Object oriented design
(c) Michael Brueckner Special Topic: Component Based Development Internet based SE Company wide software development Many departments work together Application development Example: E business software
(c) Michael Brueckner Quality Management Software Quality Assurance Verification Are we building the product right? Does the system meet the specification? Validation Are we building the right product? Does the system do what the user needs? Testing procedures
(c) Michael Brueckner ISO 9000/9002 The standard Certification process ... and after certification?
(c) Michael Brueckner Software Development Economy 60% development costs 40% testing costs Distribution varies with the process model adopted
(c) Michael Brueckner Methods of Software Engineering Structured approach to Model descriptions Rules Recommendations การแนะนำ Process guidance การแนะแนว
(c) Michael Brueckner Tools in Software Engineering CASE Upper CASE, used for Requirements engineering Design engineering Lower CASE, used for Programming Debugging and testing
(c) Michael Brueckner Special Topic: Practices of Software Engineering In project management In working out an appropriate process model In applying software engineering methods In asking: What is good software?