CMPS 285 Software Engineering Ifall 2011

Total Page:16

File Type:pdf, Size:1020Kb

CMPS 285 Software Engineering Ifall 2011

CMPS 285 SOFTWARE ENGINEERING I Fall 2011

Instructor: Dr. G. Alkadi Office: Fayard Hall 327 D Phone: 549-5099 (Direct), 549-2189 (Dept.) E-mail: [email protected] Office Hours: 12:00 - 3:30 T, W, TH Class Meeting: Fayard 215 URL: http://www2.selu.edu/Academics/Faculty/galkadi/cmps_285.htm Course Description :

Prerequisite: Prerequisite: Computer Science 280 or permission of Department Head. Introduction to the methods used for specifying, designing, implementing, and testing medium and large-scale software systems; methods for organizing and managing software development projects; professionalism and ethical responsibilities in software development. Software Engineering Code of Ethics and Professional Practice:

URL: http://www.acm.org/about/se-code http://www.sei.cmu.edu/

Minimum Topics:

 The evolving role of Software Engineering The Software Process o The Software Process: Process Assessment, Process Patterns o Prescriptive Process Model o Agile Development o Prescriptive Software Models: Waterfall model, Incremental Process Model, Evolutionary Process Model, The Unified Process o Agile Development: Agile Process Models  Software Engineering Practice o Communication o Modeling/Design o Code Construction / Testing o Deployment o System Engineering “System Modeling/System Simulation” o Requirements Engineering: Inception, Elicitation, Elaboration, Negotiation, Specification, and Validation o Analysis Modeling: Data Modeling, OO analysis, Flow-oriented Modeling, Class-Based Modeling o Design Engineering: Design Concepts, Design Model, Pattern-based Software Design o Architectural Design: Software Architecture, Data Design, Architectural Styles and Patterns o Component-Level Design: Designing Class-Based components, Cohesion, Coupling o User Interface Design: Interface Analysis, Interface Design Steps o Software Testing strategies: Verification and Validation, Test Strategies for OO Software, Test Strategies for Conventional Software, Validation Testing, System Testing, and the Art of debugging. o Software Testing Techniques: Path Testing, Black-box Testing, White-Box testing o Product Metrics for Software: Software Quality, Metrics for Analysis and Design models

Learning Objectives:

 Students will be able to construct Code for small to medium projects. o Measured by programming assignments.  Students will be able to perform Unit and System Testing. o Measured by programming assignments.  Students will learn how to meet deadlines and produce milestones. o Measured by designing the software and producing documents on time.  Students will work in teams and learn about team dynamics. o Measured by team members interacting with one another and having to deal with a team leader.  Students will present their prototypes as well as their final products and improve both oral and writing skills. o Measured by Instructor and peer evaluations.  Foundations of human-computer interaction: Human-centered development and evaluation o Measured by tests.  Human performance models; accommodating human diversity CMPS 285 SOFTWARE ENGINEERING I Fall 2011

o Measured by tests.  Principles of good design and good designers; engineering tradeoffs; introduction to usability testing o Measured by tests.  Software processes: Software life-cycle and process models; process assessment models; software process metrics o Measured by developing the software.  Software requirements and specifications: Requirements elicitation; requirements analysis modeling techniques; functional and nonfunctional requirements; prototyping; basic concepts of formal specification techniques o Measured by developing the software.  Software design: Fundamental design concepts and principles; design patterns; software architecture; structured design; object-oriented analysis and design; component-level design; design for reuse o Measured by designing the software.  Software validation: Validation planning; testing fundamentals, including test plan creation and test case generation; black-box and white-box testing techniques; unit integration, validation, and system testing; object- oriented testing; inspections o Measured by testing the product.  Software evolution: Software maintenance; characteristic o Measured by the feedback given by the instructor and peers.  Software project management: Team management; o Measured by meeting deadlines and milestones and tests.  Implications of software complexity; risk assessment and management o Measured by tests.

Program Learning Objectives and Evaluation:

 An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs o Students learn how to design Software Engineering Architectures from narrative descriptions based on software requirements. Measured by creating the software and evaluating other software systems.  An ability to function effectively on teams to accomplish a common goal o Students learn how to implement concepts in a small project to fulfill requirements by working in teams and with a team leader. Measured by how they perform in their group.  An understanding of professional, ethical and social responsibilities o Students learn how to relate and manage project information and tasks in a professional manner.  An ability to communicate effectively with a range of audiences o Students learn how to communicate with the customer at his/her level as well as fellow computer scientists. Measured by prototype and final presentations of the projects.  An ability to use current techniques, skills, and tools necessary for computing practice o Students learn how Process Models and Project Management tools and techniques that can be used to manage large projects. Measured by their final product.

Grading Policy:

1. Tests “Midterm & Final” 200 2. Presentations/Demos “Prototype Midterm Presentation” 50 3. Progress reports and documentation 50 4. Final product “Final Presentation” 100 400 90% - 100% A, 80% - 89% B, 70% - 79% C, 60% - 69% D, < 60% F

 The instructor reserves the right to make any changes deemed appropriate.  Late programs or homework assignments will not be accepted without a valid excuse.

Important Notes:

. If you are a qualified student with disability seeking accommodations under the American with Disabilities Act, you are required to self-identify with the Office of Disability Services, Room 203, Student Union. No accommodations will be CMPS 285 SOFTWARE ENGINEERING I Fall 2011

granted without documentation from the Office of Disability Services. . Students must use the e-mail accounts provided by the university in order to communicate with the instructor outside class and access the PCs in the labs. . It is the student’s responsibility to ensure that he/she is properly registered to receive credit for the course. . It is University Policy that the class room is not a place for children, and that students are not to bring their family members for day care or babysitting. . All team members must contribute in developing the software “Writing Code.” If a team member doesn’t contribute in developing the software, he/she will FAIL the project. . Students are required to practice source control when developing their software. http://tortoisesvn.tigris.org/ is an Open Source Software Engineering Tool that may be used for this purpose.

Important Dates:

. September 5, 2011 Labor Day Holiday. . October 6 -7, 2011 Fall Break. . October 21, 2011 is the last day to withdraw or resign from the university. “STUDENT’S RESPONSIBILITY” . November 14-18, 2011 Priority Registration for Spring 2012 Classes. . November 23-25, 2011 Thanksgiving Holiday. . December 2, 2011 last day of classes. . December 12, 2011 is the last day to return rental books without a fine. . December 16, 2011 Student accounts will be charged for any rental books not returned by 12:30 p.m.

Attendance Policy:

. Attendance is very important and could make a difference in the grade at the end of the semester. Excessive absences from class or group meetings will result in dropping the student’s final grade by a letter grade. . Students must check the course's Announcements at least twice a week. Students are responsible for keeping current on posted announcements and assignments and must check their e-mails regularly.

URL: http://www2.selu.edu/Academics/Depts/FacSen/attendencepolicy.pdf

Recommended Text books and other material:

. Software Engineering: A Practitioner's Approach, 7/e Roger Pressman, McGraw-Hill, ISBN: 9780071267823

INSTRUCTOR’S EXPECTATIONS REGARDING STUDENT BEHAVIOR/CLASSROOM DECORUM :

“Free discussion, inquiry, and expression is encouraged in this class. Classroom behavior that interferes with either (a) the instructor’s ability to conduct the class or (b) the ability of students to benefit from the instruction is not acceptable. Examples may include routinely entering class late or departing early; use of beepers, cellular telephones, or other electronic devices; repeatedly talking in class without being recognized; talking while others are speaking; or arguing in a way that is perceived as “crossing the civility line.” In the event of a situation where a student legitimately needs to carry a beeper/cellular telephone to class, prior notice and approval of the instructor is required.” Classroom behavior which is deemed inappropriate and cannot be resolved by the student and the faculty member may be referred to the Office of Judicial Affairs for administrative or disciplinary review as per the Code of Student Conduct which may be found at http://www.selu.edu/admin/stu_affairs/handbook/

INSTRUCTOR’S EXPECTATIONS REGARDING ACADEMIC INTEGRITY :

“Students are expected to maintain the highest standards of academic integrity. Behavior that violates these standards is not acceptable. Examples are the use of unauthorized material, communication with fellow students during an examination, attempting to benefit from the work of another student and similar behavior that defeats the intent of an examination or other class work. Cheating on examinations, plagiarism, improper acknowledgment of sources in essays and the use of a single essay or paper in more than one course without permission are considered very serious offenses and shall be grounds for disciplinary action as outlined in the current General Catalogue.” CMPS 285 SOFTWARE ENGINEERING I Fall 2011

INSTRUCTOR’S EXPECTATIONS REGARDING THE DETECTION OF PLAGIARISM THROUGH USE OF TURNITIN.COM :

“Students agree by taking this course that all required papers may be subject to submission for textual similarity to Turnitin.com for the detection of plagiarism. All submitted papers will be included as source documents in the Turnitin.com reference database solely for the purpose of detecting plagiarism of such papers. Use of the Turnitin.com service is subject to the Terms and Conditions of Use posted on the Turnitin.com website.”

Final Exam

December 9th, 2011, 10:15 – 12:15 Friday “Tentative”

Recommended publications