Applied Science University Faculty: Information Technology Department : Software Engineering ( Course Syllabus ) CourseTitle Credit Hours Course No. Prerequisite Introduction to Software Engineering 3 1302281 1301201 Year (semester) 2011-2012(2) Lec./Lab. Credit Lecture: 3 Coordinator Name Lecturers Room No. E-mail Office Hours Dr. Marwan Alseid Dr. Marwan Alseid & Dr. Nedhal Alsayyed 1205 m_alseid@ asu.edu.jo Posted on office door Course Objectives and Description: Understand the different stages of the software life cycle, Acquire the knowledge of the common methodologies and techniques in software engineering. Understand the concepts and tools in the development of software engineering models. Have the awareness of the importance of software engineering in software system development. Course Description: Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems, by applying scientific knowledge, developing software systems in the service of mankind. This course covers the fundamentals of software engineering, including understanding system requirements, finding appropriate engineering compromises, effective methods of design, coding, and testing, team software development, and the application of engineering tools. The course will combine a strong technical focus with a project providing the opportunity to practice engineering knowledge, skills, and practices in a realistic development setting with a real client. Intended Learning Outcomes : Successful completion of this course should lead to the following learning outcomes : A- Knowledge and Understanding : A1) Know what is software engineering as a discpline and how it is related to the other discplines. A2) Understanding of different software processes and how to select the right process to project in hand. A3) Know the different software systems and their specialised features. A4) Gain a general knowledge of software project management, software qualities, software tools. A5) Understand and respect the professional standards of ethics expected from software engineer. A6) Gain knowledge of software requierments, their types, how to elicit them, and how to document them. A7) Explore students capabilities in project management. A8) Gain knowledge of software testing strategies. B- Intellectual Skills: B1) Developing skills in software process and the ability to distinguish between them and there uses. B2) Relating the knowledge of wide range of software models with the software engineering applications available. 1 B3) Organizing different types of plans for small scale software projects. B4) Making engineering tradeoffs based on qualities and resources. C) Subject Specific Skills: C1) Organise different types of plans for small scale software projects. C2) Elicit requirements from a client, organise them, and document them. C3) Decide on qualities required for different applications, software process to use, system design including principled choice of a software architecture. C4) Develop and analyse fine grain projects using different components. D) Transferable Skills: D1) Working individually and in a team. D2) Putting software process into practice and demostrate working to multiple deadlines. D3) Communicating with clients and team members. Course Contents : Week 1 2 3 4 5 Topics Topic Details Introduction to Software Engineering - The Evolving Role of Software. - Software Characteristics and Applications. Software Crisis and Myths. - Quality attributes of good software systems. Introduction to Software Engineering - Cont. Quality attributes of good software systems. - Software Engineering: definition, processes, models and methods. Professional and ethical responsibilities. Waterfall Development Model. Spiral Model. V Model. Evolutionary Software Process Models- Exploratory. Cont. Evolutionary Models – Throw away prototyping.. Component-Based Development Model. Formal Development Model. Software Process Activities: RE, design, implementation, testing, and evolution. Computer-Aided Software Engineering (CASE) Management Activities Team Organization. Project Planning. Software Process Models Software Process Models Software Project Management Reference (chapter) Chapter 1 Chapter 1 7+8 9 Quiz in Chapter 1 Chapter 4 Chapter 4 Assignment #1 Chapter 5 Presentation First Exam 6 6 Assessment Software Project Management Software Requirements Engineering Requirements Engineering Processes Project Scheduling Project Scheduling and Tracking. Risk Analysis and management. RE: definition and context. Functional and non-functional requirements User requirements System requirements The software requirement document Feasibility study Requirements elicitation and analysis 2 Chapter 5 Quiz in Chapter 5 Chapter 6 Assignment #2 Chapter 7 10 Requirements Engineering processes Requirements validation Requirements change management Requirements documentation – use cases and UML. Chapter 7 11 Quiz in Chapter 7 Second Exam 11+12 13 System models System models 14+15 Testing 16 Context Model Behavioural Models Data models Object models Structured Methods Data models Object models Structured Methods System testing Unit testing Acceptance testing Test case design. FINAL Chapter 8 Assignment #3 Chapter 8 Chapter 23 EXAMINATION Case study W EE K Course quality improvement : From the market and new subjects in the field. From the monitoring of students feedback (Evaluation sheet). Grade Distribution : Assessment - First Exam - Second Exam Grade 20% 20% Assignments ( Reports /Quizzes/ Seminar / Tutorials ….) 20% 40% Date TBD TBD TBD TBD - Final Examination * Make-up exams will be offered for valid reasons. It may be different from regular exams in content and format. Reading List: Text Books [1] Software Engineering, 8th Edition, Sommerville, Ian, Addison Wesley, 2007. Other References [1] Software Engineering: : A Practitioner's Approach- European Adaptation. By R. S. Pressman and I Darrel, McGraw Hill, 2004. [2] Software Engineering: Theory and Practice. By S. L. Phleeger, Prentice Hall, 1998. [3] Software Engineering an Engineering Approach. By J. F. Peters and P. Witold, John Wiley and Sons, 2000. [4] Fundamentals of Software Engineering. By C. Ghessi and M. Jazayeri, Prentice Hall, 2003. [5] Software Engineering Fundamentals. By A. Behferooz, Oxford University Press, 1996. [6] Software Engineering with C++ and Case Tools. By Michael J. Pont, Addison Wesley, 1996. [7] Introduction to the Teem Software Process. By Humphrey Watts, Addison Wesley, 1999. Last updated on 21/2/2012 by: Dr. Marwan Alseid 3
© Copyright 2024 Paperzz