310414 SOFTWARE QUALITY ASSURANCE 1 310414 SOFTWARE ENGINEERING 310414 SOFTWARE ENGINEERING.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 –...
-
Upload
felicity-hunter -
Category
Documents
-
view
216 -
download
0
Transcript of January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 –...
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
1
Welcome to
CS 410 – Introduction to
Software Engineering
Spring 2014
Instructor: Marc Pomplun
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
2
Instructor – Marc PomplunOffice: S-3-171
Lab: S-3-135
Office Hours: Tuesdays 4:30pm – 5:30pm Thursdays 6:45pm – 8:45pm
Phone: 287-6443 (office) 287-6485 (lab)
E-Mail: [email protected]
Website: http://www.cs.umb.edu/~marc/cs410/
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
3
The Visual Attention Lab
Eye movement research
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
4
The new EyeLink-2K System
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
5
Example: Distribution of Visual Attention
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
6
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
7
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
8
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
9
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
10
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
11
Selectivity in Complex Scenes
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
12
Modeling of Brain Functions
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
13
Modeling of Brain Functionsunit and connectionin the interpretive network
unit and connectionin the gating network
unit and connectionin the top-down bias network
layer l +1
layer l -1
layer l
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
14
Computer Vision:
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
15
Human-Computer Interfaces:
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
16
Now back to CS 410:Textbook (available at the UMB Bookstore):
C++ programming with design patterns revealed. By Thomasz Müldner. Addison-Wesley, ISBN 0-201-72231-3
Course materials on the Web:
http://www.cs.umb.edu/~marc/cs410/
(contains all kinds of course information and also my slides in PPT and PDF formats, updated after each session)
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
17
Mailing List
Please use the ‘apply’ command on the UNIX system to register for our mailing list (CS410, section 1).
I expect everyone to be on the list, because I will use it to make announcements.
Also, I would like to encourage you to use the list for discussion. If you have a question that you think is important for many students in the course, please send it to the list at [email protected],
and I will respond to the list.
Send all other questions to me. For these questions, I will send my reply only to you.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
18
Your Evaluation
• 3 sets of exercises each set 3.33% 10%
(only individual submissions allowed)
• software project 40%
(groups of 3 or 4 students)
• midterm (1.5 hours) 20%
• final exam (2.5 hours) 30%
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
19
Grading
95%: A 90%: A-
74%: C+ 70%: C 66%: C-
86%: B+ 82%: B 78%: B-
62%: D+ 56%: D 50%: D-
50%: F
For the assignments, exams and your course grade, the following scheme will be used to convert percentages into letter grades:
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
20
Complaints about Grading
If you think that the grading of your assignment or exam was unfair,
• write down your complaint (handwriting is OK),• attach it to the assignment or exam, • and give it to me or put it in my mailbox.
I will re-grade the whole exam/assignment and return it to you in class.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
21
Software Engineering
• 1968: Conference on ‘software crisis’.• Delivery of software was sometimes years late.• Its cost was often much higher than predicted.• Many programs were unreliable.• Maintenance of software tended to be difficult.• The software often poorly performed the task
for which it was designed.
The term ‘software engineering’ was coined.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
22
Questions about Software Engineering
Q: What is software engineering?A: Software engineering is an engineering
discipline which is concerned with all aspects of software production, for example, software specification, development, validation and evolution.
Q: What is the difference between software engineering and computer science?
A: Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
23
Problems: Complexity and Change
Complexity:• Software systems can include a huge number of
functions and components.• Many participants with usually different
backgrounds participate in the development of software systems.
• Often no single person can understand the whole system.
• Sometimes systems become so hard to understand that they are never finished:‘vaporware’.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
24
Problems: Complexity and Change
Change:• Requirements are updated when errors are
discovered and when developers get a better understanding of the application.
• Long-term projects involve high staff-turnaround.• Often, important technological changes occur
during the development of a software system.• The client’s needs may change during the
development process.
It is impossible to specify a static set of requirements.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
25
Aspects of Software Engineering
• Modeling: Focusing on the relevant parts of the system and ignoring everything else.
• Problem solving: Using models to find an acceptable – not necessarily an optimal – solution (“engineering = making things work”).
• Knowledge acquisition: Gaining sufficient knowledge about the problem domain and formalizing it to build a model.
• Rationale-driven development: Capturing the context in which decisions were made and representing it as a set of issue models.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
26
Software Engineering Concepts
The following definitions follow those of the IEEE Standards on Software Engineering.
A project is composed of a number of activities.
Each activity is in turn composed of a number of tasks.
A task consumes resources and produces a work product.
A work product can either be a system, a model, or a document.
Resources are either participants, time, or equipment.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
27
Software Engineering Concepts
All persons involved in a project (developers, project manager, client, end users, etc.) are referred to as participants.
A role is a set of responsibilities in the project or the system.
A role is associated with a set of tasks and is assigned to a participant.
The same participant can fill multiple roles.
The term system refers to the underlying reality, and the term model refers to any abstraction of the reality.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
28
Software Engineering Concepts
A work product is an artifact that is produced during the development, such as a document or a piece of software.
A work product for the project’s internal consumption is called an internal work product, while a work product for a client is called a deliverable.
An activity is a set of tasks that is performed toward a specific purpose, for example, delivery.
Activities are also called phases.
A task represents an atomic unit of work that can be managed.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
29
Software Engineering Concepts
Resources such as time, equipment, and labor, are assets that are used to accomplish work.
The project manager breaks down the work into tasks and assigns them to resources.
A goal is a high-level principle that is used to guide the project. Goals define the attributes of a system that are important.
A functional requirement is an area of functionality that the system must support, whereas a nonfunctional requirement is a constraint on the operation of the system.
January 28, 2014 CS410 – Software Engineering Lecture #1: Introduction
30
Software Engineering Concepts
A notation is a graphical or textual set of rules for representing a model. In this course, we will use UML (Unified Modeling Language) to represent models.
A method is a repeatable technique for solving a problem.
A methodology is a collection of methods for solving a class of problems.