Welcome to CAP 312 Software Engineering
Overview • What? • Prerequisite knowledge • Content • Why? • Job Market • Course Objectives • How? • Methods • Topics • Grading system • Schedule • Resources • Policy • Today’s homework
Prerequisite Knowledge • English language reading and writing skills • Programming • Business modeling (from systems analysis and design course) • Data models (ER diagrams) • Functional (data flow diagrams) • Object oriented (object models, class diagrams, sequence diagrams)
Content • We will learn how to develop quality software. • Introducing Software development models. • Introducing stages in various models. • Understanding the requirements for each phase. • Describing the deliverables for each phase.
Job Market • IT graduate job opportunity as a software engineer • SW Analyst • SW designer • Programmer • Project manager
The objectives • Develop SW engineering skills • Requirements elicitation • Architectural design • SW Testing • SW evolution • Project management
Methods • To introduce the theory and methods • Lectures • Assignments (individual) • Tutorials (workshops/discussion) • To develop SW development experience and team work skills: • Experiential learning (learning by doing) project oriented approach. • Students work in teams (10 students)
Topics • Introduction to software engineering • Software Process Models • Project Management • Requirements Elicitation • Software Design • Validation and Verification • Software Testing • Software Evolution • Version management • Software Engineering code of ethics
Grading • Attendance and participation in lectures and tutorials is important.
Resources: The Course Weblog • The CAP 312 course has a weblog located at http://cap312.wordpress.com • I will use it for • Introducing weekly topics • Making announcements • Providing course calendar • Uploading lecture slides • Reading your comments and views on the topics • Answering your questions
Resources: The Course Weblog • You will use it for • Reading announcements • Obtaining course information • Schedule • Assignments • Project deliverables • Asking questions • Commenting on various course topics and issues
Resources: Wikis • What’s a wiki? • Wiki means “fast” in Hawaiian language. • Wikipedia definition “a type of website that allows users to add, remove, or otherwise edit and change most content very quickly and easily” • It’s like creating your website but much more easier. • Each team will create and maintain there own project wiki (editable website). • Project deliverables will be assessed on the group wiki.
Why project Wikis? • Software development projects by its nature goes under review and change. • To encourage collaboration • No need to submit paper work • Make it more interesting • Encourage creativity • Produce comprehensive project documentation with change tracking facilities. • Very good experience preparing you for your graduation project
SE Project wikis • When group wikis are assessed after every assignment, the winner wiki site will be announced on the course weblog.
Policy • Mobiles should be turned off during lectures and tutorials. • No makeup exams except in extreme cases with evidence and the approval of the exam committee. • Academic dishonesty (plagiarism) is strictly prohibited, and both parties will be penalized.
Homework • Formulate groups of 10 students each • Each group should do the following: • Choose a group name (one word)i.e. Tulips, Roses, Cupcakes, Cookies, Cherries, etc. • Choose a suitable avatar for your group. • An email for each member • Nominate a project leader from your team • The project leader should send me this information by Monday 18 Safar. • Read the assignment posted on the weblog.