<< Chapter < Page Chapter >> Page >
This is the syllabus of the Software Engineering course.

Description

Software engineering is a very broad field. It encompase virtual everything a person might want to know in order to develop software - software that is correct, on time, and on budget. Most other computer science courses emphasize the technical foundations of software development, such as programming, algorithms, data structures, languages, etc.

This course focusses on the pragmatic aspects, such as requirements analysis, cost estimation, design, team organization, quality control, configuration management, verification, testing, and maintenance. Students work in teams on projects for real clients. This work includes a feasibility study, requirements analysis, object-oriented design, implementation, testing, and delivery to the client. Additional topics covered in lectures include professionalism, project management, and the legal framework for software development.

This course is compiled from documents of MIT OpenCourseWare, the Connexion project of Rice University, and from free online courses and documents such as

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

(External Link) ,

and etc…

We have arranged their contents to create a complete course. We hope it will be useful to study Software Engineering.

Course objectives

Theory, the students have

  • got an overview of software engineering,
  • got a survey of the history, ethics and risks of software engineering,
  • understood various approaches and methodologies used in different phases of software development lifecycle, including requirements analysis and pecification, software design, software construction, software maintenance, and software process.

Practice

  • students will execute a real software engineering project,
  • students can apply that knowledge in their future research and practice.

Prerequisites

The formal prerequisites for this course are Programming Languages (C/C++, Perl, Java, .Net,…), Data Structures and Algorithms, and Database Management Systems.

The following are the specific capabilities you will need from the prerequisite courses:

  • experience with the software development process
  • skill in independent programming and problem solving
  • skill using an object oriented language
  • mathematical maturity, including at least:
    • methods of proof: induction, cases
    • elementary formal logic: working with formulae using logical connectives, quantifiers, modus ponens, implication, satisfaction
  • finite state machines: state diagrams, state tables, reachability
  • formal languages: BNF, regular expressions

Organization

Class sessions will be a combination of lecture and seminar formats. We'll cover the course's primary topics in these sessions, with reading and homework assigments that provide opportunities to gain a deeper understanding of the underlying issues and techniques of software engineering. Actual labs and software development projects will provide a hands-on approach to exploring these topics throughout the semester. Given that this is a 3 credit course, it is expected that you will spend an average of 10 hours per week (including in-class and lab time) on the course and related material for the duration of the semester.

Readings

Here are some general books on software engineering:

  • Sommerville, Ian, Software Engineering, Eighth Edition, Addison-Wesley, 2007.
  • Frederick P. Brooks, Jr., The Mythical Man Month, Addison-Wesley, 1972.
  • Pfleeger, Shari Lawrence, Software Engineering Theory and Practice, second edition, Prentice- Hall 2001.
  • Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns and Java, Second Edition, Prentice Hall, 2004.

Grading plan

Since software engineering is a broad subject matter, mastery of the topic as covered by the scope of our course can be manifested in a variety of ways. Your grade in the course will be based on your achievement of the course objectives as demonstrated in your homework assigments, programming deliveries, and participation in class discussions.

Course component grading weight :

  • Exercises: 40%
  • Group Software Project: 50%
  • Participation: 10%

Schedule

Week/Session Topic Reading
Week 1 Introduction Software Engineering; Ian Sommerville; Eighth Edition; Chapters 1, 2, 3. The Mythical Man Month; Frederick P. Brooks
Week 2 Software development process Software Engineering; Ian Sommerville; Eighth Edition; Chapters 4
Week 3 Requirements analysis Software Engineering; Ian Sommerville; Eighth Edition; Chapter 6
Week 4 Discussion on assignment #1
Week 5 Software Design Software Engineering; Ian Sommerville; Eighth Edition; Chapters 11, 14. Object-Oriented Software Engineering Using UML; Bernd Bruegge and Allen H. Dutoit
Week 6 Software construction Software Engineering; Ian Sommerville; Eighth Edition; Chapters 17, 18
Week 7 Software Testing Software Engineering; Ian Sommerville; Eighth Edition; Chapter 23
Week 8 Discussion on assignment #2
Week 9 Software Maintenance Software Engineering; Ian Sommerville; Eighth Edition; Chapter 21
Week 10 Software configuration management Software Engineering; Ian Sommerville; Eighth Edition; Chapter 29
Week 11 Discussion on assignment #3
Week 12 Software quality management Software Engineering; Ian Sommerville; Eighth Edition; Chapters 27, 28
Week 13 Software engineering management Software Engineering; Ian Sommerville; Eighth Edition; Chapters 14, 15, 16. Software Engineering Theory and PracticePfleeger; Shari Lawrence
Week 14 Assignment #4
Week 15 Summary of principles of instruction, learning and project Course evaluation

Suggestions for success

  • Make sure you know what you want to get out of the course before you get very far into it; there are lots of directions to go in, and having a focus will help to inspire you
  • Update your journal often; use it as a tool to develop / explore ideas and track your progress
  • Remember that the larger software development project is something to be considered throughout the semester; don't wait until the end!
  • Raise concerns early; if an assignment or milestone doesn't seem feasible, say so as soon as you can
  • "Work hard, learn lots, stay excited, and have fun." --Ray Ontko

Questions & Answers

A golfer on a fairway is 70 m away from the green, which sits below the level of the fairway by 20 m. If the golfer hits the ball at an angle of 40° with an initial speed of 20 m/s, how close to the green does she come?
Aislinn Reply
cm
tijani
what is titration
John Reply
what is physics
Siyaka Reply
A mouse of mass 200 g falls 100 m down a vertical mine shaft and lands at the bottom with a speed of 8.0 m/s. During its fall, how much work is done on the mouse by air resistance
Jude Reply
Can you compute that for me. Ty
Jude
what is the dimension formula of energy?
David Reply
what is viscosity?
David
what is inorganic
emma Reply
what is chemistry
Youesf Reply
what is inorganic
emma
Chemistry is a branch of science that deals with the study of matter,it composition,it structure and the changes it undergoes
Adjei
please, I'm a physics student and I need help in physics
Adjanou
chemistry could also be understood like the sexual attraction/repulsion of the male and female elements. the reaction varies depending on the energy differences of each given gender. + masculine -female.
Pedro
A ball is thrown straight up.it passes a 2.0m high window 7.50 m off the ground on it path up and takes 1.30 s to go past the window.what was the ball initial velocity
Krampah Reply
2. A sled plus passenger with total mass 50 kg is pulled 20 m across the snow (0.20) at constant velocity by a force directed 25° above the horizontal. Calculate (a) the work of the applied force, (b) the work of friction, and (c) the total work.
Sahid Reply
you have been hired as an espert witness in a court case involving an automobile accident. the accident involved car A of mass 1500kg which crashed into stationary car B of mass 1100kg. the driver of car A applied his brakes 15 m before he skidded and crashed into car B. after the collision, car A s
Samuel Reply
can someone explain to me, an ignorant high school student, why the trend of the graph doesn't follow the fact that the higher frequency a sound wave is, the more power it is, hence, making me think the phons output would follow this general trend?
Joseph Reply
Nevermind i just realied that the graph is the phons output for a person with normal hearing and not just the phons output of the sound waves power, I should read the entire thing next time
Joseph
Follow up question, does anyone know where I can find a graph that accuretly depicts the actual relative "power" output of sound over its frequency instead of just humans hearing
Joseph
"Generation of electrical energy from sound energy | IEEE Conference Publication | IEEE Xplore" ***ieeexplore.ieee.org/document/7150687?reload=true
Ryan
what's motion
Maurice Reply
what are the types of wave
Maurice
answer
Magreth
progressive wave
Magreth
hello friend how are you
Muhammad Reply
fine, how about you?
Mohammed
hi
Mujahid
A string is 3.00 m long with a mass of 5.00 g. The string is held taut with a tension of 500.00 N applied to the string. A pulse is sent down the string. How long does it take the pulse to travel the 3.00 m of the string?
yasuo Reply
Who can show me the full solution in this problem?
Reofrir Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask