Вы находитесь на странице: 1из 4

CS 590 Course : Project Assignment

Notes:
1) Required assignments are in BLACK color;
2) Optional assignments are in RED color;
3) Use tools (like UMLet, Microsoft Visio, Smart Draw, IBM Rational Software Modeler,
etc.) to draw diagrams (in BOLD appearance below) and figures.
4) Be concise and precise – no much textual information is required but a lot of diagrammic
information.

1. Situational Model.
1.1. You are a software engineer (software developer) in a software engineering and
development company.
1.2. Your company has been hired by another company – a non-SW client; they asked your
company to develop a Web-based software system of designated type. Select a real
company and real customer (if possible).
1.3. Goal of SW project: to engineer and develop a Web-based software application of
Client-Server type in accordance with Software Engineering theory.
1.4. Application Domain of a project: to-be-selected by student team and approved by course
instructor.

2. Customer’s System Requirements (as a result of a meeting with a client or a customer)


2.1. A statement of system’s need and feasibility (why somebody needs this system? what
are advantages of a new system?)
2.2. System’s Scope and Client’s General Requirements to:
- functionality (a list of about 10-15 main functions – what system should do),
- technical platform and environment to be used, including access to the Internet,
- operating system(s), types of computers or PDAs, etc.;
- user’s profile(s) with about 10-15 characteristics of a user;
- main constraints (limits) of the system– technology, funding (total cost), time of
development, etc.

3. Prescriptive SE Process Model to be used (Chapter 2).


3.1. Identify, justify and draw Software Engineering Process Prescriptive Model to be
used.
3.2. Search the Internet or available literature, identify and carefully analyze at least URLs
of at least 10 Web Sites that are similar to your project. “Do not reinvent the wheel”.
List those Web sites.

4. Understanding Requirements and Analysis Models (Chapters 5, 6 and 7).

4.1. User Scenarios, Use Case Diagram, :


- describe and write down User Scenario with at least 10 consecutive actions/steps
needed by user;
- create and draw Use Case Diagram with at list 10 actions/functions (actions) in it;
- create and draw Activity Diagram with at least 10 actions/functions in it (optional
– for extra points);
- create and draw Swimlane Diagram with at least 10 actions/functions in it
(optional – for extra points);
4.2. Data Modeling (Data Objects, Attributes, Relations, ERD):
- specify a list of at least 10 Data Objects required by the system and briefly
describe these objects;
- identify at least 7 Attributes for each data object;
- identify Relationships (i.e. Cardinality and Modality) between selected data
objects;
- create and draw Entity-Relationship Diagram (ERD) for selected at least 10 data
objects (entities) of your system.
- create and draw Class Diagram (with Class Name, Class Attributes/Properties,
and Class Functions) for selected at least 10 data objects (entities) of your system;

4.3. Functional Modeling (DFDs):


- Identify at least 10 Main Functions of your system and briefly describe these
functions;
- create and draw Context Data Flow Diagram (DFD) of your system (with only
one processing unit which is the main function of your system);
- create and draw Level 0 Data Flow Diagram (DFD) of your system with at least 5
system functions on Level 0).

4.4. Behavioral Modeling (STDs):


- identify at least 7 different stable states of your system;
- specify lists of legal Events and Actions for each system’s state;
- create and draw State Transition Diagram (STD) for 3 selected system’s states.

5. Software System Design Concepts and Models (Chapters 8, 9, 10 and 11).

5.1. Software System Architectural Model to be used:


- select, justify and draw Software Architectural Design Model to be used.

5.2. Software System Hierarchical Design Model:


- identify components of software system hierarchical model such as a) other
software systems that could collaborate with your software systems to-be
developed;
- for your software system, identify a) a list of subsystems (5…7…10), b) a list of
components/modules (5…7…10) for each subsystem, and d) a list of details
(7…10) for each identified component;
- draw various multilevel fragments (for various subsystems) of developed Software
System Hierarchical Design Model of your system;

5.3. Software System Hierarchical Graphic User Interface (GUI) Design Model:
- identify a list of system’s main users (such as end-user, administrator, etc.)
- identify user-related limits and constraints (for example, disabled users, users
younger than 18 years, any human factors considerations driven by environmental
factors,
- create and draw Hierarchical GUI Design Model of your system.
7. Software System Development Project Estimates (Chapters 26).
7.1. Provide LOC-Based Estimation of your software development project
7.2. Provide FP-Based Estimation of your software development project
7.3. Provide Use Cases-Based Estimation of your software development project (optional --
for extra points)
7.4. Provide Empirical Models-Based Estimation of your software development project
(optional -- for extra points)

8. A Quick (Rapid Application Development Model) Prototype of Software Product to be


developed. (CONDITION: NO previously developed (either by you or third party) pre-
coded software is allowed) *)
8.1. Create Graphic User Interface using one of available tools or languages.
8.2. Create Online Database (for example, MySQL on playground.bradley.edu)
8.3. Create a quick prototype of your Web-based software system using one of the Internet-
oriented programming languages such as Java, HTML, PHP, etc.
8.4. For example, in case of online database, your prototype should include:
- at least 3 tables with one-to-many relationships between them,
- at least 5 records in each table,
- at least 5 fields in each record,
- at least 3 different types of data in these fields, specifically, numeric (like, age), alpha-
numeric (like, address), and calculated control (like, GPA).
8.5. Test the prototype using Software Testing Strategy (unit tests, integration tests, etc.).
8.6. Make several screen shots of working prototype of your system.

*) Please attend a special training session on how to establish connectivity between


Graphic User Interface and online database at playground server (visit course web site
for date and time of that training session).

Microsoft Expression Web 3 Manual is available on course web site.

COURSE PROJECT MANDATORY and OPTIONAL DELIVERABLES:

1. Project Printed Report with Title Page, Table of Contents, Intro, Narrative, and
Conclusion sections. Requirements: in MS Word format, no greater than 20 pages,
with all build-in required diagrams and figures (in PDF format), by email to your
instructor by designated deadline.

2. Project Presentation. Requirements: in MS PowerPoint, about 15-20 PPT slides, by


email to your instructor by designated deadline.
Project presentation (about 15-20 minutes long) must be made in a classroom by each
student team; it will be peer-reviewed by experts.

3. Software System Prototype and Demonstration of engineered Web-based software


system of client-server type must be made by each student team (schedule of software
demos will be identified later).
CONDITION: NO previously developed (either by you or third party) pre-coded
software is allowed.

List of possible Project Domains:


1) Online University (like Capella Online University;
http://www.capella.edu/Default.aspx?ct=1&capella.com)
2) Online Library (like Bradley University online library at http://library.bradley.edu/)
3) Online Career Builder and/or Jobs System (like Monster.com, careerbuilder.com)
4) Online Hospital Appointment System (Methodist Hospital, Saint Francis Hospital, for ex.,
http://www.osfsaintfrancis.org/)
5) Online Classifieds System (like craiglist.com)
6) Online Airline Tickets Reservation System (like Delta.com, United.com, etc.)
7) Online Shopping system (like bestbuy.com, dell.com)
8) Online Hotel Reservation system (like Hilton.com, spg.com)
9) Online Vacation Reservation system (like expedia.com, orbitz.com, vacationstogo.com)
10) Online e-Business (ordering, delivery, maintenance, etc.) System (for companies like
Caterpillar)

Вам также может понравиться