





























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The requirements and object representation for advanced software paradigms as presented in the book by a. Bellaachia. Functional, non-functional, design, and implementation requirements, as well as reference architecture models, configuration decision diagrams, and component interface descriptions. It also includes details on file, edit, interface, and edit image subsystems, and various functions and objects related to each subsystem.
Typology: Study notes
1 / 37
This page cannot be seen from the preview
Don't miss anything!






























1. Objectives - Engineers often draw annotated diagrams of components and the relationships between them to describe the high-level design or architecture of a system. We seek to make this intuitive notion of an architecture more rigorous by defining precise meanings and notations for such specifications. - Reuse of source modules alone cannot achieve dramatic reductions in cost and schedule, since coding and unit testing typically account for only 10-20% of the overall software life cycle effort. - Architecture-based analysis coupled with rigorously defined module interface conventions can lead to significant reductions in defects and reductions in risk and in the overall life cycle costs can by a factor of 3 to 10.
4.1. Domain model
4.2. Reference Requirements
9 Functional requirements, 9 Non-functional requirements, 9 Design requirements, and 9 Implementation requirements.
9 The architectural style will affect the performance, development cost, and the interfacing style of the corresponding components of the system. 9 The user interface style can be divided into three broad categories: command- line, menu driven, pull-down menu driven user, and web-based interfaces.
9 Constraints are the ranges of parameter values, relationships, and component attributes. 9 The rationale is the retrospective "lessons learned" based upon using the reference architecture in development of applications. Constraints are the system guidelines.
5. Case Study [Gary A. Curry et al.]: A Graphical Editor domain. - The graphical editor provides the user an interface to manipulate shapes, lines, and text in order to graphically represent objects, data, and relationships between them. - The graphical editor domain includes the ability to create Data Flow Diagrams (DFD), structure charts, Entity/Relationship (ER) diagrams, state transition diagrams, as well as, numerous other types of design and architecture graphical modeling documents. - The user needs to be able to show relationships and behavior by drawing multiple line types and arrows to connect these objects, and the editor must be able to support the insertion of text onto objects and corresponding lines to describe their functionality. - The user should be able to create, delete, and move the lines in the document, and the ability to save or open a file is vital. - Also, it is necessary to provide the option to output to a printer. - In a more advanced version of a graphical editor, the support of color coding objects and lines should be available; further, the ability to create custom objects and relationships to better describe the user’s information modeling. - Some versions may also support the option of animation to show flow, and thus, improve the understanding of the objects. - The editor should be able to handle image types of various formats such as PICT, RTF, SYLK, MIF, JPEG, GIF, BMP, TIF, and ICN to allow distinct products to interact by data interchange.
5.1. Reference Requirements for the Domain
9 selector arrow - select a graphical object on screen; targets object for application action 9 ruler - displays a ruler on the screen xy borders; vertical and horizontal measurements 9 inches - displays the dimensions on ruler in inches 9 centimeters - displays the dimensions on the ruler in centimeter 9 background grid - background of user screen is of grid type such as xy plane; allows for more precise depiction of images 9 grid spacing - provides a method of changing the background grid spacing 9 snap to grid - locks image onto background grid system as a graphical object is dragged across the screen 9 grid lines – indicates the vertical and horizontal background grid with dotted lines 9 grid minor dots – indicates incremental positions between grid lines
5.1.2. Variable Functional Requirements
9 triangle image - draws a triangle on grid system; object representation 9 line image - draws a line on the grid system; object representation 9 line arrow image - direct function call; shows image referencing on screen 9 dash arrow image - asynchronous call; dashed arrow image 9 parameter arrow image - smaller and shorter arrow image used to show direction of parameter being passed between graphical objects 9 sticky arrow - arrows connecting graphical objects will reposition themselves in accordance with object location as objects are edited 9 filled parameter arrow image - used to represent data couple 9 unfilled parameter arrow image - used to represent control couple 9 various arrow head(s) - variations on the type of pointers on the arrow 9 sharpen - sharpen the quality of the image 9 smooth - smooth the image 9 rotate - rotate the image; clockwise or counterclockwise 9 invert - invert the image; flip 180 degrees 9 RGB controls - three slider bars for controlling the color scheme 9 mirror - mirror the image 9 left-right justify - justify the image according to margins 9 various baseline symbols - used to show such properties as aggregation and inheritance 9 iterative function - recursive type graphical object(square with arrow returning to itself) 9 module - graphical object with double borders to denote a module, possible complex 9 data store - graphical object used to represent a type of data store 9 external entity - graphical representation of an external person, place, or thing
Subchart A:
Subchart B:
Subchart C:
Subchart D:
5.2.2. Stable Modules
9 edit image subsystem – controls all user requests of edit image options by calling the appropriate edit image module to fulfill the request. 9 edit image - provides "handles" on the selected image object, allowing the user to insert, delete, modify the image 9 edit arrow subsystem - controls all user requests of edit arrow options by calling the appropriate edit arrow module to fulfill the request. 9 interface subsystem – controls all user requests to change the current interface by calling the appropriate interface module to fulfill the request. 9 selector arrow - provides a method for graphical object on screen allowing the user to select objects for application action. 9 ruler - displays a ruler on the screen xy borders, providing a visual interface of vertical and horizontal measurements. 9 inches – a method to display the dimensions on ruler in inches. 9 centimeters – a method to display the dimensions on the ruler in centimeter. 9 background grid - provides a background of grid type such as xy plane of user screen is, allowing for precision placement of objects. 9 grid spacing - provides a method of changing the background grid spacing 9 snap to grid – a method which locks the image onto background grid system as a graphical object is repositioned on the screen, providing the freeing the user from having to pay close attention to the vertically or horizontal alignment of objects. 9 grid lines – draws the current background grid with dotted lines at each horizontal and vertical gridline. 9 grid minor dots – draws vertical and horizontal lines of dots on the screen to indicate incremental positions between grid lines.