SOFTWARE ENGINEERING 

               FALL  2003

 

 


Welcome to CS 421! This page will be used to post all relevant material

for this class, including web references, notes, home-works, midterm

and final specification, etc.

 

Overview:

       For an overview, check the course syllabus.  

Office Hours:

I will be in Room 435 an hour before classes.

      Note: it is always a good idea to send me a brief e-mail a couple of days in advance.

 

 Instructor’s e-mail

TA:

The TA for this class is Mr. Mahmoud Elish. Check his office hours here.

TA’s email  

 

To start, here are some interesting links:

 

  Free Lecture Notes on  Software Engineering

·        http://www-inst.eecs.berkeley.edu/~cs169/

·        http://www.ecestudents.ul.ie/Course_Pages/MEng_CS/Modules/EE6421/lecturenotes.htm

·        http://www.dur.ac.uk/cornelia.boldyreff/SESC/sesc.html

 

 

You can learn something about XP Programming here

 

 

09/11/03

This course's TA, Mr. Mahmoud Elish, has started his tutoring program on UML/Rational rose in ST2-137 on Mon., Wed, and Thr. from 2:00 to 3:00pm.
New topics will be covered every week. The topic of the week will be repeated in each of the three weekly sessions. A tentative schedule for the first couple of weeks is posted at the following URL:
  TA's LAB PAGE
NOTE: Though this tutoring is optional, I RECOMMEND that you attend it. It is free, and Mr. Elish is highly knowledgeable and willing to help you. Incidentally, you can also visit him at the same hours for questions concerning course material

FIRST HOMEWORK BATCH

Your first homework batch consists of the first 3 homeworks, as listed in the Syllabus page (Please read below for your Lecture 3 task). You are supposed to hand it in at the beginning of Lecture 4 in typewritten copy(as for UML diagrams, for this time you can draw them by hand in a readable fashion). Try to answer the questions with minimal amount of words, while of course saying whatever you think is relevant.

Your first UML task ( homework for Lecture 3) is similar to what we did in class last time: You must document a STUDENT COURSE REGISTRATION SYSTEM. This includes
1) use-case diagram
2) class dependency diagram
3) a sequence diagram ( the "time" diagram showing interactions during lifetime of the entities involved)
Provide each diagram with a very short and concise explanation. The class diagram should only describe top-level classes: in other words, it should provide only a first Design description of your system.

For questions, feel free to write to me. See you in class next Lecture.

THE PROJECT (DUE THE LAST LECTURE BEFORE THE FINAL: ABSOLUTELY NO DELAYS ACCEPTED)

GROUP 1

  1. Lowery slowery@gmu.edu
  2. Vloten JVillane@gmu.edu
  3. Terkhorn cterkhorn@gmu.edu
  4. Quach tquach@gmu.edu
  5. Anderson jandersb@gmu.edu

GROUP 2

  1. Shepelev kshepele@gmu.edu
  2. Albone dalbone@gmu.edu
  3. Habte thabte@gmu.edu
  4. Nasal cnasal@gmu.edu
  5. Woodbery ?@gmu.edu

GROUP 3

  1. Kunath skunath@gmu.edu
  2. Iqbal tiqbal@gmu.edu
  3. Nunns knunns@gmu.edu
  4. Trentacoste jtrentac@gmu.edu
  5. Alami oalami@gmu.edu

GROUP 4

  1. Zimmerman mzimmerm@gmu.edu
  2. Kawicki ckaweck1@gmu.edu
  3. Powers wpowers1@gmu.edu
  4. Cimarelli ?@gmu.edu
  5. Marney jmarney@gmu.edu

GROUP 5

  1. Barton gbarton@gmu.edu
  2. Andreani fandrean@gmu.edu
  3. Murphy mmurphyc@gmu.edu
  4. Abbar ?@gmu.edu
  5. Ledbetter bledbet1@gmu.edu
  6. Williamson jwilli3@gmu.edu

Note: Please make sure that your gmu e-mail is valid.
Also, I do not have yet the address of some individuals

GUIDELINES


Let me summarize what I have said in class. In this project you are asked to build a Web-Based Search Engine for a public library. You assume that the library has already a version of all its books and articles in electronic format (they can be in a variety of text format: .txt, pdf, ps, word, etc.). These e-texts are placed in a directory system that mimics the classification system of the library (so, for instance, an e-version of a book of Electrical Engineering will be in the Electrical Engineering subfolder of the Engineering folder, and so on).
Your task as a Team is to gather the requirements and then to design a Search Engine that will enable users to quickly search for key words in a web form and retrieve a list of paths to documents containing those words. If the user wants, he/she can then click on the link and actually read the document on-line and/or print it.

WHAT YOU ARE SUPPOSED TO DELIVER

    STEP1: REQUIREMENTS
    At this stage, you are supposed to describe the entire requirement process, including feasibility study, project stakeholders and their requirements, potential requirements conflicts, etc. (try to be realistic and sufficiently specific) Follow chapters 5 & 6 of Sommerville's book. At the end of this section you must add the Software Requirements Documents, as outlined at page 118 of Sommerville's .
  1. STEP2: DESIGN
    In step 2, you must play the Architect of your solution: produce several UML diagrams describing the overall architecture of the system, its main components, the top-level classes involved (also use CRC cards, see page 271 ) as well as their interaction. Also include specification of languages, platforms and technologies involved in the effort.
  2. STEP3: CODING ISSUES
    You are NOT supposed to implement this system (this is not a programming class). Therefore, at this step, I am just happy if you shortly describe coding & code documentation style guidelines, that all your programmers will follow. Also, specify when and how you will perform code reviews.
  3. STEP4: TESTING
    In this step you should write a document that describes your testing strategies and a list of test-cases you will perform to validate your system (see chapt 20 )
  4. STEP5:
    In the last step, you will write a short document investigating potential hazards for the system, how likely they are and how to tackle them (what kind of measures you will put in place to ensure that the system will not collapse in critical circumstances). Follow sections 17.2.1, 17.2.3, 17.2.4

If you have any questions on the Project, do not hesitate to contact me via e-mail: Good Work!