Question:

What are the functional and non-functional requirements of an email system (eg. Yahoo Mail)?

by  |  earlier

0 LIKES UnLike

Hi there,

Just doing my computing assignment, and stumbled across this question; I've got some idea...

Can anyone help me with this one? I have to answer the question using use cases... It also says that i've got to break the system up into at least 2 levels to get the marks? Any one have any idea?

Thanks in adv!

 Tags:

   Report

1 ANSWERS


  1. This is tricky.  You could answer those questions in a paragraph, or you could answer them in a series of 600-page books.  Ideally, to give you a good reply, you'd probably have to better convey the scope and intent of the question.

    The bare bones are:

    - Must be capable of receiving incoming email

    - Must provide users with an interface to access email that arrives

    - Must provide users an interface to send emails

    Beyond that, there's such a monstrous pile of "should haves" that it very quickly gets difficult to categorize.

    For instance, you probably want your email system to distinguish between users on the system.  So incoming emails to "bob@myemail.com" should go to an area reserved explicitly for "bob", and not get mixed in with emails to "judy@myemail.com".  But really? You COULD have an email system without that requirement.  It'd just be the most horrific email system ever, since it probably would allow users to see each others' mail.  But on the other hand, it doesn't NEED to.  If you were running a small 1-man operation, and wanted all your incoming email to get slopped into one big pile with no thought for expansion or organization, that system might work just fine for you.  It'd be like the honor system or something.

    So you probably also want things like:

    - distinguish between mailboxes

    - store incoming email distinctly according to mailbox

    - security against reading incoming mail (before going to a mailbox)

    - security restrictions for reading mailboxes

    - security restrictions for sending email (can't send as someone else)

    - security against reading outgoing mail (leaving the system, or within the system)

    - ability to receive email 24/7 (a server that's always on and connected to the network)

    - interpret email message content (attachments, headers, etc)

    - store email messages that have been sent

    - provide an interface for users to view sent email

    - store incoming email messages that have been read

    - provide an interface for users to view already read email

    Then we get into the nice-to-haves that have been around for decades:

    - Allow a shortcut for users to forward emails

    - Allow a shortcut for users to reply to emails

    - Allow users to send emails to multiple users (cc)

    - Allow users to send emails with hidden send lists (bcc)

    - Allow users to add file attachments to their outgoing email

    - Interpret URLs and other dynamic content (display images, HTML, etc)

    - Allow users to search their mailbox based on various criteria

    - Allow users to categorize their mailbox (family/work/bills/etc)

    - Allow users to sort their mail according to various criteria

    - Prevent spam messages from reaching users (ok, this hasn't really been around for multiple decades so much)

    Some of these are functional (most), some are non-functional.  There's also non-functional things like "should be capable of handling X email messages" or "should have backup capabilities", but I haven't even gotten into those.

    In short, you really COULD write a book on this stuff, if not several.  Hope this gives you a starting point, at least, though.

    DaveE

Question Stats

Latest activity: earlier.
This question has 1 answers.

BECOME A GUIDE

Share your knowledge and help people by answering questions.
Unanswered Questions