300 likes | 434 Views
Welcome to CS 410 – Introduction to Software Engineering Spring 2014. Instructor: Marc Pomplun. Instructor – Marc Pomplun. Office: S-3-171 Lab: S-3-135 Office Hours: Tuesdays 4:30pm – 5:30pm Thursdays 6:45pm – 8:45pm
E N D
Welcome toCS 410 – Introduction toSoftware EngineeringSpring 2014 Instructor: Marc Pomplun CS410 – Software Engineering Lecture #1: Introduction
Instructor – Marc Pomplun • Office: 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: marc@cs.umb.edu • Website: http://www.cs.umb.edu/~marc/cs410/ CS410 – Software Engineering Lecture #1: Introduction
The Visual Attention Lab Eye movement research CS410 – Software Engineering Lecture #1: Introduction
The new EyeLink-2K System CS410 – Software Engineering Lecture #1: Introduction
Example: Distribution of Visual Attention CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Selectivity in Complex Scenes CS410 – Software Engineering Lecture #1: Introduction
Modeling of Brain Functions CS410 – Software Engineering Lecture #1: Introduction
Modeling of Brain Functions unit and connection l a y e r + 1 l in the interpretive network unit and connection in the gating network unit and connection in the top-down bias network l a y e r l l a y e r - 1 l CS410 – Software Engineering Lecture #1: Introduction
Computer Vision: CS410 – Software Engineering Lecture #1: Introduction
Human-Computer Interfaces: CS410 – Software Engineering Lecture #1: Introduction
Now back to CS 410: • Textbook (available at the UMB Bookstore): • C++ programming with design patterns revealed. By ThomaszMü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) CS410 – Software Engineering Lecture #1: Introduction
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 cs410-1@cs.umb.edu, • and I will respond to the list. • Send all other questions to me. For these questions, I will send my reply only to you. CS410 – Software Engineering Lecture #1: Introduction
Your Evaluation • 3sets 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% CS410 – Software Engineering Lecture #1: Introduction
Grading For the assignments, exams and your course grade, the following scheme will be used to convert percentages into letter grades: • 95%: A • 90%: A- 86%: B+ 82%: B 78%: B- 74%: C+ 70%: C 66%: C- 62%: D+ 56%: D 50%: D- 50%: F CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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’. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction
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. CS410 – Software Engineering Lecture #1: Introduction