CS1001 Lecture 11. Overview Software Engineering Software Engineering Design Methodologies Design Methodologies Software Ownership Software Ownership.

Slides:



Advertisements
Similar presentations
Computer Science Department
Advertisements

Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
HCI in the software process Chapter 6
Object-Oriented Analysis and Design LECTURE 2: INCEPTION PHASE.
COMP171 Data Structures and Algorithms Spring 2009.
Paper Title Your Name CMSC 838 Presentation. CMSC 838T – Presentation Motivation u Problem paper is trying to solve  Characteristics of problem  … u.
1 CS1001 Lecture Overview Java Programming Java Programming Midterm Review Midterm Review.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Algorithms Computer Science: An Overview Tenth Edition by J. Glenn.
CS1001 Lecture 6. Overview Homework 1 Homework 1 Memory, Data Storage Memory, Data Storage Architecture Comparisons Architecture Comparisons Computer.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP4710 Senior Design Richard Chapman. Outline What is Senior Design? What is Senior Design? Course Structure Course Structure End of Cycle Binder End.
1 CS1001 Lecture Overview Midterm Midterm OOP Wrap-up OOP Wrap-up Functions, Hilbert’s Hotel Functions, Hilbert’s Hotel.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Algorithms Computer Science: An Overview Tenth Edition by J. Glenn.
EAS 140 Engineering Solutions Lecture #28 Course Review.
Computer Network Fundamentals CNT4007C
Copyright © 2015 Pearson Education, Inc. Chapter 5: Algorithms.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
CSE 436 Software Engineering Workshop Course Overview Christopher Gill CSE 436 January 2007 Department of Computer Science and Engineering.
CSCA48 Course Summary.
Introduction to Computer Science A Professor Uday Reddy
Copyright © 2015 Pearson Education, Inc. Chapter 7: Software Engineering.
CS505: Final Exam Review Jinze Liu. Major Topics Before Mid-Term – Security and Access Control – Indexing After Mid-Term – Transaction Management Locking,
Chapter 5 Algorithms © 2007 Pearson Addison-Wesley. All rights reserved.
1 Intro 1a CIS 748 Software Management Dr. David A Gustafson
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Chapter 7 Software Engineering. © 2005 Pearson Addison-Wesley. All rights reserved 7-2 Chapter 7: Software Engineering 7.1 The Software Engineering Discipline.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Algorithms Computer Science: An Overview Tenth Edition by J. Glenn.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Chapter 5 Algorithms. © 2005 Pearson Addison-Wesley. All rights reserved 5-2 Chapter 5: Algorithms 5.1 The Concept of an Algorithm 5.2 Algorithm Representation.
Chapter 5: 演算法 Algorithms 陳以德助理教授 : 高醫大舊二棟 轉 2586
CPE 432 Computer Design Introduction Dr. Gheith Abandah.
Chapter 5 Algorithms © 2007 Pearson Addison-Wesley. All rights reserved.
University of Macau Faculty of Science and Technology Computer and Information Science SFTW 241 Programming Languages Architecture 1 Group B5.
1 CS1001 Lecture Overview Java Programming Java Programming Arrays Arrays.
Computer Science: An Overview Eleventh Edition
CS1001 Lecture 7. Overview Computer Networks Computer Networks The Internet The Internet Internet Services Internet Services Markup Languages Markup Languages.
Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 7: Software Engineering
CS1001 Lecture 10. Overview HTML and Usability HTML and Usability Copyright Copyright.
Teaching slides Chapter 3
Computer Networks CNT5106C
Software Engineering Overview 23 January. Software Engineering Overview What is engineering? Why is software engineering different than other engineering.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Ms. Yuanyuan Lu Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
ICS 151 Digital Logic Design Spring 2004 Administrative Issues.
CS16: Introduction to Algorithms and Data Structures
Chapter 7: Software Engineering
Computer Network Fundamentals CNT4007C
Chapter 7: Software Engineering
Computer Networks CNT5106C
CS1001 Lecture 8.
Chapter 5: Algorithms Computer Science: An Overview Tenth Edition
Introduction CSE 373 Data Structures.
CS-401 Computer Architecture & Assembly Language Programming
Computer Science — An Overview J. Glenn Brookshear
Chapter 7 Software Engineering.
Administrivia- Introduction
Administrivia- Introduction
Computer Science: An Overview Tenth Edition
Presentation transcript:

CS1001 Lecture 11

Overview Software Engineering Software Engineering Design Methodologies Design Methodologies Software Ownership Software Ownership

Announcements Homework Pickup: Fri. 2-3pm in TA Room (or on Monday) Homework Pickup: Fri. 2-3pm in TA Room (or on Monday) Midterm: Mar 24 th, in class Midterm: Mar 24 th, in class Apr 19 th : Final Paper due Apr 19 th : Final Paper due May 3 rd : Technical Project May 3 rd : Technical Project Final (Projected): Wed, May 12 th 4:10pm-7pm Final (Projected): Wed, May 12 th 4:10pm-7pm

Goals Understand the basics of the typical software development cycle Understand the basics of the typical software development cycle Design Methodologies Design Methodologies Understand Introductory Algorithm Analysis (evaluate how good/bad an algorithm is) Understand Introductory Algorithm Analysis (evaluate how good/bad an algorithm is)

Assignments Brookshear: Ch 6.1,6.2; Ch 4 (Read) Brookshear: Ch 6.1,6.2; Ch 4 (Read) Read linked documents on these slides (slides will be posted in courseworks) Read linked documents on these slides (slides will be posted in courseworks)

“Learn to Program in 24 Hours” Building large, critical software systems is an engineering discipline Building large, critical software systems is an engineering discipline Challenges: Challenges: –In traditional engineering, you can use “off the shelf” parts (interchangeable parts). Software has tried repeatedly to mimic this… somewhat successfully –Tolerances: Mechanical systems can fail, but in doing so they rarely wreak complete havoc on their surroundings. A software crash often can bring down an operating system or cluster of computers –Metrics: How do you evaluate whether software is performing well? (refer to previous lecture on usability)

Parallels Software is a fundamentally different engineering discipline, but software systems still must be reliable. Software is a fundamentally different engineering discipline, but software systems still must be reliable. We have PE (Professional Engineering) certifications for Engineers, MLEs, the BAR, Architecture licenses, yet no standardized software license We have PE (Professional Engineering) certifications for Engineers, MLEs, the BAR, Architecture licenses, yet no standardized software license Once methods and metrics established, software engineering can become a more structured field Once methods and metrics established, software engineering can become a more structured field

Iterative Software Development Continually build and test your work Continually build and test your work Similar to how one might undergo a physical engineering project Similar to how one might undergo a physical engineering project

The Development Phase

Trends The waterfall model of development The waterfall model of development Throwaway vs evolutionary programming Throwaway vs evolutionary programming Extreme programming (enforced teamwork) Extreme programming (enforced teamwork)

Figure 4.10:Sorting the list Fred, Alice, David, Bill, and Carol alphabetically (continued)

Figure 4.10:Sorting the list Fred, Alice, David, Bill, and Carol alphabetically

Figure 4.11:The insertion sort algorithm expressed in pseudocode

Figure 4.19:Graph of the worst-case analysis of the insertion sort algorithm

Licenses Buy the software for unlimited use Buy the software for unlimited use Lease the software as a service Lease the software as a service GPL (General Public License) and other free licenses GPL (General Public License) and other free licenses