Introduction to Software Engineering 1302281

advertisement
Short desc-SE
1
Introduction to Software Engineering
1302281
Pre-Requisite(s) : 1301201
: 3 (3 Lectures, 0 Laboratory)
This module provides an overview of engineering as a discipline; the module introduces student to
the fundamental principles and methodologies of a software engineering. It covers basic knowledge
about software processes. It provides minimum prerequisite knowledge for more detailed and
specialized study of software engineering. Students gain experience, via a team project, about lifecycle development of software systems.
Field Training
1302369
Pre-Requisite(s) : Passing 80 Credit Hours
: 3 (0 Lectures, 6 Laboratory)
The course lasts for 6 weeks (total of 240 working hours) to cover the summer semester of the third
year during which students will undergo a practical training at an approved private, government or
semi-government agency. The objectives are to expose students to real working environment and get
them acquainted with the organization structure, business operations and administrative functions ,to
have hands on experience in their related field so that they can relate and reinforce what has been
taught at the university and to let students learn how to interact effectively, efficiently and
professionally with others. During the placement the department assigns an academic staff as the
placement Tutor for each student. The recommended number of formal meetings between the student
and the tutor is at least once a week. The purpose is to help the placed student whenever possible, to
liaise with the company or agency and provide continuous assessment of the trainee. The field
supervisor will be also asked to fill out reports on student attendance, motivation and performance. At
the end of the training period the student must submit a final placement report to the department for
assessment and must also present his work achievements in front of an examining committee formed
by the department for that purpose.
Requirements Engineering
1302382
Pre-Requisite(s) : 1302281 + 1301203
: 3 (2 Lectures, 2 Laboratory)
The Software Requirements course includes knowledge concerned with establishing a common
understanding of the requirements to be addressed by a Software Project. It includes methods
techniques and tools associated with the elicitation, analysis and modeling, specification, review and
management of software requirements. Students are given hand- on – practice using selected case
studies and a team or individual project to correct, prototype, model, specify and verity requirements of
a mid- sized Software Project.
Project Management
1302383
Pre-Requisite(s) : 1302281
: 3 (2 Lectures, 2 Laboratory)
The Software Project Management Course addresses issues involving the creation, development and
maintenance of software Projects. This area includes team and project management, project planning,
project schedules and cost estimation models, risk analysis, project a divines tat on and configuration
Management.
Software Design and Construction
1302386
Pre-Requisite(s) : 1302382
: 3 (2 Lectures, 2 Laboratory)
This module covers knowledge about principles, methods and techniques for describing how a
Software Product will be implemented so that its requirements are satisfied. This includes methods,
techniques and tools associated with architectural and component design with an emphasis on Object
Oriented methods, the design process and the design documentation, and review, user Interface and
Short desc-SE
2
data design. The course also examines issues, methods and techniques associated with constructing a
software product, the impact of this process on long term Software maintainability and evolution.
Human Computer Interaction
1302452
Pre-Requisite(s) : 1302382
: 3 (3 Lectures, 0 Laboratory)
The course focus on giving advise on human factors and key issues underlying the iterative process
of user interface design, an effective development approach and technology fundamental to user
interface implementation.
Component- Based Software Engineering
1302481
Pre-Requisite(s) : 1302386
: 3 (2 Lectures, 2 Laboratory)
The Course Focuses on an approach to software development based on extensive use of pre- existing
standard (or customizable) components. It also illustrates how a repository of reusable candidate
components can be integrated into a typical evolutionary process model.
The Component- based Software Engineering process involves identifying candidate components,
qualify each component interface, adapt components to remove architectural mismatches, assemble
components into a selected architectural style and update components as requirements for systems
change.
Software Testing and Quality Assurance
1302484
Pre-Requisite(s) : 1302386
: 3 (2 Lectures, 2 Laboratory
This Module introduces various methods, techniques and tools for testing Software Systems, Students
learn how to model test purposes, experiment and test hypothesis, Perform various level testing using
different testing techniques, use metrics to establish conformance to system design requirements, test
specialized classes of software applications. The course also looks at how software quality assurance
are performed and how software process improvement is maintained in order to assure the highest
possible quality and reliability.
Software Maintenance and Re-engineering
1302485
Pre-Requisite(s) : 1302386
: 3 (3 Lectures, 0 Laboratory)
The course addresses the knowledge and techniques necessary to enhance, perfect and modify
software overtime. It covers the issues of software maintenance, extensibility, and software
adaptability to different environments, as well as, Software re- engineering process, such as reverse
engineering and restructuring, how legacy systems can be assessed to decide if they should be
scrapped, maintained, re-engineered or replaced. Finally the destruction between Software reengineering and data re- engineering is demonstrated.
Formal Methods
1302488
Pre-Requisite(s) : 1302386
: 3 (2 Lectures, 2 Laboratory)
This course explores different topics in this research area, including mathematical tools (such as logics,
and property languages), formal modeling of computer languages and systems, and techniques used for
automatic model checking of such systems.
Graduation Project
1302489
Short desc-SE
3
Pre-Requisite(s) : Passing 90 Credit Hours.
: 3 (1 Lectures, 4 Laboratory)
The final year project gives the student the opportunity to apply knowledge acquired in the early
years. It aims to develop and measure the capabilities of a student to analyze and solve complex
problems. Projects are assigned on a team basis, and are normally proposed by lecturers of the
department. However, a student may propose a topic or an area of his/her own research interest.
Projects should be problem oriented relevant to the program of study. Students are encouraged to have
some original contribution. Each Team will be assigned a supervisor who is in charge of the entire
project. In this part of the project the student is expected to develop the skills in gathering information,
analyzing and specifying problem requirements. A literature survey and initial plan is written up by the
middle of the semester and a requirement specification document is submitted by the end of the
semester. A final oral representation before faculty members is given for assessment and to suggest
modifications. It covers the design and implementation phases of the project started in 1301480. The
design document is to be submitted and reviewed by the supervisor by the middle of the semester. A
final design and implementation report is submitted and an oral presentation including a public demo is
evaluated by a committee of faculty members.
Software Agents
1302388
Pre-Requisite(s) : 1302281
: 3 (2 Lectures, 2 Laboratory)
This course involves: types of software agents (mobile agents & stationary agents), agent systems,
agents models, agents communication, agents messaging, collaboration of agents, agents design
patterns, programming of agents, sample applications of agent design patterns.
Web Based Design
1302430
Pre-Requisite(s) : 1302386 + 1303236
: 3 (2 Lectures, 2 Laboratory)
This subject gives students exposure to more advanced methods and technologies required for
Web page development. Designing large-scale web sites. Web site organisational frameworks:
grouping content, using hierarchies, modelling a site's structure, common page types. Principles of
visual design: visually reflecting the organisational framework, visual design for page elements, page
layouts. Dynamic page design with scripting. An overview of an object oriented scripting language.
Client side scripting: scripting language structure and syntax, scripting events and using event
handlers, creating objects and using built-in objects, objects and navigation, dynamic HTML and
browser objects. Applications for scripting in animation, data validation, data persistence and user
interaction. XML overview. XML Schemas: using Document Type Definitions and XML Schema
language.
Intelligent Intelligent-Based Knowledge System Design 1302441
Pre-Requisite(s) : 1301310 + 1302386
: 3 (2 Lectures, 2 Laboratory)
Intelligent Systems topic involves: introduction to AI, Rule-Based Expert Systems, Rule-Based
Reasoning Systems, Problem Solving Techniques, Natural Language Processing (NLP), Intelligent
Knowledge-Based Systems, Learning Systems, Intelligent Agent Systems, Case Studies & Sample
Applications.
Real- time and Embedded Systems
1302483
Pre-Requisite(s) : 1303350
:3 (2 Lectures, 2 Laboratory)
The Course introduces Students to the notion of real- time and embedded system, their requirements,
design principles, techniques and tools, describe some generic real- time system architecture. The
Short desc-SE
4
Course gives students an might into the concept of real- time and embedded systems, why real time
systems are usually implemented as a set of concurrent processes, role of real- time executive, common
architecture for monitoring and control of, data acquisition systems.
Special Topics in Software Engineering
Pre-Requisite(s) : Dept. Approval
1302490
: 3 (3 Lectures, 0 Laboratory)
This course covers selected topics in current research and recent developments in the Software
Engineering field. Content may vary each offering or may be repeated.
Download