230 likes | 358 Views
SW-PHASE 3 . Simple explanation for what we will submit. SW design. In this phase we will design the software of E-student notebook Software design phase contains: Architectural design Data Design Component Design Interface Design. Architectural design.
E N D
SW-PHASE 3 Simple explanation for what we will submit
SW design • In this phase we will design the software of E-student notebook • Software design phase contains: • Architectural design • Data Design • Component Design • Interface Design
Architectural design • The design process of identifying the sub-systems making up a system and establishing a framework for sub-system control and communication. • An early stage of the system design process. • Represents the link between specification (requirements engineering process) and design processes.
1- Architectural design • It involves identifying major system components and their communications. • The software architect must make decisions about: • System organization style • Strategy for decomposing sub-systems into their components or modules • How the execution of sub-systems is controlled
1.1 System organization style • Client-server organization style • Shared data repository style • Layered architecture style • Different parts of the system may be designed using different architectural styles.
1.2 Strategy for decomposing sub-systems into their components or modules • An object-oriented decomposition model where the system is decomposed into interacting objects • A Function-oriented pipelining (or data-flow model) where the system is decomposed into functional modules that accept input data and transform it into output data.
1.3 How the execution of sub-systems is controlled • Centralised control One sub-system has overall responsibility for control and starts and stops other sub-systems. • Event-based control Each sub-system can respond to externally generated events from other sub-systems or the system’s environment.
2- Data Design • ER • Database Schema • Data Dictionary
2.1 EXAMPLE: ERD for Staff View of DreamHome supervisor supervise (0,*) STAFF register BUSINESS OWNER (0,*) supervisee (0,*) (1,*) (0,100) manage BOwn (0,1) (1:1) (0,1) PROPERTY views CLIENT (0,*) (0,*) POwn (0,1) (0,*) (0,*) (1:1) associate hold state (1,*) (1:1) (1:1) PRIVATE OWNER LEASE PREFERENCE (1:1) Lilac Safadi Conceptual DB Design
2.2Relation Schema STUDENT Dept StudentNo LName FName Initial DOB GPA 4170010 Al-Saleh Amal M. 04-06-78 3.91 D001 4182000 Al-Ghanem Nora A. 4.20 D001 02-12-79 4182034 Al-Fahad 01-11-74 Laila A. 4.01 D002 Saod 4188134 Amal F. 22-04-73 3.01 D003 4189860 Rashed Rana I. 2.31 D001 30-01-78 STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept) We will do same as this for all relations we have =) Lilac Safadi Relational Model
2.3 Data Dictionary for Staff View Showing Description of Relationships Entity Name Multiplicity Relationship Entity Name Multiplicity Staff 0..1 Manages PropertyForRent 0..100 0..1 SupervisesStaff 0..10 PropertyForRent 1..1 AssociatedWith Lease 0..* Lilac Safadi Conceptual DB Design
3- Component Design • If you use Structured System analysis: • DFD. • Pseudo-code.
3- Component Design • If you Use Object-Oriented: -Use case diagram. - Class diagram. - Pseudo-code.
3- Component Design • If you Use Object-Oriented: • I think Using OOP is much easier for us than DFDs specially with the help of eclipse using UML and Code Review :Enerjy the 1st will generate most of the code and the 2ed will validate it. With DFDs the probability of making mistake is huge this is what I think, TELL ME WUT U THINK ^^
EDRAW TOOLS • If you did not download eclipse or you don’t know how to create UML or DFDs • These are online tools to help you draw and do your part =) • http://www.gliffy.com/gliffy/ • http://www.smartdraw.com/specials/umldesign.asp • http://www.edrawsoft.com/Data-Flow-Diagrams.php
Pseudo-code Example <variable> = <expression> if <condition> do stuff else do other stuff while <condition> do stuff for <variable> from <first value> to <last value> by <step> do stuff with variable function <function name>(<arguments>) do stuff with arguments return something <function name>(<arguments>) // Function call
4- Interface Design • In this section, we want to see what the system is going to look like to the person who will be operating/using it. (Print screen for the main functions, error messages, etc…). • We could use Visual Basic .Net • Or Web design • Check the One Note for Microsoft office interface we should do something like it
For part 1 • ( Reem , Hayfa, Rawan, Farah, Hessah) • We should go out tomorrow morning in algara3awi at 9 am till I dunno we get tired • Bring ur laptops and charge them • If u can’t come let me know by a msg But plz we NEED to get it done together So try hard to come next morning Thank you ,