CIS 501: Software Architecture


Prepared by  William Hankley,  revised January 2005Descriptors for levels of achievement:
    Knowledge of ..... knows some appropriate vocabulary
    Understanding of ... knows concepts and can discussand compare features
    Experience with ...  has used tool, language,notation, etc.
    Proficiency ...   able to demonstrateconcepts and details through implementation , writing , or speaking.Short version:
0. (remedial) proficiency with Java programming:  common programstructure, naming conventions,
     application-model-view-controller structure,serialization, standard collections library,  about+help menus andwindows,
     reading text block.
1.  some proficiency  with software models using UML
1.a experience with user interface design
2.  some proficiency using IDE and CASE tools
3.  experience with object-oriented features and technologies,
4.  understanding of architeture for network based systems
5.  experience with techical journals and a small writingassignmentLong version:
1.  Software models:
    knowledge of:
        object constraint conceptsand notation;
     understanding of :
        rational  for softwaremodels,
        UML notation (diagrams foruse-case, class, scenario, state, deployment),
        domain (abstract) modelsvs implementation models,
        several common domain models( as POS,  appointments scheduling,  graph editor, warehouse,and others)
        correctness and qualityof software models,
        a few abstract patterns,such as: observer, visitor,  state, singleton, proxy, and others;
     experience with:
        building simple domainmodels(order of ten classes) ,
    proficiency with:
        scenario patterns for commonmethods as,
           creating, destroying objects,
           adding, deleting objects from collections,
           displaying and selecting objects.1a.  User interface design:
    knowledge of:
        guidelines for userinteraction;
    experience with:
        GUI state model prototype;
        GUI builders.2.  Tools:
     experience with:
        using CASE tools (as VISIO,  Poseidon );
        an IDE  (as JBuilder )
        beans properties,
 
3.  Object technologies:
     knowledge of:
        Java vs Microsoft objecttechnologies,
        patterns, wizards,templates,frameworks;
     understanding of:
        structure of object-orientedapplications ( default structure in IDE's),
        common implementationpatternsas
           standard collections,
           relations by index, key, reference, by pattern matching,
        use of beans and beanevents (e.g. using a calendar bean);
    proficiency in:
        project with UML model andJava implemention;4.   Other architectures:
    knowlege of:
        structure of networkapplications,clients, servers,
        RMI and Corba,
        architetures based on dataflow, rules, repositories,
5.  Writing skill:
    knowledge of:
        guidelines and format fortechnical writing
        techincal journals, such as: IEEESoftware, ACM Communications
    experience with:
        writing and evaluating asmall technical article


Department of Computing and Information Sciences - Kansas State University
Address: 234 Nichols Hall, Manhattan, KS 66506
Phone: (785)532-6350; Fax: (785)532-7353; Mailto: webmaster@cis.ksu.edu