- The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
-
Projects:
Project #4, Project4HelpF2018
The links below provide helper code for Project #4-
Prototype GUI for Project #4
(PrototypeGui-SMA-Pr4)
Navigates to local folder, has analyze button. You need to navigate to remote folder and enable remote analysis. -
GUI for remote navigation
(NavigatorClientAndServer)
Shows how to navigate to remote folders, using communication commands. -
Create Process
(SpawnProc)
Shows how to start an application in a new process. -
WCF Communication Channel
(CsMessagePassingComm)
Prototype for Project #4.
Project #3 Grades -
Prototype GUI for Project #4
(PrototypeGui-SMA-Pr4)
-
Code Analyzer Structure
-
Repository - prelude to Software Structure
Repository Concept:- Control current baseline
-
manage package dependencies where the root of a dependency tree may be:
- Any component, e.g., System, Program, or Module
- A "pseudo component", e.g., a parent of all orphans, or all leaves in dependency graph
- A parent of a namespace.
- May also be the parent of a category, e.g., reusable, GUI, library, ...
-
browse the current baseline
-
queries - show packages owned by some Root, either as a group, or as a sequence that can
be browsed, one-at-time.
- show collections of all Namespaces or all Systems
- show all packages in Namespace or System or Program or Module
- show subsets of the above in a time interval, from a specified set of authors, by date of last test, etc.
-
queries - show packages owned by some Root, either as a group, or as a sequence that can
be browsed, one-at-time.
-
disclose state of current baseline
- Code not passing all tests
- Code not meeting code standards
- Open check-ins
-
most volatile modules and packages
- most volatile testing
- most volatile check-in of new versions
- Concurrent file access
- Ease of use
- Flexibility
Pluggable Policies: Concept: Make it easy to configure Repository to support Team's way of doing business.- Ownership
- versioning
- Check-in and Check-out
Agents Concept: Make using repository significantly easier for human users.- Extracter - support dependency based extraction, only need to cite root file.
- Viewer - support browsing repository, showing descriptions from metadata.
- Dependency Analysis - build metadata from source code using type-based analysis.
- Check-in checker - report open check-ins.
- Test results notifier - report failed tests to all dependers.
-
Software Structure
Software Structure Research, pptx Software System Structure, pptx .Net Software Structure, docx Call Performance, docx Components, Loosely-coupled systems, Partitions, Delegation Mediator based Dispatcher:
Mediator-based Communicators, Class Diagram, Object Diagram
Active Objects
This flexible design for server functionality is more than needed for Project #4.The world's most extensible software system, pptx Wikipedia - Dependency Injection
Wikipedia - MVC
MVC to Unit Test
Wikipedia - N-Tier
Wikipedia - Stateless Server
Wikipedia - HTML Form
Wikipedia - Asp.Net
Wikipedia - Ajax